@charset "utf-8";

/**************************************************************************************************/
/* 팝업 */
/**************************************************************************************************/
/* 전체 팝업 (공통 디자인) */
html.pop-open {
    height: 100vh;
    /*overflow: hidden;*/
    overscroll-behavior-y: none;
}

html.pop-open body {
    height: 100%;
    /*overflow: hidden;*/
    overscroll-behavior-y: none;
}

html.pop-open #wrap {
    height: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
}

html.pop-open .container {
    overscroll-behavior-y: contain;
    /*visibility: hidden;*/
}

html.pop-open.not-hidden .container {
    visibility: initial;
}

html.pop-open .hidden-ground {
    visibility: hidden;
    z-index: -1;
}

.alert-popup-bg {
    background-color: rgba(0, 0, 0, 0.7);
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    z-index: 9;
}

.popup-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-pack: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: fixed;
    /*left: 0;*/
    top: 0;
    bottom: 0;
    overflow: hidden;
    z-index: 998;
    display: none;
    max-width: 375px;
    margin: 0 auto;
}

.popup-container.view {
    display: flex;
}

.popup-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: #fff;
    position: relative;
    z-index: 10;
    overflow: hidden;
}

.popup-container .popup-wrap .popup-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-pack: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}




/* 알림 팝업 */
.notification-popup .popup-wrap {
    width: 280px;
    height: 180px;
    /* height:auto; */ /* 기존 소스 */
    border-radius: 4px;
    opacity: 0;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.32);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.32);
    -webkit-transform: translateY(60%);
    transform: translateY(60%);
    -webkit-transition: 400ms;
    transition: 400ms;
}

.notification-popup.height-auto .popup-wrap {
    height: auto !important;
}

.notification-popup .popup-wrap.move {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
}

.notification-popup .popup-wrap .popup-header {
    padding: 22px 0 21px;
    text-align: center;
}

.notification-popup .popup-wrap .popup-header h2 {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.4;
}

.notification-popup .popup-wrap .popup-content {
    width: 100%;
    height: auto;
    min-height: 128px;
}

.notification-popup .popup-wrap .popup-content p {
    margin-top: 10px;
    padding: 0 10px;
    text-align: center;
}

.notification-popup .popup-content p span {
    display: block;
    font-size: 14px;
    font-family: NotoSansCJKkr-Regular;
    color: #666666;
    line-height: 1.33;
    letter-spacing: -0.02em;
}

.notification-popup .popup-content p span.bold {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 10px;
    line-height: 1.5;
    color: #222222;
    letter-spacing: -0.02em;
}

