/**********************************************
*
*   Veat by Brickspoon | yoo@brickspoon.co.kr
*
**********************************************/

@import url('grid.css');
@import url('fonts.css');
@import url('swiper.min.css');
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+KR:400,700&subset=korean');
@font-face{
    font-family: "Comfortaa";
    font-weight: bold;
    src: url(/assets/fonts/comfortaa-bold.woff2);
}

/***************************
*
*   1. common
*
***************************/

html, body
{
    margin: 0;
    padding: 0;
}

body
{
    font-family: 'Open Sans', 'Noto Sans KR', sans-serif;
    background: #f6f6f6;
    color: #333;
    font-size: 1em;
}

*
{
    box-sizing: border-box;
}

.prevent-scroll {
    overflow: hidden;
}

p
{
    margin: 0;
    padding: 0;
    letter-spacing: -0.01em;
}

a, a:hover, a:visited, a:active
{
    text-decoration: none;
    color: inherit;
}

h1, h2, h3, h4, h5
{
    margin: 0;
    padding: 0;
    font-weight: 400;
}

.bold
{
    font-weight: 700;
}

.container
{
    width: 1200px;
    min-width: 1200px;
    margin: 0 auto;
    padding: 0;
}

.main-content
{
    margin-top: 15px;
}

p.mobile-head-copy{
    display: none;
}

.bold
{
    font-weight: 700;
}

.sidebar ul .side-subdepth
{
    display: none;
    margin: 0 0 10px;
    padding: 5px 0 0 5px;
    font-size: 12px;
}

.sidebar ul .side-subdepth.show
{
    display: block;
}

.sidebar ul .side-subdepth > li
{
    padding: 2px 0;
}

.sidebar ul .side-subdepth > li::before
{
    content: "- ";
}

.side-contact
{
    background: #344B92;
    color: #fff;
    font-size: 14px;
    padding: 15px 30px;
    margin: 25px 0 0;
    cursor:pointer;
}

/* custom select */
.select-wrap
{
    position:relative;
    display: inline-block;
}
.select-wrap::after
{
    display: inline-block;
    position:absolute;
    content: '﹀';
    font-size: 10px;
    color: #344b92;
    top: 44%;
    right: 10px;
    font-family: 'line-awesome';
}
.select {
    display:inline-block;
    background-color:#fff;
    border-radius: 0;
    border: 1px solid #344b92;
    color:#013;
    width: 200px;
    height: 35px;
    color: #344b92;
    vertical-align:middle;
    position:relative;
    font-size: 12px;
}
.select:after {
    position:absolute;
    bottom:.15em;
    top:.15em;
    left:.5rem;
    content:'\2193';
    pointer-events: none;
}
select {
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    font:inherit;
    border:none;
    background-color:transparent;
    color:inherit;
    width:100%;
    height:100%;
    padding:0 .5em;
}

.inner.greeting
{
    background: #fff url('/assets/images/head_greeting.png') 90% 100px no-repeat !important; 
    background-size: 30% !important;
}

.inner.greeting > .content-para
{
    width: 60%;
}

a.tel
{
    text-decoration: underline;
}

/***************************
*
*   2. header
*
***************************/

.language-bar
{
    background: #344B92;
    height: 40px;
    display: flex;
    align-items: center;
}

.language-bar .container
{
    height: 100%;
    display: flex;
    width: 1200px;
    justify-content: space-between;
    align-items: center;
}
.language-bar .container > div {
    display: flex;
    align-items: center;
    gap: 5px;
}
.language-bar > div
{
    color: #fff;
    padding: 0 10px;
    height: 100%;
}
.language-bar span
{
    padding: 0 5px;
    display: inline-block;
    color: #fff;
    font-size: 12px;
    text-transform: uppercase;
    cursor: pointer;
    /* letter-spacing: 1px; */
}
.language-bar span.btn{
    color: #344B92;
    font-weight: 700;
    background-color: rgba(255,255,255,0.8);
    border-radius: 5px;
    padding: 0 10px;
    font-size: 0.9em;
}

nav
{
    background: #fff;
    height: 120px;
    border-bottom: 1px solid #344B92;
    display: flex;
    /* justify-content: center; */
    align-items: center;
}

nav .logo
{
    padding: 0 15px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 120px;
}

#hamburger
{
    display: none;
}

.hamburger
{
    display: none;
    -webkit-tap-highlight-color: transparent;
}

nav .logo-image
{
    width: 266px;
    height: 40px;
}

nav .nav-list
{
    padding: 0 15px;
}

nav .nav-list .fxcenter{
    display: none;
}

nav .nav-list > ul
{
    margin: 0;
    padding: 0;
    list-style-type: none;
    text-align: center;
    height: 120px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 40px;
}

nav .nav-list ul > li
{
    display: inline-block;
    margin: 0;
    color: #344B92;
    cursor: pointer;
    position: relative;
}

nav .nav-list ul > li::after
{
    content: "";
    background: #344B92;
    width: 0;
    height: 2px;
    top: 25px;
    left: 0;
    transition: 0.3s;
    position: absolute;
}

nav .nav-list ul > li:hover::after
{
    width: 100%;
}

/***************************
*
*   index page
*
***************************/

.hero-content
{
    background-color: transparent; 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    width: 100%; 
    height: 165px;
    padding: 15px 30px;
    display: none;
}

.hero-content h3
{
    font-size: 22px;
    margin: 15px 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 90%;
}

.hero-content > .content
{
    overflow: hidden;
    font-size: 14px;
    line-height: 190%;
    max-height: 50px;
}
p.mobile-main-section-title{
    display: none;
}

.main-content-area
{
    margin-top: 30px;
    width: 100%;
    border-top: 2px solid #344B92;
    background: #fff;
}

/*.main-latest-work.active h3,
.main-latest-work.active p{
    color: #344B92;
}*/

.main-content-area.contact, .main-content-area.forms, .main-content-area.fxcenter, .main-content-area.legaltune
{
    margin-top: 0;
    border: 0;
    background-size: cover;
    height: 105px;
}

