@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Montserrat:100,200,300,400,500,600,700,800,900');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+KR:100,300,400,500,700,900&subset=korean');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&display=swap');

/*common*/

html,
body {
    /* height: 100%; */
}
html {
    font-size:10px;
}

@media (max-width:1000px) {
  html {
    font-size:8px;
  }
}

body {
    text-align: left;
    line-height: 1;
    font-family: 'Montserrat', 'Noto Sans KR', sans-serif;
    font-weight: 400;
    letter-spacing: 0px;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
span,
form,
fieldset,
p,
button,
address,
table,
tbody,
tfoot,
thead,
th,
tr,
tdvideo,
tt {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

header,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
hgroup,
menu,
main,
nav,
section,
summary,
mark,
time {
    display: block;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

input,
button,
textarea,
select {
    background-color: #fff;
    border-radius: 0;
    box-sizing: border-box;
}
input,
select,
textarea {
    display: inline-block;
    width: 100%;
    font-size: 1.8rem;
    border: 1px solid #cccccc;
    border-radius: 0;
    padding: 0 .75rem;
    box-sizing: border-box;
    color: #000000;    

}

/*-webkit-appearance: none*/

button,
textarea {
    -webkit-appearance: none
}

img,
fieldset,
iframe {
    border: 0 none
}

li {
    list-style: none
}

img,
input,
select,
button,
textarea {
    vertical-align: middle;
    box-sizing: border-box;
}

/* img {
    max-width: 100%
} */

em,
address,
optgroup {
    font-style: normal
}

label,
button {
    cursor: pointer
}

label {
    top: 2px;
    position: relative;
}

button {
    margin: 0;
    padding: 0;
    border: 0;
    background: none
}

select[disabled],
select[readonly],
textarea[disabled],
textarea[readonly],
input[disabled],
/*input[readonly],*/
.btn[disabled],
.btn[readonly],
select.disabled,
select.readonly,
textarea.disabled,
textarea.readonly,
input.disabled,
input.readonly,
.btn.disabled,
.btn.readonly {
    cursor: not-allowed;
}

a {
    box-sizing: border-box
}

a:link {
    text-decoration: none;
    color: #3a3a3a;
}

a:visited {
    color: #333
}

a:hover,
a:focus,
a:active {
    text-decoration: none;
    color: #3a3a3a;
    outline : none;
}
a:focus, button:focus { 
    outline:none;
}
hr {
    display: none
}

legend,
caption {
    font-size: 0;
    width: 0;
    height: 0;
    line-height: 0;
    overflow: hidden;
    text-indent: -9999px
}

p {
    text-align: left;
    font-weight: 400;
    /* word-break: keep-all */
}

table {
    width: 100%;
    font-weight: 400;
    border-spacing: 0
}

input:focus {
  outline:0;
}

.justify-end {
  justify-content:end;
  display: flex;
}


/* checkbox */
.checkbox,
.radio {
    position: relative;
    display: inline-block !important;
    padding-left: 0;
    min-width: 26px;
}
.checkbox.pdright,
.radio.pdright {
    padding-right:20px;
    padding-top:5px;
    padding-bottom:5px;
}
.checkbox.pdright:last-child,
.radio.pdright:last-child {
    padding-right:0;
}

.checkbox + .checkbox {
    margin-right: 10px;
}

.checkbox > i,
.radio > i {
    position: absolute;
    top: 50%;
    margin-top: -8px;
    z-index: 0;
    border-style: solid;
    border-radius: 1px;
    font-size: 12px;
}

.checkbox > i:before,
.radio > i:before {
    position: absolute;
}

.checkbox > input,
.radio > input {
    position: absolute;
    opacity: 0;
    z-index: 1;
    cursor: pointer;
}

.checkbox > input ~ i:before,
.radio > input ~ i:before {
    opacity: 0
}

.checkbox > input:checked ~ i {
    background: #F39A00;
    border-color: #F39A00;
}

.checkbox > input:checked ~ i:before,
.radio > input:checked ~ i:before {
    opacity: 1;
    color: #fff;
}

.checkbox > input:disabled,
.radio > input:disabled {
    opacity: 0;
    cursor: not-allowed;
}

.checkbox > input:disabled ~ i,
.radio > input:disabled ~ i {
    opacity: .5;
}

.checkbox > input:disabled ~ label,
.radio > input:disabled ~ label {
    opacity: .5;
    cursor: not-allowed;
}

.checkbox > i {
    width: 22px;
    height: 22px;
    background: #fff;
    border: 1px solid #bbbbbb;
    border-radius: 3px;
    box-sizing: border-box;
    font-size:2rem;
    font-weight: 600;
    transition: all .2s;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    -o-transition: all .2s;
}

.checkbox > input {
    width: 22px;
    height: 22px;
    margin-top:0 !important;
    margin-bottom:0 !important;
}

.checkbox > i:before {
    width: 16px;
    height: 16px;
    line-height: 14px;
    top: 3px;
    left: 1px;
    transition: all .2s;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    -ms-transition: all .2s;
    -o-transition: all .2s;
}
@-moz-document url-prefix(){ 
	.checkbox > i:before {
	    top: 2px;
	    left: 0px;
	}
}

.checkbox > label {
    margin-bottom: 0;
    padding-left: 28px;
}

.checkbox > label.hidden {
    font-size: 0;
    padding-left: 15px;
    height: 0;
}

.checkbox.single,
.radio.single {
    padding-left: 0;
    padding-right: 0;
}

/* // */

.divider_1px_black {
  height: 1px;
  background-color: #000000;
  width:100%;
}

.btn-wrap {
  width:100%;
  display:flex;
  justify-content:space-between;
  margin:40px 0;
}
.btn-block {
  display: inline-block;
  width:100%;
  margin:40px 0;
}
.btn {
  position: relative;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  line-height: 1em;
  transition: all .2s;
  -webkit-transition: all .2s;
  -moz-transition: all .2s;
  -o-transition: all .2s;
  margin: 2px 2px;
  margin-top: 2px !important;
  margin-bottom: 2px !important;
  white-space:nowrap;
  padding:14px 24px;
  font-size:1.8rem;
  letter-spacing: 2px;
}
.btn:hover {
  box-shadow:2px 2px 12px rgba(0,0,0,0.15);
}
.btn.right,
.btn-right {
  float: right;
}
.btn.left,
.btn-left {
  float: left;
}
.btn.center,
.btn-center {
  display:flex;
  align-items:center;
  justify-content:center;
}
.btn-outline {
  border:1px solid #999999;
  background:#ffffff;
}
.btn-round {
  border-radius:100px !important;
}
.btn-s {
  padding:10px 15px;
  font-size:1.3rem;
  font-weight: 300;
  letter-spacing:0;
  border-radius: 2px;
}
.btn-xs {
  padding:6px 10px;
  font-size:1.2rem;
  font-weight: 400;
  letter-spacing:0;
  border-radius: 2px;
}
.btn-m {
  padding:14px 20px;
  font-size:1.5rem;
  font-weight: 400;
  letter-spacing:-1px;
  border-radius: 2px;
}

.btn-board-link {
  padding-right:30px;
  font-weight: 400;
}
.btn-board-link::after {
  position:absolute;
  top:50%;
  right:10px;
  margin-top:-7px;
  content: "\e93e";
  font-family: "xeicon";
}

.btn-download {
  position: relative;
  width:100%;
  display:inline-block;
  border:#7A7EDE 1px solid;
  border-radius:10px;
  background: #ffffff;
  padding:40px;
  font-weight:400;
  font-size:2.6rem;
  color:#595DC4  !important;
  margin-top:30px;
  box-shadow:0 3px 5px rgba(0,0,0,0.1);

}
.btn-download::before {
  position: absolute;
  right:30px;
  top:50%;
  margin-top:-17px;
  content:"\eb7c";
  font-family:"xeicon";
  color:#595DC4;
  font-size:4rem;
}
.btn-download:hover {
  color:#ffffff !important;
  background-color: #595DC4;
  transform:translate(0, -5px);
  transition: 0.5s;
  box-shadow:0 3px 5px rgba(0,0,0,0.2);  

}
.btn-download:hover::before {
  color:#ffffff !important;
}

.btn-lineservice {
  background: #595DC4;
  color:#ffffff !important;
  font-size:2rem;
  font-weight: 400;
  padding:25px 50px;
  border-radius: 12px;
  display: inline-block;
  margin-top:50px;
  box-shadow: 0 3px 10px rgba(9, 6, 141, 0.3);
}
.btn-lineservice:hover {
  background:#08AC7A;
  box-shadow: 0 3px 10px rgba(4, 77, 34, 0.3);
}

.btn-print {
  background: #ffffff;
  font-size:1.5rem;
  font-weight: 400;
  padding-left:40px;
  letter-spacing: 0;
  border-radius: 8px;
  border:#7A7EDE 1px solid;
}
.btn-print:hover {
  background:#595DC4;
  border:#595DC4 1px solid;
  color:#ffffff;
}
.btn-print::before {
  position: absolute;
  left:10px;
  top:50%;
  margin-top:-6px;
  content:"\eb1f";
  font-family:"xeicon";
  font-size:2.4rem;
}
.btn-black {
  background: #000000;
  color: #ffffff !important;

}
.btn-gray {
  background: #DDDDDD;
  color: #000000 !important;
}
.btn-gray:hover {
  background: #000000;
  color: #ffffff !important;
}
.btn-white {
  background: #ffffff;
  color: #444444 !important;
  border:#707070 1px solid;
}
.btn-white:hover {
  border-color:#20BBB0;
}
.btn-orange {
  background: #F68300;
  border:none;
  color: #ffffff !important;
}

.mb_0 {
  margin-bottom:0 !important;
}
.mb_20 {
  margin-bottom:20px !important;
}
.mt_0 {
  margin-top:0 !important;
}
.mt_40 {
  margin-top:40px !important;
}
.border_none {
  border:none !important;
}
.f_right {
  float:right;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "roboto";
  background:#dddddd;
  color:#000000;
  width:42px;
  height:42px;
  font-size:3rem;
  font-weight: 600;
  margin-right:15px;
}
.badge.circle {
  border-radius:200px;
}
.badge-green {
  background:#3AB449;
  color:#ffffff;
}



.col-half {
  width:50%;
  padding-right:3%;
  display:inline-block;
}
.col-half:nth-child(2n) {
  padding-right:0;
}
.col-half.input-block input {
  display: block;
}

@media all and (max-width:780px) {
  .col-half {
    width:100%;
    padding-right:0;
    display:block;
    padding-top:30px;
  }
  .col-half:first-child { 
    padding:0;
  }

}


/* switch */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 42px;
  height: 20px;
  margin-bottom: 0 !important;
}

.toggle-switch input {
  display: none;
}

.toggle-switch .slider {
  position: absolute !important;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
  color: #333;
  font-size: 16px;
  font-family: 'Noto Sans KR';
  font-weight: 300;
  line-height: 45px;
}

.toggle-switch .slider:before {
  position: absolute;
  content: "";
  height: 22px;
  width: 22px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
  -webkit-box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.3);
  box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.3);
}