.notification-popup .popup-wrap .popup-btn {
    width: 100%;
    height: 52px;
    line-height: 52px;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.notification-popup .popup-wrap .popup-btn button,
.notification-popup .popup-wrap .popup-btn a {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    flex-basis: 0;
    cursor: pointer;
}

.notification-popup .popup-wrap .popup-btn button span,
.notification-popup .popup-wrap .popup-btn a span {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.33;
}

.notification-popup .popup-wrap .popup-btn .popup-btn-mainback {
    background-color: #545861;
}

.notification-popup .popup-wrap .popup-btn .popup-btn-continue {
    background-color: #19c4d8;
}

.notification-popup .popup-wrap .popup-btn .popup-btn-continue-cancle-ok {
    background-color: #19c4d8;
}

.notification-popup .popup-wrap .popup-btn .popup-btn-confirm {
    background-color: #000000;
}

/* 슬라이드 팝업 (공통 디자인) */
.slide-popup .popup-wrap {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0%;
}

.slide-popup .popup-wrap .popup-header {
    position: relative;
    margin-bottom: 20px;
    padding: 30px 0 20px;
}

.slide-popup .popup-wrap .popup-header h2 {
    font-size: 16px;
    font-weight: 300;
    line-height: 1.5;
    color: #222222;
    letter-spacing: -0.02em;
    text-align: center;
}

/*.layer-popup-type .popup-wrap .popup-header p {*/
/*    margin-top: 22px;*/
/*    font-size: 12px;*/
/*    color: #666;*/
/*    letter-spacing: -0.02em;*/
/*    line-height: 1.5;*/
/*}*/

.slide-popup .popup-wrap .popup-content {
    flex: 1;
    align-items: initial;
    justify-content: start;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: 20px;
}

.slide-popup .popup-wrap .popup-btn {
    width: 100%;
}


/* 슬라이드 팝업 (풀팝업) */
.full-popup-type .popup-wrap {
    left: 100%;
    height: 100%;
    -webkit-transition: left 400ms;
    transition: left 400ms;
}

.full-popup-type .popup-wrap.move {
    left: 0%;
}

.full-popup-type .popup-wrap .popup-header {
    margin-bottom: 30px;
    padding: 15px 0 12px;
}

.full-popup-type .popup-wrap .popup-header h2 {
    margin-top: 3px;
}

.full-popup-type .popup-wrap .popup-header .popup-close {
    position: absolute;
    right: 0;
    top: 50%;
    width: 24px;
    height: 24px;
    margin-top: -11px;
    background: url("/images/travel/overseas/hanainsure/mo/btn_close_24px.svg") no-repeat center center;
}

.full-popup-type .popup-wrap .popup-header .popup-close span {
    font-size: 0;
    text-indent: -9999px;
}

.full-popup-type .popup-wrap .popup-header .popup-close img {
    display: none;
}

.full-popup-type.search-popup .popup-wrap .popup-header {
    margin-bottom: 0px;
}

.full-popup-type.search-popup .inner > .step-view {
    padding: 10px 0 8px 0;
    height: auto;
}

.full-popup-type.search-popup .popup-btn {
    padding-top: 20px;
}

.full-popup-type.search-popup .popup-btn .Check {
    margin-bottom: 0px;
}

.full-popup-type.search-popup .popup-btn .guideline-view {
    margin-bottom: 20px;
}






/* 슬라이드 팝업 (하단슬라이드) */
.layer-popup-type .popup-wrap {
    border-radius: 16px 16px 0 0;
    -webkit-transition: bottom 400ms;
    transition: bottom 400ms;
}

.layer-popup-type:not(.layer-popup-type2) .popup-wrap {
    bottom: -56%;
    height: 56%;
}

.layer-popup-type2 .popup-wrap {
    bottom: -92%;
    height: 92%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.layer-popup-type .popup-wrap.move {
    bottom: 0% !important;
}

.layer-popup-type .popup-wrap .popup-header {
    border-bottom: 1px solid #EFEFEF;
}

.layer-popup-type .popup-wrap .popup-header .popup-close {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 30px;
    z-index: 10;
}

.layer-popup-type .popup-wrap .popup-header .popup-close span {
    display: block;
    width: 80px;
    height: 3px;
    margin: 0 auto 7px;
    font-size: 0;
    text-indent: -9999px;
    border-radius: 1.5px;
    background-color: #DDDDDD;
}

.layer-popup-type .popup-wrap .popup-header.header2 {
    padding-bottom: 15px;
    border-bottom: 0 none;
    margin-bottom: 30px;
    border-bottom: 1px solid #EFEFEF;
}

.layer-popup-type .popup-wrap .popup-header.hidden-tit {
    margin-bottom: 0;
    border-bottom: 0 none;
}

.layer-popup-type .popup-wrap .popup-header.hidden-tit h2 {
    height: 0;
    font-size: 0;
    overflow: hidden;
    visibility: hidden;
}










/* 알럿 */
.alert-container {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    overflow: hidden;
    z-index: 2000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-pack: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: none;
}

.alert-container .alert-wrap {
    position: relative;
    width: 280px;
    height: 160px; /* 운영 소스 */
    opacity: 0;
    overflow: hidden;
    border-radius: 4px;
    background-color: #fff;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.32);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.32);
    -webkit-transform: translateY(60%);
    transform: translateY(60%);
    -webkit-transition: 400ms;
    transition: 400ms;
}

.alert-container .alert-wrap.move {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
}

.alert-wrap .alert-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-pack: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    min-height: 120px;
}

.alert-wrap .alert-content p {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #222222;
    text-align: center;
    letter-spacing: -0.02em !important;
    line-height: 1.4;
    padding: 0 20px;
}

.alert-wrap .alert-content p strong {
    font-size: 16px;
    font-weight: 500;
}

.alert-wrap .alert-content p .sub-txt {
    display: block;
    margin-top: 10px;
    color: #666666;
    line-height: 20px;
}

.alert-wrap .alert-btn {
    width: 100%;
    height: 40px;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.alert-wrap .alert-btn button {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex-grow: 1;
    cursor: pointer;
    width: 50%;
}

.alert-wrap .alert-btn button span {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.33;

}

.alert-wrap .alert-btn .alert-btn-continue {
    background-color: #000000;
}

.alert-wrap .alert-btn .alert-btn-close {
    background-color: #BBBBBB;
}

.alert-wrap .alert-btn .alert-btn-confirm {
    background-color: #BBBBBB;
}

.alert-wrap .alert-btn .alert-btn-confirm2 {
    background-color: #000000;
}

.alert-container.new-type-1 .alert-wrap {
    max-width: 280px;
    height: auto;
    width: auto;
}

.alert-container.new-type-1 .alert-content {
    height: auto;
    width: auto;
    flex-direction: column;
    padding: 24px 20px 0;
}

.alert-container.new-type-1 .alert-content .alert-icon {
    width: 48px;
    height: 48px;
    background: url("/images/travel/overseas/hanainsure/mo/alert-icon.svg") no-repeat center;
    background-size: 100% auto;
}

.alert-container.new-type-1 .alert-content p.alert-title {
    font-size: 16px;
    font-weight: 400;
    padding: 0 0 21px 0;
    position: relative;
}

.alert-container.new-type-1 .alert-content p.alert-title strong {
    font-weight: bold;
}

.alert-container.new-type-1 .alert-content .alert-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px;
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
}

.alert-container.new-type-1 .alert-content .alert-text p {
    text-align: left;
    font-size: 12px;
    font-weight: 400;
    padding: 0 0 0 10px;
    position: relative;
    margin-bottom: 4px;
    margin: 0;
}

.alert-container.new-type-1 .alert-content .alert-text p::after {
    content: "";
    display: block;
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background-color: #19C4D8;
    left: 0;
    top: 5px;
}

.alert-container.new-type-1 .alert-info {
    font-size: 12px;
    letter-spacing: -0.02em;
    line-height: 1.6;
    padding: 15px 0 30px 0;
    margin: 0 12px;
    position: relative;
    word-break: normal;
    text-align: center;
}

/*가입완료화면 체크아이콘*/
.check-icon-tit {
    margin-bottom: 30px;
    padding-top: 67px;
    text-align: center;
    background: url("/images/travel/overseas/hanainsure/mo/img_check.svg") no-repeat center top;
}







/* 팝업 내부 컨텐츠 */
.popup-container .check-tit {
    margin-bottom: 30px;
    padding-top: 67px;
    text-align: center;
    background: url("/images/travel/overseas/hanainsure/mo/img_check.svg") no-repeat center top;
}

.popup-container .check-tit b {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.7em;
}

.popup-container .popup-content .cont {
    margin: 0 10px;
    color: #666;
    letter-spacing: -0.02em;
    line-height: 1.666em;
}

.popup-container .popup-content .innerContent p {
    margin: 0 10px;
    letter-spacing: -0.02em;
    line-height: 1.666em;
}

.pop-tbl {
    width: 100%;
}

.pop-tbl caption {
    font-size: 0;
    text-indent: -9999px;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
}

.pop-tbl th {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.33;
    vertical-align: middle;
    background: #f9f9f9;
}

.pop-tbl td {
    color: #666;
    font-size: 13px;
}

.pop-tbl tbody tr > *:first-child {
    border-left: 0 none;
}

.pop-tbl tr > *:last-child {
    border-right: 0 none;
}


/* 통합청약서 팝업 */
#popOnedayLayerFrame .popup-header {
    margin-bottom: 0;
}

