/* 여기에 작업 또는 수정할 당신의 css style을 설정하세요. (customizations) */
html {
    /* vw = 450 : 16 */
    font-size: clamp(1px, 3.5556vw, 16px);
}
@media (min-width: 576px) {
    .container, .container-sm {
        /* 540px */
        /* max-width: 90%; */
    }
}
@media (min-width: 768px) {
    .container, .container-md, .container-sm {
        /* max-width: 40rem; / 720px / */
        /* max-width: 80%; */
    }
}
/* @media (min-width: 992px) {
    .container, .container-lg, .container-md, .container-sm {
        max-width: 53.333rem; / 960px /
        max-width: 70%;
    }
}
@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 90.625rem; / 1450px /
    }
} */

*, *:before, *:after { 
    word-break: keep-all;
    text-wrap-style: pretty;
}

html.zh *, html.zh *:before, html.zh *:after { 
    word-break: auto-phrase;
    text-wrap-style: balance;
}

.display-pc {
    display: block !important;
}

.display-mobile {
    display: none !important;
}

@media (max-width: 768px) {
    .display-pc {
        display: none !important;
    }

    .display-mobile {
        display: block !important;
    }
}

/*
    헤더 메뉴
*/
.page-title {
    z-index: 100;
}
.page-title-caption ul li {
    position: relative;
}

.page-title-caption ul li > span {
    display: inline-flex;
    align-items: center;
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.page-title-caption ul li > span:has(+ul) {
    cursor: pointer;
}

.page-title-caption ul li > span:has(+ul):after {
    content: "";
    display: inline-block;
    width: 1.1rem;
    height: 1.1rem;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="fill: rgba(255, 255, 255, 1);transform: ;msFilter:;"><path d="M16.293 9.293 12 13.586 7.707 9.293l-1.414 1.414L12 16.414l5.707-5.707z"></path></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}


.bread-sub-menu {
    display: none !important;
    position: absolute;
    top: 100%;
    right: 0;
    flex-direction: column;
    background: var(--white-color);
    border: 1px solid var(--border-color-light);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    padding: 5px 0;
    z-index: 100;
}

.page-title-caption ul li:hover .bread-sub-menu {
    display: block !important;
}

.bread-sub-menu > li {
    padding: unset !important;
    list-style: none;
    width: 100%;
}

.bread-sub-menu > li a {
    display: block;
    padding: 0.85rem 1rem !important;
    color: #000 !important;
    white-space: nowrap;
    font-size: var(--normal-font-size) !important;
}

.bread-sub-menu > li a:hover {
    color: var(--primary-color-light) !important;
}

.bread-sub-menu > li:last-child {
    border-bottom: unset !important;
}

.bread-sub-menu > li.active {
    font-weight: 700 !important;
}

.bread-sub-menu > li.active > a {
    color: var(--primary-color) !important;
}

.bread-sub-menu > li:not(.sub) + li.sub:before {
    content: "";
    display: block;
    width: calc(100% - 2rem);
    margin: 0 auto;
    border-top: 1px solid #dddddd;
}

.bread-sub-menu > li.sub a {
    font-size: var(--small-font-size) !important;
    padding: 0.5rem 1rem !important;
}

/*
    커스텀 Input
*/
.inp-group {
    display: flex;
    align-items: flex-end;
    /* gap: 0.85rem; */
}

.inp-group + .inp-group, 
.inp-group + .inp-cont {
    /* margin-top: 1.65rem; */
}

.inp-group > .inp-cont:first-child {
    width: 60%;
}

.inp-group > .inp-cont:last-child {
    width: 40%;
}

.inp-cont label {
    color: #0049A6;
    font-size: var(--normal-font-size);
    font-weight: 700;
    margin-bottom: 0.6rem;
}

.inp-cont input, .inp-cont select {
    width: 100%;
    border: 1px solid #666;
    background-color: #FFF;
    padding: 0.695rem 1rem;
    font-size: var(--small-font-size);
    font-weight: 400;
    color: var(--text-color);
}

.inp-cont input::placeholder {
    color: rgba(102, 102, 102, 0.60)
}

.inp-btn {
    padding: 0.85rem;
    background: #348CFC;
    border: none;
    color: #FFF;
    /* min-width: 12rem; */
    width: 100%;
    font-size: var(--small-font-size);
    font-weight: 700;
    transition: .25s ease;
}

.inp-btn:hover {
    background: #247ef0;
}

@media (max-width: 768px) {
    .inp-group + .inp-group, 
    .inp-group + .inp-cont,
    .inp-cont + .inp-cont {
        /* margin-top: 1.65rem; */
    }

    .inp-btn {
        min-width: 100%;
    }
}

select {
    background: url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>") no-repeat;
    background-position: calc(100% - 0.75rem) center !important;
    -moz-appearance:none !important;
    -webkit-appearance: none !important; 
    appearance: none !important;
    padding-right: 2rem !important;
}

/*
    랜딩
*/
.page-ebcontents-box:has(.ld-title) {
    margin-bottom: 6.25rem;
}
.page-ebcontents-box:has(.ld-title) .ebcontents,
.page-ebcontents-box:has(.ld-title) .ebcontents > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
.ld-title {
    display: inline-block;
    width: 100%;
    font-size: var(--h4-font-size);
    text-align: center;
    color: #454545;
    font-weight: 500;
    line-height: 160%; /* 3.375rem */
}
.ld-title.c2 {
    color: #000A20;
}
.ld-sub-title {
    color: #000A20;
    font-size: var(--h3-font-size);
    font-weight: 900;
    line-height: 100%; /* 4rem */
    margin-top: 1.25rem;
    text-align: center;
}
.ld-desc-title {
    color: #000;
    text-align: center;
    font-size: var(--h4-font-size);
    font-style: normal;
    font-weight: 350;
    line-height: 170%; /* 54px */
    text-align: center;
    margin-top: 1.125rem;
    letter-spacing: 1px;
}
.ld-desc-title.long {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 0;
    font-size: var(--h5-font-size);
    letter-spacing: 0px;
}

.ld-desc-title.long:before {
    content: "";
    display: inline-block;
    width: 8rem;
    height: 0.50175rem;
    background: #348CFC;
    margin: 2.89rem 0 3.5rem;
}
@media (max-width: 991px) {
    .page-ebcontents-box:has(.ld-title) {
        margin-bottom: 3.125rem;
    }
}

/*
    메뉴 타이틀 캡션
*/
.page-title-caption h2 {
    text-align: center;
    margin-bottom: 0.5rem;
}

.page-title-caption ul {
    justify-content: center;
}



html:has(.select2-container) {
    overflow-x: hidden;
}