.toggle-switch input:checked+.slider {
  background-color: #00aeb4 ;
  color: #fff;
}

.toggle-switch input:checked+.slider.bg-red {
  background-color: #f76363;
}

.toggle-switch input:focus+.slider {
  box-shadow: 0 0 10px #00aeb4;
}

.toggle-switch input:checked+.slider:before {
  -webkit-transform: translateX(22px);
  -ms-transform: translateX(22px);
  transform: translateX(22px);
  content: "";
}

.toggle-switch .slider.round {
  border-radius: 34px;
}

.toggle-switch .slider.round:before {
  border-radius: 50%;
}
.toggle-switch.size-l {
  width: 52px;
  height: 26px !important;
  border-radius: 0;
  padding: 0;
  margin-top: 10px;
}

.toggle-switch.size-l input:checked+.slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}

/*skip 네비게이션*/

#skip-navi {
    position: absolute;
    top: 0;
    height: 0px;
    width: 100%;
    z-index: 1000;
}

#skip-navi a {
    display: block;
    height: 1px;
    width: 1px;
    margin-bottom: -1px;
    overflow: hidden;
    text-align: center;
    color: #fff;
    white-space: nowrap;
}

#skip-navi a:focus,
#skip-navi a:active {
    display: block;
    top: 0;
    width: 100%;
    height: 45px;
    padding: 10px 0;
    background: #021b87;
}


/*공통 레이아웃*/

#wrap {
    position: relative;
    width: 100%;
    min-height: 100%;
}
#header {
    position: fixed;
    top:0;
    height: 100px;
    width: 100%;
    background-color:transparent;    
    z-index:1000;
}
@media all and (max-width:1400px) {
    #header {
        background-color: rgba(0,0,0,0.3);
    }
}
@media all and (max-width:640px) {
    #header {
        height: 70px;
    }
}
#header .logo{
    position:absolute;
    top:35px;
    left:50px;
    width:110px;
    height:40px;
    background-image: url(../../images/common/logo.svg);
    background-repeat: no-repeat;
    background-position: center center;
    font-size:0;
    line-height: 0;
    z-index:2000;
}
@media all and (max-width:640px) {
    #header .logo{
        top:20px;
        left:20px;
        width:80px;
    }
}
#header.on .logo{
    background-image: url(../../images/common/logo_on.svg);
}
#header .top-util {
    position:absolute;
    top:40px;
    right:60px;
    z-index:2000;
}
@media all and (max-width:640px) {
    #header .top-util {
        top:26px;
        right:20px;
    }
}
#header .top-util a {
    display: inline-block;
    margin:0 7px;
    font-size:1.5rem;
    font-weight: 300;
    letter-spacing: -1px;
}

#header .top-util a i,
#header .top-util a  {
    color:#eeeeee;
    margin-top:3px;
}

@media all and (max-width:640px) {
    #header .top-util a i {
        font-size:20px;
    }
}
#header.on .top-util a i,
#header.on .top-util a {
    color:#444444;
}

#header .top-util .m-menu {
    display: none;
}
@media all and (max-width:1400px) {
    #header .top-util .m-menu {
        display: inline-block;
    }
}


/* 팝업 */
.popup-chk {
  position: absolute;
  z-index:100;
  box-shadow: 1px 4px 15px rgb(0, 0, 0, 0.3);
  border-radius: 3px;
  background: rgba(255,255,255,0.8);
  padding:10px 10px 35px;
  min-width:200px !important;
}
.popup-chk a > img {
  width:100%;
  height:100%;
}
.popup-footer {
  color:#000000;
  font-size:1.2rem;
  font-family: 'Noto Sans KR';
  padding-top:10px;
  text-align: right;
}
.popup-footer > span {
  vertical-align: middle;
}
.popup-footer label {
  top:0;
}
.btn-popup {
  background: #444444;
  border-radius: 3px;
  color:#ffffff !important;
  margin-left:5px;
  padding:2px 7px;
}





/* 상단메뉴 */
#gnbArea {
    position:relative;
    min-height:100px;
    background:transparent;
    z-index:1000;
    transition:.3s;
}
@media all and (max-width:1400px) {
    #gnbArea {
        position:fixed;
        width:380px;
        right:-380px;
        top:0;
        height:100vh;
        background-color:#fff;
        overflow-y: auto;
        overflow-x: hidden;
        z-index:3000;
        transition: .3s;
    }
    #gnbArea.on {
        right: 0;
    }
}
@media all and (max-width:380px) {
    #gnbArea.on {
        width:100vw;
    }
}
#gnbArea:after {
    content:'';
    position:absolute;
    top:100px;
    width:100%;
    height:1px;
    background-color: rgba(255,255,255,0.3);
}
#gnbArea .m-btn-close{
    display: none;
}
@media all and (max-width:1400px) {
    #gnbArea .m-btn-close{
        display: block;
        position:absolute;
        top:30px;
        right:30px;        
    }
    #gnbArea .m-btn-close i{
        font-size:2.6rem;        
    }
}
#gnbArea .m-quick-menu{
    display: none;
}
@media all and (max-width:1400px) {
    #gnbArea .m-quick-menu{
        display: flex;
        margin-top:100px;
        flex-wrap: wrap;
        justify-content: space-between;
        padding:0 40px;
    }
    #gnbArea .m-quick-menu a{
        display: inline-block;
        width:48%;
        padding:16px 16px;
        background-color: #021b87;
        color:#fff;
        margin: 6px 0;
        font-family: 'noto sans kr';
    }
}
#gnb {
    position:relative;
    margin:0 auto;
    max-width:1280px;
    z-index:1000;
    height:100px;
    overflow: hidden;
    padding-left: 150px;
}
@media all and (max-width:1400px) {
    #gnb {
        position:relative;
        margin:0;
        max-width:none;
        height:auto;
        overflow: visible;
        padding-left: 0;
    }
}
#gnb .gnb_menu {
    width:100%;
}
@media all and (max-width:1400px) {
    #gnb .gnb_menu {
        padding:0 0 100px;
        margin-top:30px;
    }
}
#gnb .gnb_menu:after {
    display:block;
    clear:both;
    content:'';
}
#gnb .gnb_menu > li{
    float:left;
}