.popup-container .popup-wrap .popup-content.content-oneday-layer {
    padding-bottom: 0;
}

.popup-container .popup-wrap .popup-content.content-oneday-layer .content-in {
    height: 100%;
}

.popup-container .popup-wrap .popup-content.content-oneday-layer .cont {
    height: 100%;
    margin: 0;
}


.popup-container.popup-over,
.alert-container.popup-over {
    z-index: 1002;
}

.popup-body-title {
    font-size: 14px;
    color: #666666;
    line-height: 1.6;
    margin-bottom: 10px;
}

.popup-body-main-image {
    text-align: center;
    margin: 0 0 15px 0;
}

.popup-container .popup-body .popup-body-main-image img {
    width: 40px;
}

.popup-container .popup-body .popup-table table {
    font-size: 13px;
    margin: 5px 0;
}

.popup-container .popup-body .popup-table table tr .table-title {
    font-weight: 500;
    font-size: 15px;
    text-align: center;
    background: #f9f9f9;
}

.popup-container .popup-body .popup-table table tr td {
    font-weight: 400;
    padding: 10px;
    border-top: 1px solid #ddd;
}

.popup-container .popup-body .popup-table table tr:last-child td {
    border-bottom: 1px solid #ddd;
}

.pop-tbl th, .pop-tbl td {
    padding: 10px 5px;
    letter-spacing: -0.02em;
    line-height: 1.4;
    border: 0.5px solid #ddd;
}