.main-content-area.contact
{
    background: url('/assets/images/contact.jpg') center bottom no-repeat;
    background-size: cover;
}

.main-content-area.legaltune
{
    background: url('/assets/images/main-legaltune.jpg') center bottom no-repeat;
    background-size: cover;
}

.main-content-area.fxcenter
{
    background: url('/assets/images/fxc_header.jpg') center bottom no-repeat;
    background-size: cover;
}

.main-content-area.forms
{
    background: url('/assets/images/forms.jpg') center center no-repeat;
}

.main-head
{
    padding: 20px 30px;
    position: relative;
    color: #344B92;
    border-bottom: 1px solid #d8d8d8;
}

.main-head > h3
{
    font-size: 16px;
    letter-spacing: 1px;
}

.main-head > h5
{
    font-size: 14px;
}

.main-head > span
{
    position: absolute;
    right: 30px;
    top: 20px;
    font-size: 12px;
}

.main-content-inner
{
    padding: 10px 15px;
}

.main-content-inner > [class*='col-']
{
    padding: 15px 15px;
}

.main-latest-work > h3
{
    font-size: 16px;
    color: #344B92;
    margin-top: 15px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.main-latest-work > .content-preview
{
    font-size: 14px;
    color: #656565;
    line-height: 150%;
    overflow: hidden;
    max-height: 45px;
    margin-top: 5px;
}

.main-latest-work > .photo
{
    background: #eee center center no-repeat; 
    background-size: cover;
    width:100%; 
    height: 195px;
}

.main-press-release
{
    padding: 0 15px;
    min-height: 72px;
    margin: 3px 0;
}

.main-press-release > h3
{
    color: #344B92;
    font-size: 14px;
    margin: 0 0 2px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.main-press-release > p
{
    font-size: 12px;
    color: #656565;
    margin-bottom: 0;
    overflow: hidden;
    max-height: 35px;
}

.main-domain
{
    padding: 3px 15px;
}

.main-domain .col-6
{
    padding: 5px 15px;
}

.main-domain div > ul
{
    margin: 0;
    padding: 0;
    list-style-type: none;
    color: #656565;
    font-size: 14px;
}

.main-domain div > ul > li
{
    line-height: 230%;
}

.main-forms
{
    padding: 3px 15px;
}

.main-forms ul
{
    font-size: 14px;
    padding: 3px 0 0;
    margin: 0;
}

.main-forms li
{
    list-style-type: none;
    line-height: 220%;
    width: 100%;
    text-overflow: ellipsis;
    overflow:hidden;
    white-space: nowrap;
}

.main-forms .col-6
{
    padding: 5px 15px;
}

p.mobile-main-news-category{
    display: none;
}

/***************************
*
*   footer
*
***************************/

footer{
    background: #292929;
    color: #bfbfbf;
    font-size: 14px;
    padding: 50px 30px 10px;
    margin-top: 60px;
}

footer > .container
{
    padding: 0 15px;
}

footer [class*='col-']
{
    padding: 30px 5px;
}

footer p
{
    margin-bottom: 7px;
    line-height: 175%;
}

.footer-logo
{
    width: 200px;
    margin-bottom: 5px;
}

.footer-icon-wrap
{
    display: inline-block;
}

.footer-icon
{
    display: inline-block;
    margin: 0 0 0 15px;
    height: 24px;
}

footer .channel
{
    text-align: right;
    position: relative;
    height: 100%;
}

footer .channel > img
{
    display: inline-block;
    margin-left: 10px;
    vertical-align: top;
}

.company-info.mobile
{
    display: none;
}

.dummy
{
    background: #aaa;
    color: #fff;
}

/***************************
*
*   page common
*
***************************/

.partner-category
{
    font-size: 24px;
    font-weight: 700;
    margin: 30px 0 25px;
    text-align: left;
    padding-bottom: 15px;
    border-bottom: 1px solid;
    color: #344B92;
}

.partner-row
{
    margin: 0;
}

.partner-col hr
{
    margin: 15px 0 5px !important;
    width: 90%;
}

.partner-col img
{
    width: 100%;
    padding: 0 15px;
}

.partner-col
{
    text-align: center;
    min-height: 140px;
}

.partner-col > .img-wrapper
{
    display: block;
    height: 70px;
    line-height: 70px;
    overflow: hidden;
}

.partner-col > .img-wrapper > img
{
    vertical-align: middle;
}

.partner-name
{
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    margin-bottom: 30px;
    color: #888;
    opacity: 0;
    transition: 0.3s;
    position: relative;
    top: -10px;
}

.partner-others
{
    display: none;
}

.showmore
{
    height: 100px;
    line-height: 100px;
    text-align: center;
    background: #f7f7f7;
    color: #aaa;
    cursor: pointer;
    font-size: 14px;
}

/***************************
*
*   page common
*
***************************/

.location
{
    background: #ddd;
    font-size: 12px;
    text-align: right;
    padding: 5px 0;
}

.header-img
{
    background: #fff url("/assets/images/content-header.jpg") center center no-repeat;
    background-size: cover;
    height: 240px;
    overflow: hidden;
}

.header-img h1,
.header-img .board-name
{
    color: #fff;
    text-align: center;
    margin-top: 50px;
    font-size: 36px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.7);
}

.sidebar, .page-content > .inner
{
    box-shadow: 0 0 13px rgba(0,0,0,0.1);
}

.sidebar
{
    margin: 0;
    /* padding: 20px 30px; */
    padding: 0;
    background: #fff;
    border-top: 4px solid #344B92;
}

.sidebar ul
{
    margin: 10px 30px;
    padding: 0;
    list-style-type: none;
}

.main-content.subpage
{
    margin-top: -87px;
}

.sidebar h3
{
    padding: 20px 30px;
    margin: 0;
    color: #344B92;
    line-height: 110%;
    border-bottom: 1px solid #ccc;
}

/* .sidebar h3::after
{
    content: "";
    height: 1px;
    background: #ccc;
    width: 50%;
    display: block;
    margin: 15px 0 0;
} */

.sidebar ul
{
    margin-top: 20px;
}

.sub-sidebar-title
{
    color: #787878;
    font-size: 14px;
}

.sidebar_close
{
    position: absolute;
    right: 30px;
    top: 35px;
    font-size: 12px;
    display: none;
}

.sidebar ul > a
{
    display: block;
    padding: 12px 0 5px;
    margin: 0;
    /* border-bottom: 1px solid #eee; */
    font-size: 14px;
    color: #344B92;
    position: relative;
    cursor: pointer;
    z-index: 0;
}

.sidebar ul > a::after
{
    transition: 0.3s;
    content: "";
    background: #344B92;
    height: 2px;
    width: 0;
    position: absolute;
    left: 0;
    bottom: 0;
}

.sidebar ul > a:hover::after
{
    width: 20px;
}

/* .sidebar ul > li::after
{
    content: "";
    display: block;
    height: 2px;
    width: 15px;
    background: #344B92;
    margin: 10px 0;
} */

.page-content
{
    margin: 0;
    padding: 0 0 0 30px;
}

.page-content hr
{
    display: block;
    height: 1px;
    border:0;
    border-top: 1px solid #eee;
    margin: 30px 0;
    padding: 0;
}

.page-content > .inner
{
    background: #fff;
    border-top: 4px solid #344B92;
    padding: 20px 50px 50px;
}

.page-content > .inner.loc [class*='col-']
{
    padding: 0;
}

.page-title
{
    font-size: 33px;
    color: #344B92;
    /* border-bottom: 1px solid #344B92; */
    padding-bottom: 15px;
    font-weight: 700;
}

.page-title::after
{
    display: block;
    content: "";
    background: #344B92;
    height: 4px;
    width: 40px;
    margin: 20px 0 0 3px;
}

.section-title
{
    margin: 30px 0 10px;
    font-size: 26px;
    font-family: 'Open Sans', sans-serif;
    /* border-bottom: 1px solid; */
    /* padding-bottom: 15px; */
    color: #344B92;
    text-transform: uppercase;
}

h4.section-title
{
    font-size: 22px;
    margin: 30px 0 0;
}

.content-para
{
    font-size: 15px;
    margin: 15px 0 10px;
    line-height: 180%;
    word-break: keep-all;
    color: #454545;
}

.divider
{
    width: 100%;
    height: 1px;
    background: #ccc;
    margin: 50px 0;
}

/***************************
*
*   location
*
***************************/

.location-row [class*="col-"]
{
    padding: 30px 30px 0 0;
}

.location-row .content-para
{
    margin: 10px 0;
}

.location-row .section-title::before
{
    content: "";
    height: 4px;
    width: 20px;
    display: block;
    background: #344B92;
    margin-bottom: 10px;
}

/***************************
*
*   member
*
***************************/

.member-row [class*="col-"]
{
    padding: 7px 15px 25px 0;
}

.member-ind .member-wrap
{
    border-top: 3px solid;
    /* border-bottom: 2px solid; */
    padding: 25px 30px;
    height: 330px;
    background-size: cover;
    cursor:pointer;
}

.member-wrap
{
    color: #344B92;
    transition: 0.3s;
}

.member-wrap h3
{
    /* color: #FFF; */
    font-size: 30px;
}

.member-wrap p
{
    /* color: #FFF; */
    font-size: 16px;
    margin: 10px 0 0;
}

.member-wrap h3::after
{
    content: "";
    display: block;
    background: #344B92;
    width: 20px;
    height: 2px;
    margin: 10px 0 0 5px;
}

.member-wrap .position
{
    padding-left: 3px;
    max-width: 115px;
}

/* .member-detail .page-title > .position
{
    font-size: 22px;
    font-weight: normal;
    color: #888;
} */

.inner.member-detail.news
{
    margin: 20px 0 0; 
    border: 0; 
    padding: 15px 50px; 
}

.member-detail [class*="col-"]
{
    padding: 3px;
}

.member-detail .right
{
    padding-left: 40px;
}

.member-detail .member-photo
{
    width: 100%;
}

.icon-container
{
    text-align: right;
}

.icon-container .icon
{
    display: inline;
    margin-right: 3px;
    cursor: pointer;
}

.icon-container .icon > svg
{
    fill: #344B92;
}

.member-contact
{
    margin: 20px 0;
    padding: 0;
    list-style-type: none;
    line-height: 180%;
    color: #344B92;
    font-size: 16px;
}

.member-section h3
{
    font-size: 24px;
    color: #344B92;
    border-bottom: 1px solid #344B92;
    padding: 0 0 10px 0;
    margin: 0 0 10px 0;
    font-weight: 400;
}

.member-section h3 > sup
{
    font-size: 14px;
    margin-left: 5px;
}

.member-section > .detail
{
    color: #555;
    font-size: 14px;
    line-height: 190%;
    margin-bottom: 40px;
}

.member-section > .detail h1, .member-section > .detail h2, .member-section > .detail h3
{
    margin: 5px 0;
    padding: 0;
    border: 0;
    color: #333;
    font-weight: 700;
}

.member-section > .detail h1
{
    font-size: 20px;
}

.member-section > .detail h2
{
    font-size: 18px;
}

.member-section > .detail h3
{
    font-size: 16px;
}

.member-news
{
    width: 100%;
    padding: 0;
    border-collapse: collapse;
}

.member-news
{
    display: block;
    padding: 10px;
    background: #f0f0f0;
    font-size: 14px;
    color: #333;
    position: relative;
    margin-bottom: 5px;
}

.member-news > .title
{
    width: 90%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.member-news::after
{
    font-family: "LineAwesome";
    height: 100%;
    width: 40px;
    font-size: 24px;
    content: "\f112";
    background: #ddd;
    color: #999;
    position: absolute;
    top: 0;
    right: 0;
    line-height: 40px;
    text-align: center;
}

.member-news-more
{
    font-size: 12px;
    color: #aaa;
    display: inline-block;
    /* padding: 5px 10px; */
    /* text-align: right; */
    cursor: pointer;
}

/***************************
*
*   domain
*
***************************/

.domain [class*='col-'], .work-case [class*='col-']
{
    padding: 0;
}

.domain h3, .work-case h3
{
    color: #344B92;
    font-size: 18px;
    font-weight: 700;
    padding-bottom: 10px;
    margin: 20px 0 10px;
    width: calc(100% - 30px);
    border-bottom: 2px solid;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow:hidden;
    /* border-bottom: 1px solid ; */
}

.domain-wrap
{
    /* height: 250px; */
    margin: 15px 0 15px;
    /* padding: 15px; */
}
/* 
.domain-wrap::before
{
    height: 4px;
    background: #344B92;
    width: 99%;
    display: block;
    content: "";
    margin-bottom: 10px;
} */

.domain-wrap > div
{
    /* background: #eee url('/assets/images/domain_bg.jpg') center center no-repeat; */
    background: #fff center center no-repeat;
    background-size: cover;
    height: 100%;
    /* padding: 15px; */
}

.domain-wrap > div > i
{
    font-size: 40px;
    color: #344B92;
}

.domain-wrap h3
{
    border: 0;
    margin: 5px 0 5px;
}

.domain-wrap ul
{
    list-style: none;
    margin: 0;
    padding: 0;
}

.domain-wrap li
{
    font-size: 14px;
    line-height: 161%;
    margin-bottom: 10px;
    color: #777;
    padding-right: 25px;
}

.domain-wrap ul::before
{
    height: 1px;
    background: #344B92;
    width: 40px;
    content: "";
    display: block;
    margin-bottom: 15px;
}

/* .domain h3::after
{
    content: "";
    width: 90%;
    height: 2px;
    background: #344b92;
    display: block;
    margin-top: 10px;
} */

.domain-detail p, .domain-detail ul, .domain-detail li, .domain-detail strong
{
    font-size: 14px;
    line-height: 180%;
    width: 90%;
    word-break: keep-all;
}

.domain-detail ul {
    margin: 5px 0 25px;
    padding-left: 30px;
}

.domain-detail .member-news
{
    width: calc(100% - 30px);
}

/***************************
*
*   newsletter
*
***************************/

.letter-subc
{
    padding: 30px 0;
    border-bottom: 3px solid #344B92;
    margin-bottom: 15px;
}

.letter-subc h2
{
    font-weight: 700;
}

.letter-subc span
{
    color: #344B92;
}

.newsletter-date
{
    text-align: right;
}

.letter-subc-btn-area
{
    text-align: right;
    padding-top: 10px !important;
}

/***************************
*
*   works
*
***************************/

.work-list-row
{
    margin-left: -15px;
}

.work-list-wrap
{
    padding: 15px !important;
    margin: 0;
}

.work-list
{
    background: #fff;
    padding:0 0 30px;
    border-bottom: 1px solid #eee;
    /* border: 1px solid #ddd; */
    /* box-shadow: 0 3px 10px rgba(0,0,0,0.2); */
}

.work-list .release-date
{
    /* border-bottom: 1px solid #f5f5f5; */
    /* padding: 0 15px; */
    font-size: 12px;
    color: #ccc;
}

.work-list h3
{
    border: 0;
    font-size: 18px;
    /* padding: 15px 15px 5px; */
    margin: 0;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.work-list .preview
{
    height: 50px;
    overflow: hidden;
    margin: 15px 0 0;
    /* padding: 20px 15px; */
    font-size: 14px;
    color: #888;
    word-break: keep-all;
    line-height: 180%;
    width: 90%;
}


form.search
{
    /* width: 600px; */
    /* display: inline-block; */
    margin: 15px 0;
    text-align: left;
}

.search > input
{
    border: 1px solid #344B92;
    padding: 10px 10px;
    width: 570px;
    vertical-align: middle;
}

.search > input.press
{
    width: 755px;
}

.search > button
{
    border: 1px solid #344B92;
    vertical-align: middle;
    padding: 10px 30px 9px;
    background: #344B92;
    color: #fff;
}

.search > button.press
{
    width: 80px;
    margin: 0;
    padding: 10px 15px 9px;
}

.case-detail [class*='col-']
{
    padding: 0;
}

.case-detail .page-title
{
    width: 100%;
}

.case-detail .date
{
    font-size: 14px;
    color: #888;
    padding: 0;
    /* margin: -30px 0 0; */
}

.case-detail .article-content
{
    font-size: 18px;
    word-break: break-all;
    color: #555;
    line-height: 180%;
    margin: 15px 0 0;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-color: #eee;
    border-bottom-color: #344B92;
    padding: 30px 0;
}

.article-content > *
{
    max-width: 100%;
}

.article-content img
{
    display: inline;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto;
}

.article-content p
{
    margin: 0 0 20px;
}

.article-content a
{
    text-decoration: underline !important;
}

.case-detail h3.sub-title
{
    font-size: 18px;
    color: #344B92;
    font-weight: 700;
    padding: 0 0 10px;
    margin-top: 30px;
    /* border-bottom: 1px solid #344B92; */
}

.case-detail p.desc
{
    margin: 10px 0;
    color: #777;
    padding: 0 0 0 5px;
}

.case-detail p.desc::before
{
    content: "+ ";
}

.case-detail h3.sub-title::after
{
    content: "";
    height: 2px;
    width: 30px;
    margin: 15px 0 0;
    background: #344B92;
    display: block;
}

.case-detail .icon-container
{
    margin-bottom: 30px;
    padding: 0;
    margin: -5px 0 0;
}

.work-case .misc
{
    font-size: 12px;
    margin: 15px 0 0;
}

.attachments
{
    border-bottom: 1px solid #344B92;
    padding-bottom: 15px;
}

.attachments h4
{
    font-size: 18px;
    margin: 10px 0 5px;
    font-weight: 700;
    color: #344B92;
}

.board-prev-img
{
    height: 115px;
    margin-right: 30px;
    background: #ccc center center no-repeat;
    background-size: cover;
}

/***************************
*
*   press
*
***************************/

.press-headline
{
    height: 300px;
    padding: 15px 25px;
}

.press-headline > .content
{
    background: transparent center center no-repeat;
    background-size: cover;
    height: 100%;
    overflow: hidden;
}

.press-headline .textarea
{
    background: rgba(255,255,255,0.8);
    width: 45%;
    height: 200px;
    margin-top: 35px;
    padding: 10px 20px;
}

.press-headline .textarea > .source
{
    margin: 20px 0 0;
    padding: 0;
    color: inherit;
    border: 0;
}

.press-headline .textarea > .headline
{
    margin-top: 10px;
    font-size: 16px;
    width: 100%;
    /*text-overflow: ellipsis;*/
    /*white-space: nowrap;*/
    overflow: hidden;
    padding-right: 10px;
    height: 50px;
}

.press-headline .textarea > .date
{
    margin-top: 30px;
    font-size: 14px;
}

.board-tile
{
    padding: 0 15px;
    margin-bottom: 30px;
}

.board-tile > .tile
{
    height: 200px;
    padding: 10px;
     position: relative; 
}

.board-tile > .tile > a > div
{
    background: #f7f7f7;
    overflow: hidden;
    height: 100%;
    border-top: 3px solid #344B92;
}

.board-tile .source
{
    color: inherit;
    border: 0;
    padding: 0 15px;
    font-size: 16px;
    white-space: normal;
    display: inline-block;
    max-height: 100px;
}

.board-tile .content
{
    height: 60px;
    overflow: hidden;
    padding: 15px;
    font-size: 14px;
    line-height: 160%;
}

.board-tile .date
{
    padding: 0 15px;
    font-size: 12px;
}

.board-tile .tile .date
{
    position: absolute;
    bottom: 30px;
}

.board-tile a
{
    width: 100%;
    height: 100%;
    display: block;
    background: transparent;
}

.pagination
{
    margin-top: 30px;
    text-align: center;
}

.pagination strong, .pagination a
{
    display: inline-block;
    margin: 0 8px;
}

.pagination strong
{
    color: #344B92;
}

.pagination a
{
    color: #343434;
}


/***************************
*
*   buttons
*
***************************/

.btn
{
    display: inline-block;
    padding: 10px 50px;
    font-size: 14px;
    line-height: 28px;
    vertical-align: center;
    position: relative;
    cursor: pointer;
    z-index: 100;
    transition: 0.3s;
    overflow: hidden;
}

.btn::after
{
    position: absolute;
    content: "";
    /* display: block; */
    width: 0;
    height: 100%;
    left: 50%;
    top: 50%;
    z-index: -100;
    transition: 0.3s;
    transform: translate(-50%,-50%);
}

.btn:hover::after
{
    width: 110%;
}

.btn.primary
{
    color: #344B92;
    border: 2px solid;
    background: transparent;
}

.btn.primary:hover
{
    color: #fff;
    border-color: #344B92;
}

.btn.primary::after
{
    background: #344B92;
}

/***************************
*
*   contact
*
***************************/

form.contact > input
{
    width: 100%;
    height: 40px;
    display: block;
    margin: 0 0 10px;
    border: 1px solid #ccc;
    padding: 0 5px;
}

form.contact > input, form.contact > textarea, form.contact > select
{
    font-size: 14px;
} 

form.contact > select
{
    width: 100%;
    height: 40px;
    margin-bottom: 10px;
    border-radius: 0;
    border-color: #ccc;
}

form.contact > textarea
{
    resize: vertical;
    width: 100%;
    min-height: 300px;
    border: 1px solid #ccc;
    padding: 5px;
}

form.contact > .btn
{
    margin: 20px 0 0;
}

form.contact > .terms
{
    border: 1px solid #ccc;
    padding: 15px;
    height: 200px;
    overflow-y: auto;
    margin: 0 0 15px;
    font-size: 12px;
    color: #777;
}

form.contact > .terms > .title
{
    color: #344B92;
    display: block;
    font-size: 16px;
    margin-bottom: 10px;
}

.contact .left
{
    padding: 0 20px 0 0;
}

.contact .right
{
    padding: 0 5px 0 20px;
}

.contact .submit
{
    padding: 15px 0 0;
    text-align: right;
}

.work-time
{
    font-size: 14px;
    color: #454545;
    line-height: 180%;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #344B92;
}

.counsel_process
{
    font-size: 14px;
    word-break: keep-all;
    color: #676767;
}

.counsel_process p
{
    margin: 0 0 15px;
}

.contact .headtitle
{
    color: #344B92;
    font-size: 18px;
    /* font-weight: 700; */
    margin-top: 20px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #344b92;;
}

.counsel_process > ul
{
    padding: 0;
    margin: 30px 0;
    list-style: none;
}

.counsel_process > ul > li
{
    padding:0 0 0 10px;
    height: 50px;
    background: #f4f4f4;
    margin: 15px 0;
    font-size: 14px;
    line-height: 50px;
    overflow: hidden;
    position: relative;
}

.counsel_process > ul > li::before
{
    width: 50px;
    height: 50px;
    content: "";
    background: #344B92;
    top: -40px;
    left: -30px;
    display: block;
    position: absolute;
    transform: rotate(45deg);
}

.counsel_process > ul > li > .emp
{
    font-weight: 700;
    color: #344B92;
    display: inline-block;
    margin-right: 10px;
}

/***************************
*
*   forms
*
***************************/

.form-list
{
    padding-bottom: 30px;
    margin: 15px 0;
    border-bottom: 1px solid #eee;
}

.form-list img
{
    max-width: 200px; box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.form-list .form-title
{
    font-size: 24px;
    font-weight: 700;
    color: #344b92;
    padding-left: 30px;
}

.form-list .form-desc
{
    font-size: 14px;
    line-height: 191%;
    margin-top: 15px;
    color: #999;
    padding-left: 30px;
}

.form-download
{
    padding: 30px 30px 0;
}

.form-download > .btn{
    margin-bottom: 10px;
}

.inner.forms .form-kakao{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0 15px 20px;
    border-bottom: 1px solid #eee;
}
.inner.forms .form-kakao .text{
    width: 60%;
}
.inner.forms .form-kakao p{
    font-size: 14px;
    margin-bottom: 15px;
    word-break: keep-all;
}
/***************************
*
*   privacy
*
***************************/
.privacy p
{
    margin: 15px 0 30px;
    font-size: 16px;
    line-height: 180%;
    /*width: 80%;*/
}
.privacy h4
{
    font-weight: 700;
    font-size: 20px;
}

.privacy table
{
    border-collapse: collapse;
    width: 100%;
    margin: 15px 0 60px;
}

.privacy table th
{
    padding: 10px 15px;
    border: 1px solid #ccc;
    text-align: left;
    background-color:rgba(45,66,135,0.2);
}

.privacy table td
{
    border: 1px solid #ccc;
    padding: 15px;
    word-break: keep-all;
}

.privacy .table-title
{
    display: block;
    margin: 30px 0 0;
}

/***************************
*
*   law series
*
***************************/

.law-series h2 
{
    color: #344B92;
    font-size: 1.8em;
    font-weight: 700;
    margin: 30px 0 0;
}
.law-series h3 
{
    font-size: 1.3em;
    font-weight: 700;
    margin: 5px 0 30px;
    color: #344B92;
}
.law-series p
{
    margin: 15px 0;
    word-break: keep-all;
    font-size: 1.2em;
    line-height: 1.8em;
}
.law-series p .emp 
{
    color: #344B92;
    font-weight: 700;
}
.law-series-tc
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 30px 0;
    gap: 15px;
    overflow-y: hidden;
}

.law-series-tc > div 
{
    width: 100%;
    min-width: 280px;
    min-height: 450px;
    background-size: cover;
    background-position: center;
    position: relative;
    cursor: pointer;
    top: 5px;
    opacity: 0;
    animation: lawSeriesFadeIn 0.7s forwards;
}
.law-series-tc > div:nth-child(1) 
{
    animation-delay: 0.3s;
}
.law-series-tc > div:nth-child(2) 
{
    animation-delay: 0.6s;
}
.law-series-tc > div:nth-child(3) 
{
    animation-delay: 0.9s;
}
.law-series-tc > div > p 
{
    position: absolute;
    width: 100%;
    color: #fff;
    font-size: 1.2em;
    word-break: keep-all;
}
.law-series-tc > div > p.top 
{
    top: 15px;
    text-align: center;
    backdrop-filter: blur(15px);
    background-color: rgba(52,75,146,0.7);
    text-shadow: rgba(0,0,0,0.9) 0px 0px 10px;
    font-weight: 700;
    width: 180px;
    left: calc(50% - 90px);
    border-radius: 50px;
    padding: 10px 10px;
}
.law-series-tc > div > p.bottom
{
    padding: 20px 20px;
    bottom: 0;
    text-align: center;
    background-color: rgba(52,75,146,0.9);
}
.law-series-tc > div.law-series.content 
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: auto;
}
.law-series-tc > div.law-series.content > p.top 
{
    position: static;
}
.law-series-tc > div.law-series.content > .text 
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid #e0e0e0;
    padding: 0 20px;
    border-radius: 10px;
    min-height: 150px;
}
.law-series-tc > div.law-series.content > .text > p 
{
    font-size: 1em;
    margin: 3px 0;
}
.law-series-tc > div.law-series.content .circle 
{
    background-color: rgb(52,75,146);
    color: #fff;
    width: 200px;
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
    border-radius: 100px;
    text-align: center;
    font-size: 1.3em;
    font-weight: 700;
}
.law-series-tc > div.law-series.content .circle::before,
.law-series-tc > div.law-series.content .circle::after 
{
    display: block;
    position: absolute;
    color: rgb(52,75,146);
}
.law-series-tc > div.law-series.content .circle::before 
{
    content: "▶";
    left: 0px;
}
.law-series-tc > div.law-series.content .circle::after 
{
    content: "◀";
    right: 0px;
}
.lawbooster-object .description 
{
    height: 450px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    padding: 0 15px;
    margin-top: -20px;
    background-color: rgba(0,0,0,0.7);
    color: #fff;
}
.lawbooster-object .description .caption
{
    font-size: 0.9em;
    color: #cfcfcf;
}
.lawbooster-object .description.show 
{
    animation: lawSeriesFadeIn 0.3s forwards;
}
.lawbooster-object .description p 
{
    font-size: 1.1em;
    line-height: 1.7em;
    margin: 7px 0;
    width: 100%;
    pointer-events: none;
}
.lawbooster-object .sample-image
{
    width: 100%;
    border: 1px solid #eee;
}
.law-series button.contact 
{
    display: block;
    cursor: pointer;
    background-color: #344B92;
    color: #fff;
    margin: 60px auto 15px;
    border: 0;
    padding: 20px 35px;
    font-size: 1.1em;
}

@keyframes lawSeriesFadeIn 
{
    0% {
        opacity: 0;
    }
    100% {
        top: 0;
        opacity: 1;
    }
}

/***************************
*
*   multilanguage
*
***************************/

.index-domain
{
    padding: 20px 30px;
}
.index-domain i
{
    font-size: 40px;
    color: #344B92;
}
.index-domain h3
{
    font-size: 14px;
    color: #333;
    font-weight: 300;
    margin: 10px 0 0;
}

.index-domain h3::before
{
    height: 1px;
    width: 100%;
    background: #344b92;
    display: block;
    content: "";
    margin-bottom: 10px;
}

.index-domain ul
{
    list-style-type: none;
    margin: 10px 0;
    padding: 0;
}

.index-domain li
{
    margin: 0;
    font-size: 14px;
    line-height: 160%;
}

.en-main-domain
{
    border-top: 2px solid #344B92;
    padding-top: 13px;
    font-size: 15px;
    color: #344B92;
    font-weight: 700;
    margin: 20px 0 0;
}

/***************************
*
*   swiper
*
***************************/

.swiper-container
{
    width: 100%;
    height: 100%;
}

.swiper-slide
{
    background: transparent center center no-repeat;
    background-size: cover;
}

.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction
{
    top: 15px;
    bottom: inherit;
    text-align: right;
    padding-right: 30px;
}

.swiper-pagination-bullet
{
    border-radius: 0;
    height: 3px;
    width: 30px;
    transition: 0.3s;
    background: #ddd;
    opacity: 1;
}

.swiper-pagination-bullet-active
{
    background-color: #344B92;
}

/***
* extra
***/

blockquote
{
    font-style: italic;
    font-family: sans-serif;
    padding: 2px 0 0 15px;
    border-style: solid;
    border-color: #ccc;
    border-width: 0px;
    border-left: 4px solid #ccc;
    font-size: 14px;
    line-height: 161%;
}

.main_popup{
    width: 600px;
    position: absolute;
    top: 180px;
    left: 200px;
    z-index: 500;
    background-color: #000;
    border: 1px solid #ddd;
}
.main_popup .close_btn{
    cursor: pointer;
    text-decoration: underline;
    font-size: 14px;
    display: inline-block;
    margin-bottom: 10px;
    margin-left: 10px;
}

@media all and (max-width: 600px)
{
    p.mobile-main-section-title{
        display: block;
        text-align: left;
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        margin: 40px 0 0;
        padding: 20px 0 10px;
        background-color: transparent;
        position: relative;
        line-height: 130%;
        letter-spacing: 5px;
        font-family: "comfortaa";
        font-weight: bold;
        text-align: center;
        font-size: 28px;
        /* background-image: url(/assets/images/main-mobile-title-bg.jpg);
        background-size: cover;
        background-position: center; */
        /* border-top-left-radius: 10px;
        border-top-right-radius: 10px;
        margin: 60px 0 15px;
        padding: 0 0 10px 0;
        text-shadow: 0 0 5px rgba(0,0,0,0.9);
        border-bottom: 1px solid #fff; */
    }
    p.mobile-main-section-title.smallmargin{
        margin-top: 10px;
    }
    p.mobile-main-section-title > span{
        font-size: 14px;
        font-weight: 500;
    }
    /* p.mobile-main-section-title:before{
        display: block;
        content: "";
        position: absolute;
        background-color: #fff;
        left: 15px;
        top: 50%;
        width: 5px;
        height: 1px;
    } */
    p.mobile-main-section-title.nomargin{
        margin-top: 0px;
    }
    p.mobile-head-copy{
        display: block;
        z-index: 100;
        padding: 15px 20px 5px;
        font-size: 24px;
        color: #fff;
        font-weight: 700;
        text-shadow: 0 0 5px rgba(0,0,0,0.9);
    }
    p.mobile-main-news-category{
        display: block;
        margin: 0;
        font-size: 12px;
        color: #344B92;
        font-weight: 700;
    }
    .swiper-pagination-bullet
    {
        height: 6px;
        width: 6px;
        border-radius: 10px;
    }
    .main-latest-work > h3{
        margin-top: 2px;
    }
    .container
    {
        min-width: 100%;
        width: 100%;
    }
    .language-bar .container
    {
        width: 100%;
    }
    .language-bar span.btn {
        font-size: 0.55em;
        padding: 0 3px;
        line-height: 24px;
    }
    header
    {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1000;
    }

    .main-content.indexview
    {
        margin-top: 110px;
        padding-bottom: 30px;
    }
    .main-content.indexview:before{
        display: block;
        width: 100vw;
        height: 100vh;
        position: fixed;
        background: url(/assets/images/urban_temp.jpg) center center no-repeat;
        /* background-size: cover;
        background-attachment: fixed; */
        content: "";
        z-index: -10;
    }
    .main-latest-work{
        padding: 10px 15px;
    }
    div.main-domain{
        display: flex;
        padding-bottom: 10px;
    }
    nav .logo
    {
        height: 80px;
    }
    nav .nav-list
    {
        position: absolute;
        padding: 0;
        max-height: 0;
        overflow: hidden;
        transition: 0.8s;
        z-index: 1000;
    }
    nav .nav-list > ul
    {
        gap: 0;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        height: auto;
        margin:0;
        text-align:left;
        background-color: #fff;
    }
    nav .nav-list ul > li
    {
        display: inline-block;
        /* width: 50%; */
        text-align: center;
        margin: 0;
        padding: 20px 0;
        background: #fff;
        border-bottom: 1px solid #eee;
        border-right: 1px solid #eee;
    }
    nav
    {
        height: 80px;
    }
    nav .logo-image{
        width: 180px;
    }
    /* #hamburger
    {
        display: block;
    } */
    .hamburger
    {
        display: block;
        position: absolute;
        right: 0;
        width: 80px;
        height: 80px;
        /* border: 1px solid #333; */
    }
    .hamburger::before, .hamburger::after
    {
        content: "";
        background: #676767;
        width: 40%;
        height: 2px;
        display: block;
        margin: 0 auto;
        position: relative;
        transition: 0.3s;
    }
    .hamburger::before
    {
        top: 43%;
    }
    .hamburger::after
    {
        top: 53%;
    }
    #hamburger:checked ~ .hamburger::before
    {
        transform: rotate(45deg);
        top: 50%;
    }
    #hamburger:checked ~ .hamburger::after
    {
        transform: rotate(-45deg);
        top: 48%;
    }
    .main-content-area
    {
        height: auto !important;
        margin-top: 0;
        border-top: 0;
    }
    .main-content-area.contact,
    .main-content-area.fxcenter
    {
        display: none;
        /* margin-top: 10px;
        height: 118px !important; */
    }
    .main-content-area.contact h3,
    .main-content-area.contact h5{
        display: block;
    }
    .main-latest-work > .photo{
        display: none;
    }
    .main-head > h3{
        display: none;
    }
    .main-head > h5{
        display: none;
    }
    .main-head > span{
        top: 12px;
        right: auto;
        left: 30px;
    }
    footer .channel
    {
        text-align: left;
    }
    footer .channel > img
    {
        margin: 0 10px 0 0;
    }
    footer [class*='col-']
    {
        padding: 10px 5px;
    }
    footer .channel
    {
        margin-top: 30px;
    }
    footer .footer-icon-wrap
    {
        display: block;
    }
    .footer-icon
    {
        margin: 15px 10px 30px 5px !important;
    }
    .company-info.desktop
    {
        display: none;
    }
    .company-info.mobile
    {
        display: block;
    }
    /* swiper */
    .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction
    {
        padding: 0;
        text-align: center;
    }
    
    .sidebar
    {
        position: relative;
    }

    .page-content
    {
        padding: 0;
    }

    .page-content > .inner
    {
        padding: 15px 25px 60px;
        /* border-top: none; */
    }

    .sidebar, .page-content > .inner
    {
        box-shadow: none;
    }

    .inner.work-case
    {
        padding-bottom: 60px;
    }

    .main-content.subpage
    {
        margin: 110px 0 0;
    }

    footer
    {
        margin-top: 0;
    }

    .header-img h1,
    .header-img .board-name
    {
        margin: 155px 0 0;
        font-size: 24px;
    }

    #sidebar_list
    {
        display: none;
    }

    .side-contact
    {
        display: none;
        cursor:pointer;
    }

    .member-detail .right
    {
        padding: 0;
    }

    .inner.member-detail.news
    {
        margin: 15px 0;
        padding: 5px 20px;
    }

    .header-img
    {
        display: none;
    }

    .case-detail .icon-container
    {
        text-align: left !important;
        margin-top: 20px;
    }

    .icon-container
    {
        text-align: left;
        padding-left: 2px;
    }

    .search select
    {
        width: 100%;
    }

    .search input
    {
        width: 100%;
        margin: 5px 0;
    }

    .search > input.press
    {
        width: 92%;
    }

    .board-prev-img
    {
        width: 100%;
        margin: 0 0 15px 0;
        height: 200px;
    }

    nav .nav-list ul > li::after
    {
        display: none;
    }

    .press-headline .textarea
    {
        width: 100%;
        margin-top: 70px;
    }

    .member-ind .member-wrap
    {
    	background-position: -30px;
    }

    .inner.greeting > .content-para
    {
        width: 100%;
        padding: 0;
    }

    .inner.greeting
    {
        background-image: none !important;
        padding-bottom: 60px;
    }

    .contact .right, .contact .left
    {
        padding: 0;
    }

    .partner-col > .img-wrapper
    {
        height: 165px;
        line-height: 180px;
    }

    .partner-col img
    {
        width: 70%;
        vertical-align: middle;
    }

    .sidebar_close
    {
        display: inline;
    }

    .press-headline > .content
    {
        background: url('/assets/images/thumb_placeholder.jpg') #eee center center no-repeat !important;
        background-size: cover !important;
    }

    .main-legal-pack
    {
        padding: 20px 30px;
    }

    .main-forms{
        display: flex;
    }
    .main-forms .col-6
    {
        padding: 0;
    }

    .main-forms ul
    {
        padding: 20px 0 20px 15px;
    }

    .swiper-slide
    {
        background-image: none !important;
        background: #fff;
        /* border-top: 2px solid #344B92; */
    }

    .swiper-container
    {
        display: flex;
        align-items: flex-start;
        height: 255px !important;
        border: 2px solid #8ac6f8;
    }

    .hero-content
    {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
        padding-bottom: 0px;
    }

    .hero-content h3
    {
        /* text-align: center;
        overflow: hidden;
        white-space: nowrap;
        max-width: 300px;
        height: 100px; */
        word-break: keep-all;
        text-align: left;
        color: #344b92;
        max-width: 100%;
        margin: 0;
        white-space: normal;
        height: auto;
        max-height: 55px;
        overflow-y: hidden;
        line-height: 130%;
        position: relative;
        /* top: 65px; */
        margin-top: 30px;
        font-size: 20px;
    }
    .hero-content a.btn{
        margin: 20px auto;
        color: #344B92;
        border: 1px solid #344B92;
        padding: 5px 35px;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 2px;
    }
    .hero-content .content
    {
        color: #333;
        margin-top: 10px;
        line-height: 150%;
        max-height: 40px;
        font-size: 14px;
    }

    .form-title, .form-desc, .form-download
    {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .form-download .btn
    {
        width: 100%;
        text-align: center;
    }
    .partner-row .partner-name{
    	display: none;
    }
    .main_popup{
        width: 300px;
        left: 15px;
        top: 120px;
    }
    .inner.forms .form-kakao{
        display: block;
        padding: 0 15px 30px;
    }
    .inner.forms .form-kakao .text{
        width: 100%;
        margin-bottom: 20px;
    }
    .form-download > .btn{
        margin-bottom: 0px;
    }

    nav .nav-list .fxcenter{
        display: block;
    }

    .member-wrap .position
    {
        padding-left: 3px;
        max-width: 80px;
        word-break: keep-all;
    }

    .law-series-tc {
        max-width: 100%;
        overflow-x: auto;
    }
}

@media print 
{
    header
    {
        display: none;
    }

    .header-img
    {
        display: none;
    }

    .sidebar
    {
        display: none;
    }

    .main-content.subpage
    {
        margin: 0;
    }

    .page-content
    {
        margin: 0;
    }

    .sidebar, .page-content > .inner
    {
        box-shadow: none;
        border: 0;
        padding: 0;
    }

    .icon-container
    {
        display: none;
    }

    .member-detail .page-title
    {
        border-bottom: 1px solid #344B92;
    }

    .member-detail .btn
    {
        display: none;
    }
    .member-detail .member-photo
    {
        width: 200px;
    }

    .member-detail .right
    {
        padding: 0;
    }

    .member-news
    {
        padding: 0;
    }

    .member-news::after
    {
        display: none;
    }

    .member-news-more
    {
        display: none;
    }

    footer
    {
        display: none;
    }
}