#gnb .gnb_menu > li:last-child .list-wrap .list {
  display: flex;
  align-items: center;
  justify-content: center;
  width:100%;
  height: 100%;
  background: #fff;  
  border:1px solid #C1C2DF;
  overflow: hidden;
  transition: .3s;
  border-radius: 5px;
}
#gnb .gnb_menu > li:last-child .list-wrap .list:hover {
  background:#EAEAF8;
  box-shadow: 2px 3px 8px rgba(0,0,0,0.1);
}
#gnb .gnb_menu > li:last-child > div {
  height:60px;
  width:200px;
  margin:0 0 0 20px;
  position: relative;
}
#gnb .gnb_menu > li:last-child .list::before {
  position:absolute;
  right:15px;
  top:50%;
  margin-top:-1.25rem;
  content: "\ea40";
  font-family: "xeicon";
  font-size:2.5rem;
  color:#C1C2DF;
}

#gnb .list-wrap .list span  {
  font-size:1.6rem;
  font-weight:400;
  width:100%;
  height:100%;
  padding:20px;
}


@media all and (max-width:1400px) {
    #gnb .gnb_menu > li{
        float:none;
    }
    /* #gnb .gnb_menu > li:last-child {
      display:inline-block;
      padding:20px 50px 20px 20px;
    }
    #gnb .gnb_menu > li:last-child > div {
      width:100%;
      margin-bottom:10px;
    } */
}

@media all and (max-width:1000px) {
  #gnb .list-wrap .list span {
    font-size:1.8rem;
  }
}

#gnb .gnb_menu > li > a {
    position:relative;
    display:block;
    padding:40px 28px;
    font-size:20px;
    color:#fff;
    text-decoration:none;
    font-weight:400;
    font-family: 'noto sans kr';
    text-align: center;
}
@media all and (max-width:1400px) {
    #gnb .gnb_menu > li > a {
        color:#000;
        padding:25px 60px;
        text-align: left;
    }
    #gnb .gnb_menu > li > a::before{
        position:absolute;
        right:60px;
        bottom:auto;
        height:auto;
        content: "\e942";
        font-family: 'xeicon';
        transition: none;
        font-size:2.0rem;
    }
    #gnb .gnb_menu > li > a.on::before{
        content: "\e945";
    }
}
#gnb .gnb_menu > li > a::after{
    position:absolute;
    left:15%;
    bottom:0;
    width:70%;
    height:0;
    content:'';
    transition: all 0.3s ease 0s;
}

#gnb .gnb_menu > li > a.action::after{
    width:70%;
    height:4px;
    background:#595DC4;
}
#gnb .gnb_menu > li > a.action{
    color:#595DC4;
}
#gnb .gnb_menu > li > ul {
    width: 200px;
    min-height: 290px;
    padding-top: 30px;
}
@media all and (max-width:1400px) {
    #gnb .gnb_menu > li > ul {
        padding-top: 0;
        min-height: auto;
        width:100%;
        display: none;
    }
    #gnb .gnb_menu > li > ul.on {
      display: block !important;
  }
}
#gnb .gnb_menu > li > ul > li {
    padding: 0 30px;
}
@media all and (max-width:1400px) {
    #gnb .gnb_menu > li > ul > li {
        padding: 0 30px 0 60px;
    }
}
#gnb .gnb_menu > li > ul > li > a {
    display: block;
    font-size: 16px;
    color: #666666;
    text-align: center;
    line-height: 2.4em;
    font-weight: 400;
}
@media all and (max-width:1400px) {
    #gnb .gnb_menu > li > ul > li > a {
        position: relative;
        text-align: left;
        padding-left:20px;
    }
    #gnb .gnb_menu > li > ul > li > a::before {
        position: absolute;
        left:0;
        top:16px;
        content: '';
        width:3px;
        height:3px;
        background-color: #888;
    }
}
#gnb .gnb_menu > li > ul > li > a:hover {
    color: #f79929;
}

#header.on #gnbArea {
    background-color: #fff;
}
#header.on #gnbArea #gnb .gnb_menu > li > a {
    color:#000;
}
#header.on #gnbArea:after {
    background-color: #e5e5e5;
}

[data-theme="black"] #header #gnbArea {
    background-color: #fff;
}
[data-theme="black"] #header #gnbArea #gnb .gnb_menu > li > a ,
[data-theme="black"] #header .top-util a  {
    color:#000;
}
[data-theme="black"] #header #gnbArea:after {
    background-color: #e5e5e5;
}
[data-theme="black"] #header .logo{
    background-image: url(../../images/common/logo_on.svg);
}
[data-theme="black"] #header .top-util a i {
    color:#000;
}

[data-theme="gray"] #header #gnbArea {
    background-color: #fff;
}
[data-theme="gray"] #header #gnbArea #gnb .gnb_menu > li > a,
[data-theme="gray"] #header .top-util a  {
    color:#000;
}
[data-theme="gray"] #header #gnbArea:after {
    background-color: #e5e5e5;
}
[data-theme="gray"] #header .logo{
    background-image: url(../../images/common/logo_on.svg);
}
[data-theme="gray"] #header .top-util a i{
    color:#000;
}


#gnb_Bg {
    position:absolute;
    display:none;
    top:100px;
    left:0;
    width:100%;
    background-color:#fff;
    z-index:10;
    border-top:1px solid #e9e9e9;
    border-bottom:3px solid #3271c5;
    /*background-image: url(../../images/common/gnb_bg.png);
    background-position: center top;
    background-repeat: repeat-y;
    background-size:auto;*/
}

#content-wrap {
    position: relative;
    overflow:hidden;
    width: 100%;
}


#ft {
    position: relative;
    width: 100%;
    min-height:280px;
    background-color: #222222;
}
#ft:before {
    content:'';
    position:absolute;
    top:60px;
    width:100%;
    height:1px;
    background-color: rgba(255,255,255,0.2);
}
@media all and (max-width:480px) {
    #ft:before {
        top:80px;
    }
}


#ft .container {
    position: relative;
    width: 1400px;
    margin:0 auto;
    display: flex;
    justify-content: space-between;
}
@media all and (max-width:1400px) {
    #ft .container {
        width: 100vw;
        padding:0 20px;
    }
}
@media all and (max-width:780px) {
    #ft .container {
        flex-direction: column;
    }
}
#ft .container .left .bot-menu{
    display: flex;
    height:60px;
    align-items: center;
    flex-wrap: wrap;
}
@media all and (max-width:480px) {
    #ft .container .left .bot-menu{
        height:80px;
    }
}
#ft .container .left .bot-menu a{
    font-size:15px;
    color:#BBBBBB;
    padding:0 20px;
    font-family: 'noto sans kr';
    font-weight: 200;
    line-height: 1.4em;

}
@media all and (max-width:480px) {
    #ft .container .left .bot-menu a{
        width:50%;
        font-size:13px;
    }
    #ft .container .left .bot-menu a:nth-child(3){
        padding-left:0;
    }
}
#ft .container .left .bot-menu a:first-child{
    padding-left:0;
}
#ft .container .left .address{
    margin-top:40px;
}
#ft .container .left .address span{
    position: relative;
    font-size:1.4rem;
    color:#999999;
    font-weight: 300;
    font-family: 'noto sans kr';
    padding:0 20px;
    line-height: 1.4em;
    display: inline-block;
    margin-bottom:6px;
}
#ft .container .left .address span::before{
    content:'';
    width:1px;
    height:12px;
    position:absolute;
    left:0;
    top:5px;
    background-color: rgba(255,255,255,0.2);
}
#ft .container .left .address span.tit{
    font-weight: 600;
    padding-left:0;
}
@media all and (max-width:600px) {
  #ft .container .left .address span {
    display: inline-block;
    width:100%;
    padding-left:10px;
  }
  #ft .container .left .address span.tit{
      display: block;
  }
  #ft .container .left .address span:nth-child(6){
      display: block;
  }
}
#ft .container .left .address span.tit::before{
    display: none;
}


#ft .container .left .copyright {
    font-size:1.3rem;
    color:#999999;
    margin-top:50px;
    font-family: 'noto sans kr';
    line-height: 1.4em;
}

#ft .container .right .family-site{
    position: relative;
    width:220px;
    height:60px;
    padding:0 20px;
    border-bottom:1px solid rgba(255,255,255,0.6);
}