.pop-tbl tbody tr > *:first-child {
    border-left: 0 none;
}

.pop-tbl tr > *:last-child {
    border-right: 0 none;
}
.pop-tbl td {
    color: #666;
    font-size: 13px;
}

.popup-wrap .content-in {
    width: 100%;
}

.popup-content.announcement-type .popup-content-icon::before {
    content: "";
    display: block;
    width: 51px;
    height: 51px;
    background: url(/images/travel/overseas/hanainsure/mo/popup-icon.svg) 0 no-repeat;
}

.layer-popup-type .popup-wrap .popup-header {
    border-bottom: 1px solid #EFEFEF;
}

.slide-popup .popup-wrap .popup-header {
    position: relative;
    margin-bottom: 20px;
    padding: 30px 0 20px;
}

.popup-content.announcement-type .popup-content-icon {
    width: 50px;
    height: 50px;
    margin: 0 auto;
    margin-bottom: 17px;
}

popup-content.announcement-type .popup-content-icon {
    width: 51px;
    height: 51px;
}

.bodyfont20 {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.4;
}

.popup-content.announcement-type .popup-content-title {
    text-align: center;
    margin-bottom: 20px;
    color: #000000;
}

.slide-popup .popup-wrap .popup-content h3 {
    margin-bottom: 15px;
    line-height: 1.5;
}

.popup-content .faq-sub {
    font-size: 18px;
    color: #054a83;
    display: block;
    margin: 40px 0 10px;
    line-height: 1.2;
    font-weight: 500;
}





/* 아코디언 */
.accordion {
    width: 100%;
    background: #FFF;
}
#accordion1 {
    top: 10.5vw !important;
}
.accordion>li:nth-of-type(1) {
    padding-top: 0;
}
.accordion>li {
    padding: 15px 0;
}
.accordion .link {
    display: block;
    position:relative;
    color: #4D4D4D;
    font-size: 16px;
    font-weight: 500;
}
.accordion li:last-child .link {
    border-bottom: 0;
}
.accordion li i:before {
    content:'';
    display: inline-block;
    border-top: 1px solid #222;
    border-right: 1px solid #222;
    width: 8px;
    height: 8px;
    position: absolute;
    margin-top: 10px;
    right: 5.556vw;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: transform 300ms;
}
.accordion li.open i:before {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: 5px;
}
.submenu {
    display: none;
    font-size: 14px;
}
.submenu li {
    margin-top: 18px;
}
.submenu a {
    display: block;
    text-decoration: none;
    color: #666;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    font-size: 14px !important;
}

