/* 레이아웃 */
body {background: url(../img/header_bg.jpg) repeat-x center top;}
#header {height: 327px;}
#nav {background-color: #f6fdff;}
#title {background-color: #eaf7fd;}
#contents .container {
    border-right: 1px solid #dbdbdb;
    border-left: 1px solid #dbdbdb;
}
#cont_left {float: left; width: 250px;}
#cont_center {
    min-height: 1320px;
    overflow: hidden; margin-right: 250px;
    border-right: 1px solid #dbdbdb;
    border-left: 1px solid #dbdbdb;
}
#cont_right {position: absolute; right: 0; top: 0; width: 250px;}
#footer {border-top: 1px solid #dbdbdb;}

/* 컨테이너 */
.container {position: relative; width: 1200px; margin: 0 auto; /* background: rgba(0,0,0,0.3); */}

/* 헤더 */
.header .header_menu {text-align: right;}
.header .header_menu a {color: #fff; transition: color 0.3s; padding: 8px 0 6px 10px; display: inline-block; font-family: "Abel";}
.header .header_menu a:hover {color: #ccc;}
.header .header_tit {
    text-align: center; 
    font-family: "Abel"; 
    margin-top: 55px; 
    text-transform: uppercase;
}
.header .header_tit h1 {
    background: #51b0dc; 
    display: inline-block; 
    color: #fff; 
    padding: 5px 30px; 
    font-size: 30px;
    letter-spacing: 2px;
    font-weight: 900;
    transition: box-shadow 1s ease-in-out;
}
.header .header_tit h1:hover {
    box-shadow: inset 0 0 30px 30px #2782AF;
}
.header .header_tit a {
    background: #4a9abf; 
    display: inline-block; 
    color: #fff; 
    font-size: 16px; 
    padding: 10px 20px; 
    margin: -7px;
    transition: all 1s;
}
.header .header_tit a:hover {
    box-shadow: 0 0 5px 5px #2883AF inset;
	color: #fff;	
}
.header .header_icon {
    text-align: center; 
    margin-top: 40px;
    padding-bottom: 40px;
}
.header .header_icon li {display: inline; margin: 0 2px;}
.header .header_icon li a {
    position: relative;
    color: #fff;
    font-size: 35px;
    background: #3192bf;
    width: 60px; height: 60px;
    display: inline-block;
    line-height: 60px;
    border-radius: 50%;
    transition: all 0.25s ease-in-out;
}
.header .header_icon li a span {
    font-size: 12px;
    line-height: 1.6;
    position: absolute;
    left: 50%; top: -40px;
    transform: translateX(-50%);
    background: #3192bf;
    padding: 3px 9px;
    border-radius: 6px 0;
    opacity: 0;
    transition: all 0.3s;
}
.header .header_icon li a:hover span {
    opacity: 1;
    top: -33px
}
.header .header_icon li a span::before {
    content: '';
    border-top: 5px solid #3192bf;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    position: absolute; left: 50%; bottom: -5px;
    margin-left: -5px;
}
.header .header_icon li a:hover {
    box-shadow: 
        0 0 0 3px rgba(75, 154, 191, 0.9) inset,
        0 0 0 100px rgba(0, 0, 0, 0.1) inset;
}

/* 전체 메뉴 */
.nav {
    overflow: hidden;
    padding: 25px 0;
}

.nav > div {
    float: left;
    width: 40%;
}
.nav > div:last-child {
    width: 20%;
}
.nav > div ol {
    overflow: hidden;
}

.nav > div li {
    float: left;
    width: 50%;
    position: relative;
    padding-left: 8px;
    box-sizing: border-box;
}
.nav > div li::before {
    content: '';
    width: 3px; height: 3px;
    background-color: #25a2d0;
    border-radius: 50%;
    position: absolute;
    left: 0; top: 9px;
}

.nav > div:last-child li {
    width: 100%;
}
.nav > div h3 {
    font-size: 18px;
    color: #25a2d0;
    font-weight: bold;
    margin-bottom: 4px;
}
.nav > div li a {
    position: relative;
    transition: all 0.3s ease-out;
}
.nav > div li a::after {
    content: '';
    width: 0%; height: 1px;
    background: #25aad0;
    position: absolute;
    bottom: 0; left: 0;
    transition: all 0.3s ease-out;
}
.nav > div li:hover a::after {
    width: 100%;
}

/* 타이틀 */
.tit {text-align: center; position: relative;}
.tit h2 {
    font-size: 39px;
    padding: 5px 0; 
    color: #0093bd;
    font-family: "Nanum Brush Script";
    letter-spacing: 2px; 
}
.tit .btn {
    width: 60px; height: 60px;
    text-align: center;
    line-height: 60px;
    position: absolute; right: 0; top: 5px;
    background-color: #3192bf;
    border-radius: 50%;
    color: #fff;
    font-size: 35px;
}
.tit .btn:hover {
    box-shadow: 
        0 0 0 3px rgba(71, 154, 191, 0.9) inset,
        0 0 0 100px rgba(0, 0, 0, 0.1) inset;
}

/* 컨텐츠 영역 */
.column {padding: 15px; border-bottom: 1px solid #dbdbdb;}
.column .col_tit {font-size: 20px; color: #2f7fa6; padding-bottom: 5px;}
.column .col_desc {
    border-bottom: 1px solid #dbdbdb;
    padding-bottom: 15px; margin-bottom: 15px;
    color: #878787; line-height: 18px;
}

.column.col1 {}
.column.col2 {}
.column.col3 {border-bottom: 0;}
.column.col4 {}
.column.col5 {}
.column.col6 {border-bottom: 0;}
.column.col7 {}
.column.col8 {}
.column.col9 {border-bottom: 0;}

/* 메뉴 */
.menu {}
.menu li {position: relative;}
.menu li a {
    font-size: 16px; text-transform: uppercase;
    color: #878787;
    border-bottom: 1px solid #dbdbdb;
    padding: 10px; display: block;
    transition: box-shadow 0.3s ease, background 0.33s ease;
}
.menu li a i {
    position: absolute;
    right: 10px; top: 15px;
}
.menu li a:hover {
    box-shadow: inset 180px 0 0 0 rgba(36,130,174,0.7);
    color: #fff;
    background: rgba(36,130,174,0.9);
}

/* 게시판 */
.notice1 {position: relative;}
.notice1 h5 {font-size: 14px; color: #2f7fa6; padding-bottom: 5px;}
.notice1 li {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    padding-left: 8px; position: relative;
}
.notice1 li::before {
    content: '';
    width: 3px; height: 3px;
    background: #449ce2;
    position: absolute; left: 0; top: 8px;
}
.notice1 .more {
    position: absolute; right: 0; top: 3px; 
    text-transform: uppercase; font-size: 10px;
    color: #878787;
}  

.notice2 {position: relative; margin-top: 15px;}
.notice2 h5 {font-size: 14px; color: #2f7fa6; padding-bottom: 5px;}
.notice2 li {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden; padding-left: 8px;
    position: relative;
}
.notice2 li::before {
    content: '';
    width: 3px; height: 3px;
    background: #449ce2;
    position: absolute; left: 0; top: 8px;
}
.notice2 .more {
    position: absolute; right: 0; top: 3px; 
    text-transform: uppercase; font-size: 10px;
    color: #878787;
} 

/* 블로그 */
.blog1 figcaption {margin-top: 5px;}

.blog2 {margin-top: 15px;}
.blog2 h5 {
    color: #fff; text-align: center; padding: 30px;
}
.blog2 .img-retina {
    /* background-image: url(../img/blog4_@1.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; */
    background: url(../img/blog4_@1.jpg) no-repeat center center / cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
            only screen and (min-device-pixel-ratio: 2),
            only screen and (min-resolution: 2dppx) {
                .blog2 .img-retina {background-image: url(../img/blog4_@2.jpg);}
        }
        @media only screen and (-webkit-min-device-pixel-ratio: 3),
            only screen and (min-device-pixel-ratio: 3),
            only screen and (min-resolution: 3dppx) {
                .blog2 .img-retina {background-image: url(../img/blog4_@3.jpg);}
        }

/* 이미지 슬라이드 */
.slider {}
.slider figure {position: relative;}
.slider figcaption {
    position: absolute; bottom: 0; left: 0;
    width: 100%; padding: 20px;
    box-sizing: border-box;
    background-color: rgba(0,0,0,0.5);
    color: #fff;
    font-size: 18px;
}
.slider figcaption em {
    display: block;
    font-weight: bold;
    font-size: 28px;
    text-transform: uppercase;
    font-family: 'Abel';
    opacity: 0;
    transition: all 0.84s ease;
    transform: translateX(50px);
}
.slider figcaption span {
    display: block;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    opacity: 0;
    transition: all 0.84s 0.2s ease;
    transform: translateX(50px);
}
.slider .slick-active figcaption em {
    opacity: 1;
    transform: translateX(0);
}
.slider .slick-active figcaption span {
    opacity: 1;
    transform: translateX(0);
}

.slider .slick-prev {
    position: absolute; left: 0; bottom: 0;
    width: 30px; height: 30px;
    display: inline-block;
    text-indent: -9999px;
    border-color: #5dbfeb;
}
.slider .slick-prev::before {
    content: "<";
    position: absolute; left: 9px; top: 4px;
    color: #5dbfeb;
    text-indent: 0;
}
.slider .slick-next {
    position: absolute; right: 0; bottom: 0;
    width: 30px; height: 30px;
    display: inline-block;
    text-indent: -9999px;
    border-color: #5dbfeb;
}
.slider .slick-next::before {
    content: ">";
    position: absolute; left: 11px; top: 4px;
    color: #5dbfeb;
    text-indent: 0;
}
.slider .slick-dots {
    width: 100%;
    text-align: center;
}
.slider .slick-dots li {
    display: inline-block;
    width: 15px; height: 15px; margin: 5px;
}
.slider .slick-dots li button {
    width: 15px; height: 15px;
    background: #5dbfeb;
    border-radius: 50%;
    text-indent: -9999px;
    border-width: 0;
}
.slider .slick-dots li.slick-active button {
    background: #2b91c8;
}

/* 라이트 박스 */
.square {}
.square a {float: left; width: 19%; margin: 0.5%;}

/* 사이드 */
.side1 {position: relative;}
.side1 .front {
    transition: transform 1s;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}
.side1 .back {
    transition: transform 1s;
    transform-style: preserve-3d;
    position: absolute; left: 0; top: 0; z-index: -1;
}
.side1 figcaption {
    backface-visibility: hidden;
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%) translatez(100px);
    color: #fff; background: rgba(0,0,0,0.4);
    padding: 15px; text-align: center;
    line-height: 1.4;
}
.side1 .front {
    transform: rotateY(0deg);
}
.side1:hover .front {
    transform: rotateY(180deg);
}
.side1 .back {
    transform: rotateY(-180deg);
}
.side1:hover .back {
    transform: rotateY(0deg);
}
.side2 {
    position: relative;
    overflow: hidden;
}
.side2 img {
    opacity: 1;
    transition: all .3s ease-in-out;
}
.side2:hover img {
    opacity: 0.5;
}
.side2::before {
    content: '';
    width: 60px; height: 1px;
    position: absolute; right: -100px; bottom: 50%;
    transform: translate(50%, 50%);
    background: #fff;
    transition: all 0.33s ease-in-out;
    z-index: 10;
}
.side2::after {
    content: '';
    width: 1px; height: 60px;
    position: absolute; right: 50%; bottom: -100px;
    transform: translate(50%, 50%);
    background: #fff;
    transition: all 0.33s ease-in-out;
}
.side2:hover::before {
    right: 50%; bottom: 50%;
}
.side2:hover::after {
    right: 50%; bottom: 50%;
}
.side3 {position: relative;}
.side3 .front3 {}
.side3 .back3 {position: absolute; left: 0; top: 0; z-index: -1;}
.side3 figure {position: relative}
.side3 figcaption {
    position: absolute; 
    bottom: 0; left: 0; color: #fff;
    background: rgba(0,0,0,0.8);
    width: 100%; padding: 20px;
    box-sizing: border-box;
    font-size: 12px;
}
.side3 figcaption h3 {
    font-size: 17px;
    padding-bottom: 10px;
}
.side3 figcaption p {
    font-size: 12px;
}
.side3 .front3 {
    transform: rotateY(0deg);
    transition: transform 1s;
    backface-visibility: hidden;
}
.side3:hover .front3 {
    transform: rotateY(180deg); 
}
.side3 .back3 {
    transform: rotateY(-180deg);
    transition: transform 1s;
}
.side3:hover .back3 {
    transform: rotateY(0deg);
}


/* 비디오 */
.video {position: relative; width: 100%; padding-bottom: 56.25%;}
.video iframe {position: absolute; width: 100%; height: 100%; border: 0;}

/* 푸터 */
.footer {text-align: center; padding: 30px 50px;}
.footer li {position: relative; display: inline; padding: 0 7px 0 10px; word-break: keep-all;}
.footer li:before{
    content: '';
    width: 1px; height: 12px;
    background: #dbdbdb;
    position: absolute; left: 0; top: 3px;
}
.footer li:first-child::before {
    width: 0; height: 0;
} 
.footer address {padding-top: 15px; font-style: normal;}


/* 미디어쿼리 */
@media (max-width: 1220px){
    .container {width: 100%;}
    .row {padding: 0 15px;}
    
    #contents .container {border: 0;}
    .tit .btn {right: 5px;}

    .square a {width: 24%; margin: 0.5%;}
    .square a:nth-child(5n) {display: none;}
}

@media (max-width: 1024px){
    .square a {width: 31.3333%;}
    .square a:last-child {display: block;}   
}

@media (max-width: 960px){
    #cont_right {position: static; width: 100%;}
    #cont_center {margin-right: 0; border-right: 0;}
    .nav > div {float: none; width: 100%;}
    .nav > div:last-child {width: 100%;}
    .nav > div li {width: 33.3333%;}
    .nav > div ol {margin-bottom: 10px;}
    .nav > div:last-child li {width: 33.3333%;}

    #cont_right {display: flex;}
    #cont_right .column {border-bottom: none; border-right: 1px solid #dbdbdb; border-top: 1px solid #dbdbdb;}
    #cont_right .column:last-child {border-right: none;}
}

@media (max-width: 768px){
    #cont_left {float: none; width: 100%;}
    #cont_center {border-left: 0;}
}

@media (max-width: 600px){
    #header {height: auto;}
    .header_tit {display: none;}
    .header_icon {display: none;}
    .tit .btn {display: none;}
    .nav {display: none;}
    .column.col1 .col_tit {display: none;}
    .column.col1 .col_desc {display: none;}
    .column.col1 {padding: 0; border-bottom: 0;}
    .column.col1 .menu ul {overflow: hidden;}
    .column.col1 .menu li {
        float: left; width: 33.3333%; text-align: center;
        border-right: 1px solid #dbdbdb;
        box-sizing: border-box;
    }
    .column.col1 .menu li:nth-child(3n) {border-right: 0;}
    .column.col1 .menu li a {color: #fff; text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);}
    .column.col1 .menu li a:hover {box-shadow: none; background: rgba(36,130,174,0.3);}
    .column.col1 .menu li a i {display: none;}
    .column.col2 {background: #fff;}

    .square a {width: 49%;}
    .square a:nth-child(5) {display: block;}

    #cont_right .column.col8 {border-right: 0;}
    #cont_right .column:last-child {display: none;}
}

@media (max-width: 320px){
    .square a {width: 100%; margin: 1% 0;}

    #cont_right {display: block;}
    #cont_right .column {width: 100%; border-right: 0; box-sizing: border-box;}
    #cont_right .column.col9 {display: block;}
}