#ft .container .right .family-site .link{
    position: relative;
    display: inline-block;
    font-size:1.5rem;
    color:#fff;
    line-height: 60px;
    width:100%;
    text-align: left;
}
#ft .container .right .family-site .link:after{
    content:'\e9c5';
    font-family:'xeicon';
    color:#fff;
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
}
#ft .container .right .family-site .list-wrap{
    position:absolute;
    top:-200px;
    right:0px;
    padding-bottom: 1px;
    border:1px solid #222;
    border-bottom:0;
    background-color: #222;
    padding:12px 20px;
    height:200px;
    width:220px;
    display: none;
}
#ft .container .right .family-site .list-wrap ul li a{
    position:relative;
    display: block;
    padding-left: 15px;
    line-height: 2;
    color:#fff;
    font-size:1.4rem;
}
#ft .container .right .family-site .list-wrap ul li a:before{
    position:absolute;
    left:0;
    top:12px;
    content:'';
    width:2px;
    height:2px;
    background-color: #fff;
}
#ft .container .right .family-site .list-wrap ul li .btn-close{
    position: absolute;
    top:0;
    right:0;
    width: 30px;
    height: 30px;
    font-size:0;
}
#ft .container .right .family-site .list-wrap ul li .btn-close:after{
    content:'\e9af';
    font-family: 'xeicon';
    color:#fff;
    font-size:16px;
}
#ft .container .right .tel-list{
    padding:30px 20px;
}
#ft .container .right .tel-list .tit{
    font-size:1.4rem;
    color:#fff;
    font-weight: 300;
}
#ft .container .right .tel-list ul{
    margin-top:25px;  
}
#ft .container .right .tel-list ul li{
    display: flex;  
    margin-top:15px;  
    align-items: center;
}
#ft .container .right .tel-list ul li:nth-child(3){
    display: flex;  
    margin-top:15px;  
    align-items: flex-end;
}
#ft .container .right .tel-list ul li .logo{
    width:80px;    
}
#ft .container .right .tel-list ul li .num{
    font-size:1.3rem;
    color:#999999;
}
@media all and (max-width:780px) {
  #ft .container .right .family-site{
      margin-top:20px;
  }
  #ft .container .left,
  #ft .container .right {
    display:inline-block;
    width:100%;
    float: none;
  }
  #ft .container .right .tel-list ul {
    display: flex;
    justify-content: space-between;
  }
  #ft .container .right .tel-list ul li {
    display: inline-block;
  }
  #ft .container .right .tel-list ul li .logo {
    margin-right:10px;
  }
  #ft .container .right .family-site {
    width:100%;
    border:1px solid rgba(255,255,255,0.6);
  }
  #ft .container .right .family-site .list-wrap {
    width:calc(100% + 4px);
    background:#ffffff;
    left:-2px;
  }
  #ft .container .right .family-site .list-wrap ul li a {
    color:#000000;
  }
  #ft .container .right .family-site .list-wrap ul li a:before {
    background-color:#000000;
  }
}
@media all and (max-width:640px) { 
  #ft .container .left .bot-menu a {
    padding:0 10px;
  }
  #ft .container .right .tel-list ul {
    display: inline-block;
    margin-top:10px;
  }
  #ft .container .right .tel-list ul li {
    display: inline-block;
    width:100%;
    margin-bottom:5px;
  }
  #ft .container .right .tel-list ul li .logo { 
    width:80px;
    display: inline-block;
  }
}

.dark {    
    position:absolute;
    display:none;
    top:0;
    width:100%;
    height:100%;
    z-index:960;
    background-color:rgba(0,0,0,0.4);
}
.dark.on {  
    display:block;
}

/* 텍스트 색상 */
.txt-skyblue {
  color:#84DDFF !important;
}


/* 텍스트 스타일 */
ul.text-list > li {
  position: relative;
  padding:8px 5px 8px 20px;
  font-size:2.2rem;
  font-weight:300;
  text-align: left;
  line-height: 140%;
}
ul.text-list > li:before {
  position:absolute;
  left:5px;
  top:19px;
  content:"";
  width:6px;
  height:6px;
  border-radius: 50%;
  background:#7A7EDE;
}
ol.text-list-ol {
  display: inline-block;
  width:100%;
  font-size:inherit;
  margin:15px 0 25px 0;
}
ol.text-list-ol > li {
  position: relative !important;
  display: inline-block;
  width:100%;
  font-size:inherit;
  line-height: 130%;
  padding:4px 0 4px 17px ;
  margin:0 !important;
}
ol.text-list-ol > li::before {
  position:absolute !important;
  left:0 !important;
  top:3px !important;
  content:"\ea3e" !important;
  font-family: "xeicon";
  font-size:1.2rem;
  color:#666666;

}


/* tab */
.tab-list ul {
  position:relative;
  display: flex;
  align-items:flex-start;
  justify-content: space-around;
}
.tab-list ul > li {
  width:100%;
  text-align:left;
  margin-left:-1px;
} 
.tab-list ul > li .list-wrap {
  position:absolute;
  top:60px;
  left:0;
  width:100%;
}
.tab-list ul > li > a,
.board-notice ul > li > a {
  display: block;
  background: #ffffff;
  border:1px solid #F1F1F1;
  color:#000000;
  font-size:2.4rem;
  font-weight:400;
  text-align: center;
  font-family: "roboto";
  padding:25px 15px;
  box-shadow: 1px 4px 10px rgba(0,0,0,0.1);
  transition: 0.5s;
}
.tab-list ul > li > a:hover,
.tab-list ul > li.active > a {
  background: #595DC4;
  color:#ffffff;
  border:#595DC4 1px solid;
  transition: 0.5s;
}
.tab-list .list-wrap {
  padding:20px 0;
}

.tab-list ul.tab-col2 > li > a {
  position:absolute;
  left:0;
  top:0;
  width:calc(100% / 2);
  word-break: keep-all;
  letter-spacing: -1px;
}
.tab-list ul.tab-col2 > li:nth-child(2) > a {
  left:50%;
}
.tab-list ul.tab-col3 > li > a {
  position:absolute;
  left:0;
  top:0;
  width:calc(100% / 3);
  word-break: keep-all;
  letter-spacing: -1px;
}
.tab-list ul.tab-col3 > li:nth-child(2) > a {
  left:33%;
}
.tab-list ul.tab-col3 > li:nth-child(3) > a {
  left:66%;
}

.tab-list ul.tab-col4 > li > a {
  position:absolute;
  left:0;
  top:0;
  width:calc(100% / 4);
  word-break: keep-all;
  letter-spacing: -1px;
}
.tab-list ul.tab-col4 > li:nth-child(2) > a {
  left:25%;
}
.tab-list ul.tab-col4 > li:nth-child(3) > a {
  left:50%;
}
.tab-list ul.tab-col4 > li:nth-child(4) > a {
  left:75%;
}
.tab-list ul.tab-col5 > li > a {
  position:absolute;
  left:0;
  top:0;
  width:calc(100% / 5);
  word-break: keep-all;
  letter-spacing: -1px;
}
.tab-list ul.tab-col5 > li:nth-child(2) > a {
  left:20%;
}
.tab-list ul.tab-col5 > li:nth-child(3) > a {
  left:40%;
}
.tab-list ul.tab-col5 > li:nth-child(4) > a {
  left:60%;
}
.tab-list ul.tab-col5 > li:nth-child(5) > a {
  left:80%;
}
.tab-list ul.tab-round  > li > a {
  border-radius:50px !important;
}
@media (max-width:1000px) {
  .tab-list.rule-layout ul.tab-col5 > li > a {
    padding:20px 15px;
  }
  .rule-layout .list-wrap {
    margin-top:160px !important;
  }
  .tab-list ul.tab-col5 > li > a {
    width:calc(100% / 2);
  }
  .tab-list ul.tab-col5 > li:nth-child(2) > a {
    left:50%;
  }
  .tab-list ul.tab-col5 > li:nth-child(3) > a {
    left:0;
    top:60px;
  }
  .tab-list ul.tab-col5 > li:nth-child(4) > a {
    left:50%;
    top:60px;
  }
  .tab-list ul.tab-col5 > li:nth-child(5) > a {
    left:0;
    top:120px;
    width:100%;
  }
}
@media (max-width:480px) {
  .tab-list ul > li > a {
    padding:15px;
  }
  .tab-list ul.tab-col2 > li > a,
  .tab-list ul.tab-col3 > li > a,
  .tab-list ul.tab-col4 > li > a {
    width:calc(100% / 1);
  }
  .tab-list ul.tab-col2 > li:last-child > a,
  .tab-list ul.tab-col3 > li:nth-child(2) > a,
  .tab-list ul.tab-col3 > li:last-child > a,
  .tab-list ul.tab-col4 > li:nth-child(2) > a,
  .tab-list ul.tab-col4 > li:nth-child(3) > a,
  .tab-list ul.tab-col4 > li:last-child > a {
    left:0;
  }
  .tab-list ul.tab-col2 > li:last-child > a,
  .tab-list ul.tab-col3 > li:nth-child(2) > a,
  .tab-list ul.tab-col4 > li:nth-child(2) > a {
    top:51px;
  }
  .tab-list ul.tab-col3 > li:last-child > a,
  .tab-list ul.tab-col4 > li:nth-child(3) > a {
    top:102px;
  }
  .tab-list ul.tab-col4 > li:last-child > a {
    top:153px;
  }
}