.app-setting-wrap {
    width: 100%;
}
.accordion.app-setting {
    width: 100%;
}
.accordion.app-setting li {
    padding: 0;
    border-top: 1px solid #eee;
}
.accordion.app-setting li.open>.link {
    color: #19C4D8;
    font-weight: 500;
    transition: color 300ms;
}
.accordion.app-setting li.open>.link.no-color {
    color: #222;
}
.accordion.app-setting li>.link.version {
    border-bottom: 1px solid #eee;
}
.accordion.app-setting li>.link {
    padding: 20px 3.5vw  20px 1vw;
    display: flex;
    letter-spacing:-0.02em;
    line-height: 1.5;
    transition: color 300ms;
}
.accordion.app-setting li>.link.push-app {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.accordion.app-setting li>.link.push-app i:before {
    content: "";
    display: none;
}
.accordion.app-setting li ul li {
    border: 0;
    background: #f7f7f7;
    margin: 0;
    padding: 20px 0 0 4.444vw;
}
.accordion.app-setting li ul li:nth-of-type(1) {
    border-top: 1px solid #eee;
}
.accordion.app-setting li ul li:nth-last-of-type(1) {
    padding-bottom: 20px;
}
.accordion.app-setting li .drop-arrow {
    position:absolute;
    right:1.556vw;
    top:25px;
    width:16px;
    height:16px;
    background:url("/images/travel/overseas/hanainsure/mo/btn_accordion_down_16px.svg") no-repeat center center;
    background-size:100% auto;
    -webkit-transition:transform 300ms;
    transition:transform 300ms;
}
.accordion.app-setting li.open .drop-arrow {
    -webkit-transform:rotateZ(180deg);
    transform:rotateZ(180deg);
}

.accordion.app-setting.faq {
    margin-top: 5px;
}
.accordion.app-setting.faq li>.link::before {
    content:'Q';
    font-size: 16px;
    color: #897EF1;
    display: inline-block;
    margin-right: 10px;
}
.accordion.app-setting.faq>li:nth-last-of-type(1) {
    border-bottom: 1px solid #eee;
}
.accordion.app-setting.faq li {
    border-top: 0;
}
.accordion.app-setting.faq li ul li:nth-of-type(1) {
    border-top: 0;
}
.accordion.app-setting.faq li ul li {
    background: #fff;
    padding: 0 1.556vw 1.2vw 2.556vw;
}
.accordion.app-setting.faq li ul.faq li a {
    line-height: 1.5;
}
.accordion.app-setting.faq li ul.faq li .cont {
    color:#666666;
    font-size:12px;
    letter-spacing:-0.02em;
    line-height: 1.5;
}
.accordion.app-setting.faq li>.link {
    color:#000000;
    font-weight:400;
    border-top: 1px solid #eee;
}

.accordion-faq .accordion.app-setting.faq li>.link::before {
    content: "";
    font-size: 16px;
    color: #1aaabb;
    display: inline-block;
    margin-right: 10px;
}

.accordion.app-setting.faq li ul li:nth-of-type(1) {
    border-top: 0;
}

.accordion-faq .accordion.app-setting.faq li:nth-child(1)>.link::before{
    content:'Q1';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(2)>.link::before{
    content:'Q2';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(3)>.link::before{
    content:'Q3';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(4)>.link::before{
    content:'Q4';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(5)>.link::before{
    content:'Q5';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(6)>.link::before{
    content:'Q6';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(7)>.link::before{
    content:'Q7';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(8)>.link::before{
    content:'Q8';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(9)>.link::before{
    content:'Q9';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(10)>.link::before{
    content:'Q10';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(11)>.link::before{
    content:'Q11';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(12)>.link::before{
    content:'Q12';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(13)>.link::before{
    content:'Q13';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(14)>.link::before{
    content:'Q14';
}
.accordion-faq .accordion.app-setting.faq li:nth-child(15)>.link::before{
    content:'Q15';
}