/* 게시판 */
.search-block {
  border:1px solid #000000;
  margin-bottom:40px;
}
.search-block select {
  width:260px;
  padding:20px;
  font-size:3rem;
  letter-spacing: -1px;
  border:none;
  border-right:1px solid #000000 !important;
  border-radius:0;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}
.search-block select::-ms-expand {
  display:none;
}
.search-block select:focus::-ms-value {
  color:#272727;background:none
}
.search-block label {
  display:none
}
.search-block .kren-select option {
  font-size:2.2rem;
}
.search-block .kren-select option:disabled {
  display: none;
}
.search-block .kren-select.widthauto {
  width:auto;
  padding-right:30px;
}

.search-block .con-search-wrap {
  display:flex;
  vertical-align:bottom;
  border:none;
}
@media (max-width:700px) {
  .search-block .con-search-wrap {
    display:block;
  }
}
.search-block .con-search-wrap .kren-select {
  border:none;
  font-size:2rem;
}
@media (max-width:700px) {
  .search-block .con-search-wrap .kren-select {
    width:100%;
    border-right:0 !important;
    border-bottom:1px solid #000000 !important;
  }

}
.search-block .con-search-wrap input.search-txt {
  border:none;
  font-size:2rem;
  font-weight:300;
  color:#000000;
  width:calc(100% - 270px);
  padding:18px;
}
@media (max-width:700px) {
  .search-block .con-search-wrap input.search-txt {
    width:calc(100% - 75px);
  }
}
.search-block .con-search-wrap .btnSearch {
  font-size:3rem;
  vertical-align:middle;
  padding:13px 20px;
}

/* focus 전 상태일 때 */
.search-block select.kren-select { 
  background-image:
    linear-gradient(45deg, transparent 50%, #000000 50%),
    linear-gradient(135deg, #000000 50%, transparent 50%);
  background-position:
    calc(100% - 25px) calc(1em - -10px),
    calc(100% - 20px) calc(1em - -10px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
/* focus 상태일 때 */
.search-block select.kren-select:focus { 
  background-image:
    linear-gradient(45deg, #000000 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, #000000 50%);
  background-position:
    calc(100% - 20px) calc(1em - -10px),
    calc(100% - 25px) calc(1em - -10px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  border-color: #000000;
  outline: 0;
}


.search-inline {
  display: inline-block;
  margin-bottom:-24px;
}
.search-inline select {
  width:auto;
  padding:10px 50px 10px 10px;
  letter-spacing: -1px;
  border:none;
  border-radius:0;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}
.search-inline select::-ms-expand {
  display:none;
}
.search-inline select:focus::-ms-value {
  color:#272727;
  background:none
}
.search-inline label {
  display:none;
}
.search-inline .kren-select-inline option:disabled {
  display: none;
}
.search-inline .kren-select-inline.widthauto {
  width:auto;
  padding-right:30px;
}

.search-inline .con-search-wrap {
  display:flex;
  vertical-align:bottom;
  border:none;
}
.search-inline .con-search-wrap .kren-select-inline {
  border:none;
  font-size:1.8rem;
}
.search-inline .con-search-wrap input.search-txt {
  border:none;
  font-size:2rem;
  font-weight: 500;
  color:#000000;
  width:calc(100% - 270px);
  padding:20px;
}
.search-inline .con-search-wrap .btnSearch {
  font-size:3rem;
  vertical-align:middle;
  padding:20px;
}
/* focus 전 상태일 때 */
.search-inline select.kren-select-inline { 
  background-image:
    linear-gradient(45deg, transparent 50%, #000000 50%),
    linear-gradient(135deg, #000000 50%, transparent 50%);
  background-position:
    calc(100% - 25px) calc(1em - -1px),
    calc(100% - 20px) calc(1em - -1px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
/* focus 상태일 때 */
.search-inline select.kren-select-inline:focus { 
  background-image:
    linear-gradient(45deg, #000000 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, #000000 50%);
  background-position:
    calc(100% - 20px) calc(1em - -1px),
    calc(100% - 25px) calc(1em - -1px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  border-color: #000000;
  outline: 0;
}

.board-layout,
.board-detail-layout {
  width:100%;
  display: inline-block;
}

.page-info {
  font-size:2rem;
  font-weight:200;
  color:#000000;
  padding:18px 0;
  text-align: right;
}
.page-info .now {
  color:#F39A00;
  font-weight:400;
}


.board-list ul li {
  position:relative;
  border-bottom:1px solid #cccccc;
  margin-bottom:10px;
}
.board-list ul li a {
  display: flex;
  justify-content: space-between;
  padding:40px 25px 40px 40px;
  box-shadow: unset;
}
.board-list ul li:hover a {
  background: #f1f1f5;
  border:#f1f1f5 1px solid;
}
.board-list ul li:hover i.file {
  background: #595DC4;
  color:#ffffff;
}
.board-list.board-area ul li a {
  display: block;
  justify-content:unset;
  padding:0;
}
.board-list ul li:hover {
  cursor: pointer;
  background: #ffffff !important;
}
.board-list  .board-important i,
.board-detail-layout  .board-important i {
  position: absolute;
  left:10px;
  top:-4px;
  font-size:4rem;
  color:#EF0000;
}
.board-list .board-list-tit {
  font-size:2.6rem;
  color:#000000;
  align-items:center;
  display: inline-block;
  text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
  text-align: left;
}

.board-list .board-list-tit .board-tit-line,
.board-detail-layout .board-detail-top .board-tit-line {
  padding:0 20px;
  margin-left:20px;
  line-height:140%;
  word-break:keep-all;
  display: inline-block;
  text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
}
.board-list .board-list-tit .board-tit-line::before,
.board-detail-layout .board-detail-top .board-tit-line::before {
  content:"|";
  position:relative;
  margin-left:-20px;
  padding-right:20px;
  top:0;
  color:#DBDBDB;
  font-weight: 200;
}
.board-list .board-list-tit i.file,
.board-detail-tit  i.file,
.board-detail-file  i.file,
.detail-tit-top .tit i.file,
.board-photo .board-con i.file {
  background:#EAEDF8;
  font-size:2rem;
  padding:8px;
  border-radius: 50%;
  transform:rotate(45deg);
  margin-left:10px;
}
.board-photo .board-con i.file {
  font-size:1.6rem;
  vertical-align:middle;
  padding:5px;
}
.board-list .con-info {
  font-size:1.8rem;
  font-weight:300;
  color:#000000;
  align-items:center;
  display: flex;
  justify-content:flex-end;
  min-width:420px;
  padding-top:34px;
}

@media (max-width:1024px) {
  .board-list .board-list-tit {
    width:100%;
  }
  .board-list ul li a {
    display: block;
    padding:40px 40px 20px 40px;
  }
  .board-list .con-info {
    display:block;
    border-top:#eeeeee 1px solid;
    text-align: right;
    padding:20px 10px 0 0;
    margin-top:20px;
  }
}

.board-list .no-cont,
.board-photo .no-cont {
  position:relative;
  border:5px solid #f1f1f1;
  margin-bottom:10px;
  padding:40px 20px;
  text-align: center;
  font-size:2rem;
  font-weight:300;
  color:#666666;
  width:100%;
  display: inline-block;
}
.answer-icon {
  position:absolute;
  right:10px;
  top:0;
  font-size:1.6rem;
  width:80px;
  text-align: center;
  color:#ffffff;
  border-radius:0 0 8px 8px;
  background:#20BBB0;
  padding:10px;
}


/* paging */

.pagination {
  margin: 60px 0;
  text-align: center;
  font-size: 0;
  clear:both;
  display:flex;
  justify-content:center;
}

.pagination .first {
  display: inline-block;
  width: 44px;
  height: 44px;
  background-color: #ffffff;
  margin:5px 10px 5px 0;
  line-height: 58px;
  border: 1px solid #dddddd;
}

.pagination .first.disabled {
  opacity: .5;
  cursor: not-allowed;
}

.pagination .first span {
  color: #444444;
  font-size: 18px;
}
.pagination a span {
  font-family: 'Feather' !important;
  position: relative;
}
.pagination a span:before {
  position:absolute;
  left:50%;
  top:50%;
  margin-left:-9px;
  margin-top:-15px;
}
.pagination a:hover {
  background-color: #DDDDDD;
}
.pagination .prev .icon-chevron-left:before {
  content: "\e92f" !important;
}
.pagination .next .icon-chevron-right:before {
  content: "\e930" !important;
}

.pagination .prev {
  display: inline-block;
  width: 44px;
  height: 44px;
  color: #444444;
  background-color: #ffffff;
  margin:5px 20px 5px 0;
  line-height: 58px;
  border: 1px solid #dddddd;
}

.pagination .prev.disabled {
  opacity: .5;
  cursor: not-allowed;
}

.pagination .prev span {
  color: #444444;
  font-size: 18px;
}

.pagination .next {
  display: inline-block;
  width: 44px;
  height: 44px;
  background-color: #ffffff;
  margin:5px 0 5px 20px;
  line-height: 58px;
  border: 1px solid #dddddd;
}

.pagination .next.disabled {
  opacity: .5;
  cursor: not-allowed;
}

.pagination .next span {
  color: #444444;
  font-size: 18px;
}

.pagination .last {
  display: inline-block;
  width: 44px;
  height: 44px;
  color: #444444;
  background-color: #ffffff;
  margin:5px 0 5px 10px;
  line-height: 58px;
  border: 1px solid #dddddd;
}

.pagination .last.disabled {
  opacity: .5;
  cursor: not-allowed;
}

.pagination .last span {
  color: #444444;
  font-size: 18px;
}

.pagination a {
  vertical-align: middle;
}

.pagination span strong {
  vertical-align: middle;
}

.pagination span a {
  display: inline-block;
  width: 44px;
  height: 44px;
  color: #888;
  font-size: 14px;
  font-family: 'roboto';
  font-weight: 500;
  line-height: 44px;
  text-align: center;
  text-decoration: none;
  border: 1px solid #dddddd;
  margin:5px;
}
.pagination span a.active,
.pagination span a:hover {
  background-color: #000000;
  border: 1px solid #000000;
  color: #ffffff;
}

/* //paging */


/* 게시판 상세 */
.board-detail-tit {
  border:#20BBB0 5px solid;
  position:relative;

}
.board-detail-tit .detail-tit {
  padding:30px 20px;
  font-size:2.6rem;
  color:#000000;
  align-items: center;
  justify-content:center;
  display:flex;
}
.board-detail-tit .con-info {
  position: relative;
  font-size:1.8rem;
  font-weight:300;
  color:#000000;
  align-items:center;
  display: flex;
  justify-content: center;
  padding:18px 20px;
  border-top:1px dashed #dddddd;
}
.board-detail-tit .con-info span {
  margin-right:20px;
}
.board-detail-tit .con-info  i {
  color:#CCCCCC;
  margin-right:5px;
  vertical-align: middle;
  font-size:2rem;
}
.board-detail-con {
  font-size:2em;
  font-weight:300;
  line-height:140%;
  padding:40px 20px 100px 20px;
}
.board-detail-con img {
  width:100%;
}
.board-detail-file > a {
  display: flex; 
  justify-content:left;
  align-items:center;
  position:relative;
  border:2px solid #eeeeee;
  padding:15px 40px 15px 15px;
  margin-top:-2px;
  font-size:2rem;
  font-weight: 300;
  word-break:keep-all;
  line-height: 130%;
}
.board-detail-file > a:hover {
  border-color:#20BBB0;
  z-index:10;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.15);
}
.board-detail-file i.file {
  background: #20BBB0;
  font-size:2rem;
  padding:8px;
  border-radius: 50%;
  transform:rotate(45deg);
  color:#ffffff;
  margin-right:15px;

}
.board-detail-file i.down {
  position:absolute;
  right:20px;
  top:50%;
  margin-top:-12px;
  font-size:2.4rem;
}

/*파일업로드*/

.file-upload-type {
  padding: 30px;
  overflow: hidden;
  border:none;
  border-radius:3px;
  background-color: #f6f6f8;
  box-shadow: 2px 5px 10px rgba(0, 0, 0, 0.05);
}
.file-upload-type.bg02 {
  background-color:#f4f5f9;
  border:0;
  padding: 20px;
}

.file-upload-type.pd-none {
  border: 0px;
  padding: 0px;
}

.file-upload-type .upload-viewer {
  position: relative;
  float: left;
  width: auto;
  height: auto;
  background-color: #fcfeff;
  background-image: url(../../images/iframe/file_upload_bg.png);
  background-size: 92px 79px;
  background-repeat: no-repeat;
  background-position: center 30px;
  padding: 10px 30px;
  text-align: center;
  margin-right: 35px;
  box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.05);
}

.file-upload-type .upload-viewer.float-none {
  float: none;
  width: 380px;
  margin-right: 0px;
}

.file-upload-type .upload-list.float-none {
  float: none;
  width: 380px;
  margin-right: 0px;
  margin-top: 30px;
}

.file-upload-type .upload-viewer #files {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 30;
  opacity: 0;
}

.file-upload-type .upload-viewer .circlechart {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 40;
}

.file-upload-type .upload-viewer .circlechart:before {
  position: absolute;
  content: "/";
  font-size: 16px;
  color:#cccccc;
  top: 24px;
  left: 27px;
}

.file-upload-type .upload-viewer .circlechart-text01 {
  position: absolute;
  font-size: 14px;
  color:#00aeb4;
  font-weight: 600;
  top: 26px;
  left: 24px;
  z-index: 40;
}

.file-upload-type .upload-viewer .circlechart-text02 {
  position: absolute;
  font-size: 10px;
  color:#cccccc;
  font-weight: 400;
  top: 42px;
  left: 42px;
}

.file-upload-type .upload-viewer .info-text {
  margin-top: 120px;
  display: inline-block;
  font-size: 14px;
  color: #666;
  line-height: 1.4em;
}

.file-upload-type .upload-viewer .info-text span {
  font-weight: 500;
  color: #222;
}

.file-upload-type .upload-viewer .btn-line {
  position: relative;
  margin-top: 15px;
  z-index: 40;
}

.file-upload-type .upload-viewer .btn-line .btn {
  margin: 0 3px;
  width:auto;
  border:1px solid #888888;
  font-size:14px;
}
.file-upload-type .upload-viewer .progress-zone {
  margin-top: 25px;
  border-top: 1px solid #e0e3eb;
  padding-top: 10px;
  z-index: 40;
}

.file-upload-type .upload-viewer .progress-zone .percent {
  float: left;
  margin-right: 20px;
  width: 94px;
  font-size: 42px;
  color:#222222;
  font-family: "montserrat";
  
}

.file-upload-type .upload-viewer .progress-zone .statue-txt {
  margin-top: 5px;
  font-size: 14px;
  color: #7b7b7b;
  text-align: left;
  min-height: 10px;
}

.file-upload-type .upload-viewer .progress-zone .progress {
  overflow: auto;
  width: auto;
}

.file-upload-type .upload-list {
  overflow: hidden;
}

.file-upload-type .upload-list .tit {
  float: left;
  font-size: 15px;
  color:#444444;
}

.file-upload-type .upload-list .total {
  float: right;
  font-size: 14px;
  color: #bababa;
}

.file-upload-type .upload-list .total span {
  color:#00aeb4;
}

.file-upload-type .upload-list .list-box {
  width: 100%;
  max-height: 270px;
  overflow: auto;
  margin-top: 30px;
  overflow-y: scroll;
}

.file-upload-type .upload-list .list-box .list-line {
  position: relative;
  height: 42px;
  padding: 8px 0;
  border-bottom:1px dashed #cccccc;
  margin-bottom:5px;
}

.file-upload-type .upload-list .list-box .list-line.active {
  background-color: #f7f8fb;
  border: 1px solid #d7daf1;
}

.file-upload-type .upload-list .list-box .list-line .file-type {
  display: inline-block;
  width: 56px;
  text-align: center;
  font-size: 12px;
  color:#000000;
  padding: 5px 0;
  border:1px solid #cccccc;
  border-radius: 2em;
  vertical-align: top;
  line-height:1;
  background: #ffffff;
}

.file-upload-type .upload-list .list-box .list-line .sel-text {
  display: inline-block;
  margin-left: 15px;
  color: #444;
  font-size: 14px;
  font-family: "noto sans kr";
  width: 40%;
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 4px 0;
  line-height:1;
}

.file-upload-type .upload-list .list-box .list-line .file-size {
  position: absolute;
  top: 14px;
  right: 100px;
  display: inline-block;
  font-size: 13px;
  color: #aaa;
  text-align: right;
  width: 80px;
  line-height:1;
}

.file-upload-type .upload-list .list-box .list-line .icon-download {
  position: absolute;
  top: 9px;
  right: 50px;
  display: inline-block;
  width: 40px;
  text-align: right;
  vertical-align: top;
  line-height:1;
}

.file-upload-type .upload-list .list-box .list-line .icon-download span {
  font-size: 22px;
  color: #c4c5d8;
}

.file-upload-type .upload-list .list-box .list-line .icon-download a {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 15px;
}

.file-upload-type .upload-list .list-box .list-line .icon-download a:before {
  position: absolute;
  content: "\e956";
  font-family: "feather";
  font-size: 22px;
  color:#cccccc;
  top: 0;
  left: 0;
  
}

.file-upload-type .upload-list .list-box .list-line .icon-close {
  position: absolute;
  right: 15px;
  top: 9px;
  display: inline-block;
  width: 30px;
  text-align: right;
  vertical-align: top;
}

.file-upload-type .upload-list .list-box .list-line .icon-close span {
  font-size: 22px;
  color: #c4c5d8;
}

.file-upload-type .upload-list .list-box .list-line .icon-close a {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 15px;
}

.file-upload-type .upload-list .list-box .list-line .icon-close a:before {
  position: absolute;
  content: "\ea07";
  font-family: "feather";
  font-size: 22px;
  color:#cccccc;
  top: 0;
  left: 0;
}

.file-upload-type .upload-list .list-box .list-line-photo {
  position: relative;
  float: left;
  width: 140px;
  height: 110px;
  border-radius: 7px;
  background-color: #000;
  margin: 0 7px 7px 0;
}

.file-upload-type .upload-list .list-box .list-line-photo img {
  width: 140px;
  height: 110px;
  border-radius: 7px;
}

.file-upload-type .upload-list .list-box .list-line-photo .hidden-layer {
  /*     display: none; */
  position: absolute;
  top: 0;
  left: 0;
  width: 140px;
  height: 110px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 7px;
}

.file-upload-type .upload-list .list-box .list-line-photo .hidden-layer .btn-box {
  position: absolute;
  top: 35px;
  left: 50%;
  width:92px;
  transform: translateX(-50%);
}

.file-upload-type .upload-list .list-box .list-line-photo .hidden-layer .btn-box .icon {
  display: inline-block;
  float: left;
  width: 40px;
  height: 40px;
  background-color: #000;
  margin: 0 3px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 40px;
  border-radius: 50%;
}
.file-upload-type .upload-list .list-box.ps {
  overflow: hidden;
}


/*progress circle*/

.circle-chart {
  width: 56px;
  height: 56px;
  overflow: visible;
}

.circle-chart__circle {
  stroke: #f35a7e;
  stroke-width: 4;
  stroke-linecap: square;
  fill: none;
  animation: circle-chart-fill 2s reverse;
  /* 1 */
  transform: rotate(-90deg);
  /* 2, 3 */
  transform-origin: center;
  /* 4 */
}

.circle-chart__circle--negative {
  transform: rotate(-90deg) scale(1, -1);
  /* 1, 2, 3 */
}

.circle-chart__background {
  stroke:#eeeeee;;
  stroke-width: 4;
  fill: none;
}

.circle-chart__info {
  animation: circle-chart-appear 2s forwards;
  opacity: 0;
  transform: translateY(0.3em);
}

.circle-chart__percent {
  alignment-baseline: central;
  text-anchor: middle;
  font-size: 8px;
  display: none;
}

.circle-chart__subline {
  alignment-baseline: central;
  text-anchor: middle;
  font-size: 3px;
}

.success-stroke {
  stroke: #f35a7e;
}

.warning-stroke {
  stroke: #ffbb33;
}

.danger-stroke {
  stroke: #ff4444;
}

@keyframes circle-chart-fill {
  to {
      stroke-dasharray: 0 100;
  }
}

@keyframes circle-chart-appear {
  to {
      opacity: 1;
      transform: translateY(0);
  }
}

/* progress bar */
.progress {
  position: relative;
  width: 100%
}

.progress .area {
  position: absolute;
  width: 100%;
  top: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden
}

.progress .area .bar {
  float: left;
  width: 0;
  height: 100%
}

.progress .area .bar:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0
}

.progress .area .bar:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0
}

.progress.flat .area,
.progress.flat .area .bar {
  border-radius: 0
}

.progress.simple .area {
  border: 0;
  padding: 0
}

.progress.vertical,
.progress.vertical.simple .area {
  height: 100%
}

.progress.vertical.simple .area .bar {
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  border: 0
}

.progress.vertical .area {
  top: 0;
  bottom: 0;
  margin-top: 0;
  height: 100%;
  left: 50%
}

.progress.vertical .area .bar {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  left: 0;
  right: 0;
  position: absolute;
  bottom: 0;
  height: 10%
}

.progress.vertical .area .bar:not(:first-child) {
  border-top-left-radius: 0;
  border-top-right-radius: 0
}

.progress.vertical .area .bar:not(:last-child) {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0
}

.progress {
  height: 30px
}

.progress .area {
  height: 12px;
  margin-top: -7px;
  border: 1px solid #a57ff2;
  border-radius: 15px;
  padding: 1px
}

.progress .area .bar {
  background: #a57ff2;
  border-radius: 15px
}

.progress .area .bar.striped {
  background-image: -webkit-linear-gradient(135deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent);
  background-image: -o-linear-gradient(135deg, hsla(0, 0%, 100%, .15) 25%, transparent 25%, transparent 50%, hsla(0, 0%, 100%, .15) 50%, hsla(0, 0%, 100%, .15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(135deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent);
  -webkit-background-size: 12px 12px;
  background-size: 12px 12px
}

.progress .area .bar.striped.animated {
  -webkit-animation: progress 2s linear infinite;
  -moz-animation: progress 2s linear infinite;
  -o-animation: progress 2s linear infinite;
  animation: progress 2s linear infinite
}

.progress.simple .area {
  background-color: #ececec;
  height: 9px
}

.progress.vertical {
  width: 30px
}

.progress.vertical.simple .area {
  width: 10px
}

.progress.vertical .area {
  width: 12px;
  margin-left: -6px
}

.progress.vertical .area .bar {
  border: 1px solid #fff;
  width: 10px
}

.progress.vertical .area .bar.striped {
  background-image: -webkit-linear-gradient(45deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent);
  background-image: -o-linear-gradient(45deg, hsla(0, 0%, 100%, .15) 25%, transparent 25%, transparent 50%, hsla(0, 0%, 100%, .15) 50%, hsla(0, 0%, 100%, .15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent);
  -webkit-background-size: 12px 12px;
  background-size: 12px 12px
}

.progress.vertical .area .bar.striped.animated {
  -webkit-animation: progress-vertical 2s linear infinite;
  -moz-animation: progress-vertical 2s linear infinite;
  -o-animation: progress-vertical 2s linear infinite;
  animation: progress-vertical 2s linear infinite
}

@-moz-keyframes spin {
  0% {
      -moz-transform: rotate(0deg)
  }
  to {
      -moz-transform: rotate(359deg)
  }
}

@-webkit-keyframes spin {
  0% {
      -webkit-transform: rotate(0deg)
  }
  to {
      -webkit-transform: rotate(359deg)
  }
}

@-ms-keyframes spin {
  0% {
      -ms-transform: rotate(0deg)
  }
  to {
      -ms-transform: rotate(359deg)
  }
}

@keyframes spin {
  0% {
      transform: rotate(0deg)
  }
  to {
      transform: rotate(359deg)
  }
}

@-moz-keyframes flash {
  0%,
  50%,
  to {
      opacity: 1
  }
  25%,
  75% {
      opacity: 0
  }
}

@-webkit-keyframes flash {
  0%,
  50%,
  to {
      opacity: 1
  }
  25%,
  75% {
      opacity: 0
  }
}

@-ms-keyframes flash {
  0%,
  50%,
  to {
      opacity: 1
  }
  25%,
  75% {
      opacity: 0
  }
}

@keyframes flash {
  0%,
  50%,
  to {
      opacity: 1
  }
  25%,
  75% {
      opacity: 0
  }
}

@-moz-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  to {
      -moz-transform: translateY(0)
  }
  40% {
      -moz-transform: translateY(-10px)
  }
  60% {
      -moz-transform: translateY(-10px)
  }
}

@-webkit-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  to {
      -webkit-transform: translateY(0)
  }
  40% {
      -webkit-transform: translateY(-10px)
  }
  60% {
      -webkit-transform: translateY(-10px)
  }
}

@-ms-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  to {
      -ms-transform: translateY(0)
  }
  40% {
      -ms-transform: translateY(-10px)
  }
  60% {
      -ms-transform: translateY(-10px)
  }
}

@keyframes bounce {
  0%,
  10%,
  20%,
  50%,
  80% {
      transform: translateY(0)
  }
  40% {
      transform: translateY(-10px)
  }
  60% {
      transform: translateY(-10px)
  }
}

@-moz-keyframes float {
  0% {
      -moz-transform: translateY(0)
  }
  50% {
      -moz-transform: translateY(-6px)
  }
  to {
      -moz-transform: translateY(0)
  }
}

@-webkit-keyframes float {
  0% {
      -webkit-transform: translateY(0)
  }
  50% {
      -webkit-transform: translateY(-6px)
  }
  to {
      -webkit-transform: translateY(0)
  }
}

@-ms-keyframes float {
  0% {
      -ms-transform: translateY(0)
  }
  50% {
      -ms-transform: translateY(-6px)
  }
  to {
      -ms-transform: translateY(0)
  }
}

@keyframes float {
  0% {
      transform: translateY(0)
  }
  50% {
      transform: translateY(-6px)
  }
  to {
      transform: translateY(0)
  }
}

@-moz-keyframes pulse {
  0% {
      -moz-transform: scale(1.1)
  }
  50% {
      -moz-transform: scale(.8)
  }
  to {
      -moz-transform: scale(1)
  }
}

@-webkit-keyframes pulse {
  0% {
      -webkit-transform: scale(1)
  }
  50% {
      -webkit-transform: scale(.8)
  }
  to {
      -webkit-transform: scale(1)
  }
}

@-ms-keyframes pulse {
  0% {
      -ms-transform: scale(1.1)
  }
  50% {
      -ms-transform: scale(.8)
  }
  to {
      -ms-transform: scale(1)
  }
}

@keyframes pulse {
  0% {
      transform: scale(1.1)
  }
  50% {
      transform: scale(.8)
  }
  to {
      transform: scale(1)
  }
}




/*  게시판 - 글쓰기 */
.board-write-con {
  text-align: left !important;
}
.board-write-layout {
  display: block;
  border-top:2px solid #000000;
  margin-top:40px;
  padding-bottom:50px;
}
.board-write-layout .btn-block {
  border-top:#000000 2px solid;
  padding-top:40px;
}
.board-write-layout small.form-txt {
  color: #ff0000;
  font-size: 1.3rem;
  padding-top: 10px;
  display: inline-block;
}
.board-write-con > .form-group {
  padding:30px 0 0 0;
  margin-bottom:1rem;
  font-size:0;
}
.board-write-con .board-write-page .form-inner-box {
  border-radius:  3px;
  border:1px solid #dddddd;
  height:400px;
  background: #ffffff;
  box-shadow: 2px 5px 10px rgba(0, 0, 0, 0.05);
}
.board-write-con  textarea {
  border:none;
  height:100%;
  padding:15px;
  resize:none;
  line-height:130%;
}
.board-write-con  textarea:focus {
  border:none;
  -webkit-box-shadow:none;
  -moz-box-shadow:none;
  box-shadow:none;
}
.board-important-set {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 300;
  letter-spacing: -1px;
  padding:30px 0;
  border-bottom:1px solid #eeeeee;
}

.board-important-set label {
  font-size:2rem;
}
.board-important-set span {
  font-weight: 500;
}
.board-important-set .board-important i {
  position: relative;
  font-size:2.4rem;
  color:#EF0000;
  vertical-align:middle;
}
.board-important-set .form-check label {
  margin:0 10px 0 0;
  vertical-align: middle;
}
.password-layout {
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin-left:50px;
}
.form-check-layout {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.board-write-layout .inputpwd {
  width:auto;
  font-size:1.3rem;
  font-weight: 300;
  height:34px; 
  border-radius:3px;
  display: none;
}
label.board-write-tit {
  font-size:1.8rem;
  color:#000000;
  padding-right: 20px !important;
  margin-bottom:8px;
  display: inline-block;
}
label.board-write-tit.required::after {
  display: block;
  content: "*";
  font-size:2.4rem;
  position: absolute;
  top: -4px;
  right: 0;
  color: #ff515d;
}
.board-write-con input[readonly],
.board-write-con input[disabled] {
  background-color: #f3f3f5;
  color:#000000;
  font-weight: 300;
} 
.board-write-layout input[type=text],
.board-write-layout select {
  height:42px;
  border-radius: 3px;
  border-color:#d8d8d8;
  box-shadow: 2px 5px 10px rgba(0, 0, 0, 0.05);
}


/* 게시판 - 답글 단독형 */
.board-answer {
  margin-top:60px;
  border-top:2px solid #000000;
}
.answer-top {
  display: flex;
  align-items: center;
  justify-content:space-between;
}
.answer-tit {
  display: flex;
  justify-content:start;
  align-items:center;
  padding:20px;
  font-size:1.8rem;
  font-weight:600;
}
.answer-tit em {
  color:#F39A00;
  margin-left:8px;
}
.answer-user-info {
  display: flex;
  justify-content: start;
  align-items: center;
  margin-right:20px;
  font-size:1.6rem;
  color:#666666;
  font-weight:400;
  letter-spacing: -1px;
}
.answer-name {
  word-break:keep-all;
}
.answer-thumb {
  width:34px;
  height:34px;
  border:1px solid #dddddd;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content:center;
  overflow: hidden;
  margin-right:10px;
}
.answer-thumb img {
  width:100%;
  height:100%;
  object-fit: cover;

}
.answer-thumb i {
  font-size:2.5rem;
  color:#666666;
}
.answer-area {
  border-top:#dddddd 1px solid;
  padding:30px 20px;
}
.answer-con {
  font-size:2rem;
  font-weight: 300;
  color:#444444;
  line-height: 140%;
  letter-spacing: -1px;
}
.answer-con .toastui-editor-contents {
  font-size:1.6rem;
}
.answer-date {
  margin-top:30px;
  display: inline-block;
  width:100%;
  font-size:1.4rem;
  color:#888888;
  margin-right:10px;  
}
.answer-date i {
  color:#cccccc;
  font-size:1.8rem;
  vertical-align: middle;
}


/* 게시판 라벨아이콘 */
.etc-info {
  display: inline-block;
}
.etc-info span {
  font-size:1.6rem;
  font-weight:300;
  color:#000000;
  position: relative;
  padding:0 0 0 25px;
  margin-left:20px;

}
@media (max-width:1024px) {
  .etc-info {
    width:100%;
    text-align: left;
    margin-top:10px;
  }
  .etc-info span {
    margin:0 20px 0 0;
  }
}
.etc-info span::before {
  position:absolute;
  top:0;
  left:0;
  font-family: "xeicon";
  font-size:2rem;
  color:#CCCCCC;
}
.etc-info .info-sponsor::before {
  content: "\e902";
}
.etc-info .info-view::before {
  content: "\e950";
}
.etc-info .info-comment::before {
  content: "\ea15";
}
.etc-info .info-user::before {
  content: "\e9f3";
}
.etc-info .info-date::before {
  content: "\ead8";
}




/* 카테고리 색상 */
.cate {
  color:#ffffff;
  font-size:1.2rem;
  display:inline-block;
  padding:4px 5px 3px 5px;
  margin-bottom:13px;
  border-radius:2px;
}

.cate.c01 {
  background:#F39A00;
}
.cate.c02 {
  background:#20BBB0;
}
.cate.c03 {
  background:#CCBA47;
}
.cate.c04 {
  background:#08AC7A;
}
.cate.c05 {
  background:#C85935;
}
.cate.c06 {
  background:#595DC4;
}
.cate.c07 {
  background:#000000;
}
.cate.c08 {
  background:#C24DAB;
}
.cate.c09 {
  background:#98BC41;
}
.cate.c10 {
  background:#915AD1;
}
.cate.c11 {
  background:#5A7ED1;
}
.cate.c12 {
  background:#22A43C;
}
.cate.c13 {
  background:#DC5B83;
}
.cate.c14 {
  background:#D93838;
}
.cate.c15 {
  background:#1FBDCF;
}



.cate-line {
  font-size:1.3rem;
  border:#20BBB0 1px solid;
  color:#20BBB0;
  padding:3px 6px;
}
.cate-line.c01 {
  border-color:#F39A00;
  color:#F39A00;
}
.cate-line.c02 {
  border-color:#20BBB0;
  color:#20BBB0;
}
.cate-line.c03 {
  border-color:#CCBA47;
  color:#CCBA47;
}
.cate-line.c04 {
  border-color:#08AC7A;
  color:#08AC7A;
}
.cate-line.c05 {
  border-color:#C85935;
  color:#C85935;
}
.cate-line.c06 {
  border-color:#595DC4;
  color:#595DC4;
}
.cate-line.c07 {
  border-color:#000000;
  color:#000000;
}
.cate-line.c08 {
  border-color:#C24DAB;
  color:#C24DAB;
}
.cate-line.c09 {
  border-color:#98BC41;
  color:#98BC41;
}
.cate-line.c10 {
  border-color:#915AD1;
  color:#915AD1;
}