/* font */
@import url("https://use.typekit.net/epc2aoy.css");
@font-face {font-family:"Pretendard"; font-weight:700; font-display:swap; src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Bold.woff') format('woff');}
@font-face {font-family:"Pretendard"; font-weight:600; font-display:swap; src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-SemiBold.woff') format('woff');}
@font-face {font-family:"Pretendard"; font-weight:500; font-display:swap; src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Medium.woff') format('woff');}
@font-face {font-family:"Pretendard"; font-weight:400; font-display:swap; src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');}
@font-face {font-family:"Pretendard"; font-weight:300; font-display:swap; src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Light.woff') format('woff');}
@font-face {font-family:"Pretendard"; font-weight:200; font-display:swap; src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-ExtraLight.woff') format('woff');}
@font-face {font-family:"Pretendard"; font-weight:100; font-display:swap; src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Thin.woff') format('woff');}

h1{margin-bottom: 0; font-size: 40px; font-weight: 200; }
h2{margin-bottom: 0; font-size: 32px; font-weight: 300;}
h3{margin-bottom: 0; font-size: 28px; font-weight: 300;}
.topSerif{font-size: 20px; font-family: "prestige-elite-std", monospace; letter-spacing: -2.4px; line-height: 1 !important;}
.bigText{font-size: 24px; font-weight: 300;}
.bigText_bold{font-size: 24px; font-weight: 500;}
.mediumText{font-size: 20px; font-weight: 300;}
.mediumText_bold{font-size: 20px; font-weight: 500;}
.nomalText{font-size: 16px; font-weight: 300;}
.nomalText_bold{font-size: 16px; font-weight: 500;}
.smallText{font-size: 14px; font-weight: 300;}
.smallText_bold{font-size: 14px; font-weight: 500;}
@media screen and (max-width: 990px){
    h1{font-size: 36px;}
    h2{font-size: 28px;}
    h3{font-size: 24px;}
    .bigText, .bigText_bold{font-size: 20px;}
    .mediumText, .mediumText_bold{font-size: 18px;}
}
@media screen and (max-width: 768px){
    h1{font-size: 28px;}
    h2{font-size: 24px;}
    h3{font-size: 20px;}
    .bigText, .bigText_bold{font-size: 18px;}
    .mediumText, .mediumText_bold{font-size: 16px;}
    .nomalText, .nomalText_bold{font-size: 14px;}
    .smallText, .smallText_bold{font-size: 12px;}
}
@media screen and (max-width: 580px){
    h1{font-size: 24px;}
    h2{font-size: 20px;}
    .topSerif{font-size: 14px;}
}
@media screen and (max-width: 320px) {
    h2{font-size: 20px;}
    .topSerif{font-size: 12px;}
}

/* 버튼 */
.btn{text-align: center; border-radius: 0 !important; font-size: 16px !important;}
.chf_cont_button_wrap{display: flex; justify-content: center !important;  margin-top: 0; padding-top: 0 !important;}
.chf_cont_button_wrap .btn{display: flex; justify-content: center; align-items: center; margin: 0; width: 240px; height: 48px !important;}
.chf_cont_button_wrap .btn:first-child{margin-right: 16px;}
.chf_cont_button_wrap .backStepBtn img{margin-right: 8px;}
.chf_cont_button_wrap .nextStepBtn img{margin-right: 8px;}
.backStepBtn, .nextStepBtn{font-size: 16px !important; padding: 12px 52px; font-weight: 500; height: 48px; line-height: 32px;}
.backStepBtn, .backStepBtn:hover, .backStepBtn:focus{background-color: #fff !important; color: #000 !important; border: 1px solid #000 !important;}
.nextStepBtn, .nextStepBtn:hover, .nextStepBtn:focus{border: 1px solid #000 !important; background-color: var(--blackColor) !important; color: #fff !important;}
.chf_cont_button_wrap .backStepBtn:hover, .chf_cont_button_wrap .backStepBtn:focus{background-color: #fff !important; color: #000 !important; border: 1px solid #000 !important;}
.chf_cont_button_wrap .nextStepBtn:hover, .chf_cont_button_wrap .nextStepBtn:focus{border: 1px solid #000 !important; background-color: var(--blackColor) !important; color: #fff !important;}
@media screen and (max-width: 558px){
    .btn, .backStepBtn, .nextStepBtn{font-size: 14px !important;}
}

/* color variable */
:root{
    --blackColor : #000;
    --whiteColor : #fff;
    --grayColor: #D9D9D9;
    --graydeepColor : #acacac;
    --bgGray: #f7f8fa;
    --lightGrayColor : #d5d5d5;
    --shadowColor : rgba(0,0,0,.2);
    --bgShadow : rgba(0,0,0,.4);
    --pointRed : #AB1019;
    --pointBlue : #3D69F9;
    --pointVioletB : #2713eb;
    --focusBlue : #0089ec;
    --AlertRed : #e20;
}

/* common & reset */
@supports(-webkit-appearance:none) or (-moz-appearance:none){
    input[type="radio"], input[type="checkbox"]{width: 18px; height: 18px;}
    .checkbox input[type=checkbox]:not(.switch), .radio input[type=radio]:not(.switch){width: 18px; height: 18px;}
    .checkbox input[type=checkbox]:not(.switch):checked:after{top: 3px; left: 5px;}
    .radio input[type=radio]:not(.switch):checked:after{top: -1px; left: -1px;}
}
html, body{width: 100%; min-width: 1140px;}
body{font-family:"Pretendard"; line-height: 1.4; background-color: #fff; color: #000;}
a{display: inline-block; text-decoration: none; color: #000;}
span{display: inline-block;}
img{display: block;}
ul, ol{margin-bottom: 0; list-style: none;}
p{line-height: unset !important;}
select{border: 1px solid var(--graydeepColor);}
input[type=text], input[type=tel], input[type=email], textarea{border: 1px solid var(--graydeepColor); color: var(--blackColor);}
input[type=radio]{appearance: auto;}
.form-group{margin-bottom: 0; width: 100%;}
.form-control{padding: 12px 16px !important; width: 100%; height: 48px !important; line-height: 48px !important; font-size: 16px !important; border: 1px solid var(--graydeepColor) !important; border-radius: 0 !important;}
.form-control.borderNone{border: none !important; border-bottom: 1px solid var(--graydeepColor) !important;}
select.form-control{background: #fff url(/view/images/select_arrow.svg) top 15px right 8px no-repeat !important;}

/* loading */
.loading-overlay.loading-theme-light{z-index: 10 !important;}

/* modal */
.modal-open .modal {overflow: hidden;}
.chf_modal_style .modal-dialog {display: flex; flex-direction: column; align-items: center; padding: 0; margin: 0; width: 100%; height: 100%; overflow: hidden;}
.chf_modal_style .modal-content {margin: auto; padding: 36px; width: 460px; background-color: var(--whiteColor); border-radius: 0; text-align: center; box-shadow: 0 5px 15px var(--shadowColor);}
.chf_modal_style .modal-header{padding: 0;}
.chf_modal_style .modal-header img{margin: 0 auto;}
.chf_modal_style .modal-body{padding: 8px 0 20px;}
.chf_modal_style .modal-body p{font-size: 16px;}
.chf_modal_style .modal-footer{display: flex; justify-content: space-between; padding: 0;}
.chf_modal_style .modal-footer .btn+.btn{margin-left: 0;}
.chf_modal_style .modal-footer button{padding: 8px 24px !important; width: calc(50% - 4px); border-radius: 0; background-color: #000; border: 1px solid #000; text-align: center; color: #fff; height: 40px !important; line-height: 24px;}
.chf_modal_style .modal-footer a.telBtn{background-color: #000; color: #fff;}
.chf_modal_style .modal-footer button.whiteBtn{margin-right: 8px; background-color: #fff; color: #000;}
.chf_modal_style .modal-footer button.onlyBtn{width: 100%;}
.chf_modal_style.msgAlert .modal-content{padding: 28px 12px; width: 360px;}
.chf_modal_style.msgAlert .modal-body{padding: 32px 12px 44px;}
.chf_modal_style.msgAlert .modal-body p.nomalText{font-size: 16px;}
.chf_modal_style.msgAlert .modal-footer button.whiteBtn{margin-right: 0;}
@media screen and (max-width: 768px){
    .chf_modal_style .modal-body p{font-size: 14px;}
    .chf_modal_style .modal-footer button{padding: 8px 0 !important;}
}
@media screen and (max-width: 580px) {
    .chf_modal_style .modal-content {padding: 20px 24px; width: 400px;}
    .chf_modal_style .modal-footer button{font-size: 14px !important;}
}
@media screen and (max-width: 480px) {
    .chf_modal_style .modal-content{width: 300px;}
    .chf_modal_style .modal-footer{flex-wrap: wrap;}
    .chf_modal_style .modal-footer button{width: 100%;}
    .chf_modal_style.msgAlert .modal-footer button{width: calc(50% - 4px);}
    .chf_modal_style .modal-footer button.whiteBtn{margin-right: 0; margin-bottom: 8px;}
}
@media screen and (max-width: 360px) {
    .chf_modal_style.msgAlert .modal-content{padding: 20px 16px; width: 240px;}
    .chf_modal_style.msgAlert .modal-body{padding: 12px 0 16px;}
    .chf_modal_style.msgAlert .modal-footer button{width: 100%;}
}
@media screen and (max-width: 320px)  { 
    .chf_modal_style .modal-content{width: 240px; padding: 20px;}
}

/* modal show, 그림자 관련 */
body.scrollNone{overflow-y: hidden; /*height: 0 !important;*/}
body.scrollNonePicker{overflow-y: hidden;}
.chf_modalShadow{position: fixed; top: 0; left: 0; display: none; width: 100%; height: 100vh; background-color: var(--bgShadow); z-index: 5;}
.chf_modalShadow.shadowOn{display: block;}

/* 콘텐츠 공통 */
/* header */
header#chf-page-header{height: auto; line-height: unset;}
.chf_header_wrap{align-items: center; padding: 12px 20px; width: 100%; max-width: 1140px;}
.headerLogo{height: 30px;}
.headerLogo img{height: 100%;}
.chf_header_cont .chf_booking_search_a{padding: 12px 16px; font-size: 16px; background-color: #fff; border: 1px solid #000; color: #000;}
.chf_header_cont .chf_booking_search_a:after{display: none;}

/* 헤더 예약확인 버튼과 팝업 */
.chf_dropdown{position: fixed; margin-top: 0; top: calc((100% - 500px) / 2); left: calc((100% - 470px) / 2); width: 470px; height: 500px; overflow: hidden; background-color:var(--whiteColor); border-radius: 0;}
.dropdown-backdrop{display: none;}
.chf_booking_search_wrap{padding: 32px; width: 100%; height: 100%; border-radius: 0;}
.chf_popupHeader{position: relative; z-index: 10; display: flex; justify-content: space-between; align-items: center; padding: 0; margin-bottom: 0;}
.popHClose{position: relative; width: 36px; height: 36px;}
.popHClose:before{content: ''; position: absolute; top: 20px; left: 6px; width: 24px; height: 2px; background-color: var(--blackColor); transform: rotate(45deg);}
.popHClose:after{content: ''; position: absolute; top: 20px; right: 6px; width: 24px; height: 2px; background-color: var(--blackColor); transform: rotate(-45deg);}
.chf_booking_search_wrap ul{padding-top: 28px;}
.chf_booking_search_wrap ul li{padding-bottom: 20px;}
.chf_booking_search_wrap ul li:last-child{padding-bottom: 0;}
.chf_booking_search_wrap ul li > p{margin-bottom: 8px;}
.chf_booking_search_wrap ul li .alertMsg{position: unset;}
#form-book-search{height: inherit; overflow-y: auto;}
.chf_booking_search_wrap .chf_btn_wrap{position: absolute; bottom: 25px; left: 30px; width: calc(100% - 60px);}
#btnSubmitBookSearch{padding: 12px 40px; line-height: unset;}
/* intl-input : 전화번호 국기 */
#inqueryCustomerMobileIntl{position: absolute; width: calc(100% - 64px); z-index: 1;}
.intl-tel-input input, .intl-tel-input input[type=text], .intl-tel-input input[type=tel]{margin-bottom: unset !important;}
.intl-tel-input.iti-container{position: unset !important;}
.intl-tel-input .flag-container{position: relative; z-index: 4;}
.intl-tel-input .selected-flag{position: absolute; top: 24px;}
.intl-tel-input .country-list{top: 0; max-width: unset; width: 100%; max-height: 150px !important;}
.intl-tel-input .country-list .country{display: flex; align-items: center; padding: 12px 20px !important;}
.intl-tel-input .country-list .flag-box{margin-right: 8px;}
.intl-tel-input .country-list .country-name{margin-right: 0; width: calc((100% - 21px) / 2);}
.intl-tel-input .country-list .country span{padding-bottom: 0;}
.intl-tel-input .country-list .country .dial-code{width: calc((100% - 21px) / 2); text-align: right;}
.form-control#inqueryCustomerMobile{padding: 12px 16px 12px 52px !important;}
@media screen and (max-width: 768px) {
    .chf_booking_search_wrap{padding: 28px;}
    #inqueryCustomerMobileIntl{width: calc(100% - 56px);}
}
@media screen and (max-width: 580px) {
    .chf_dropdown{top: 8vh; left: 5vw; width: 90vw; height: calc(var(--varh, 1vh) * 75);}
}
@media screen and (max-width: 480px) {
    .chf_booking_search_wrap{padding: 24px;}
    #inqueryCustomerMobileIntl{width: calc(100% - 48px);}
    .intl-tel-input .country-list{max-height: 30vh !important;}
}
@media screen and (max-width: 360px) {
    .chf_booking_search_wrap{padding: 20px 16px;}
    #inqueryCustomerMobileIntl{width: calc(100% - 32px);}
}

/* index_wrap : index_Top 상단 배너 & 텍스트 */
article.chf_index_wrap{position: relative; min-height: 100vh;}
section.chf_index_top{position: relative; margin: 0 auto; padding: 0; width: 100%; height: 524px; background: url('/view/images/friezeTopImg.png') no-repeat; background-size: cover !important;}
.txtBox_top{display: flex; align-items: baseline; padding: 6px calc((100% - 1100px) / 2); width: 100%; min-width: 1140px; background-color: #000; color: #fff;}
.txtBox_top h2{margin-right: 20px;}
.txtBox_mid{position: absolute; top: calc(50% - 16px); color: #fff;}
.txtBox_mid h2{margin-bottom: 8px;}
/* index_wrap : 컨텐츠랩 */
.chf_index_cont_wrap{padding: 0; margin-bottom: 0; padding-bottom: 60px; width: 100%; box-shadow: none;}
/* 검색영역 아이콘 관련 */
.location_search .input-group-addon{/*display: none;*/background-color: var(--whiteColor); z-index: 3;}
.location_search .input-group-addon#flight_search_btn{display: block;}
.location_search .input-group-addon#flight_search_btn i{position: relative; top: -2px;}
.input-group img{position: absolute; top: 10px; left: 4px; z-index: 4; width: 20px; height: 20px;}
/* 여정정보 : step3, complete */
ul.book-summary-box{padding: 16px;}
ul.book-summary-box li{position: relative; z-index: 0; display: flex; align-items: flex-start; padding-bottom: 24px;}
ul.book-summary-box li:first-child{padding-bottom: 32px;}
ul.book-summary-box li:last-child{padding-bottom: 0;}
ul.book-summary-box li::before{content: ''; position: absolute; top: 25px; left: 10px; z-index: -1; width: 1px; height: 100%; border-left: 2px dotted var(--grayColor);}
ul.book-summary-box li:first-child:before, ul.book-summary-box li:last-child:before{display: none;}
ul.book-summary-box li img{margin-right: 8px; width: 24px;}
li._stopper{flex-wrap: wrap;}
.trip_stopper_items{display: flex; padding-bottom: 24px; width: 100%;}
.trip_stopper_items:last-child{padding-bottom: 0;}
.stopNum{margin-right: 8px; width: 24px; height: 24px; background-color: #fff; border: 1px solid var(--graydeepColor); border-radius: 24px; text-align: center;}
.trip_stopper_items p{width: calc(100% - 32px);}
/* 경고, 확인메세지 */
.alertMsg, .confirmMsg{display: none; margin: 4px 0;}
.alertMsg.block{display: block; padding: 0; background-color: transparent; color: var(--pointRed);}
.confirmMsg.block{display: block; padding: 0; background-color: transparent; color: #069246;}
.has-error .help-block, .has-error .control-label, .has-error .input-group-addon, .has-error .checkbox, .has-error .checkbox-inline, .has-error .radio, .has-error .radio-inline{margin: 4px 0; background-color: transparent; font-size: 16px; color: var(--pointRed);}

/* footer */
footer{background-color: #000;}

/* laptop */
@media screen and (max-width: 1140px){
    html, body{min-width: 990px;}
    .chf_header_wrap{max-width: 990px;}
    .txtBox_top{padding: 6px calc((100% - 950px) / 2); min-width: 950px;}
}

/* tablet */
@media screen and (max-width: 990px) {
    html, body{min-width: 768px;}
    .chf_header_wrap{max-width: 768px;}
    .chf_header_cont .chf_booking_search_a{padding: 8px 12px;}
    .txtBox_top{padding: 6px calc((100% - 728px) / 2); min-width: 768px;}
    .chf_cont_button_wrap .btn:first-child{margin-right: 12px;}
}
@media screen and (max-width: 768px) {
    html, body{min-width: unset;}
    .chf_header_wrap{max-width: unset;}
    .txtBox_top{padding: 10px 20px; min-width: unset;}
    .txtBox_mid h2{margin-bottom: 4px;}
    .form-control{height: 46px !important; line-height: 46px !important; font-size: 14px !important;}
    /* 여정정보 */
    ul.book-summary-box{padding: 0;}
    ul.book-summary-box li{padding-bottom: 16px;}
    ul.book-summary-box li:first-child{padding-bottom: 16px;}
    .has-error .help-block, .has-error .control-label, .has-error .input-group-addon, .has-error .checkbox, .has-error .checkbox-inline, .has-error .radio, .has-error .radio-inline{font-size: 14px;}
}
@media screen and (max-width: 580px) {
    .chf_index_top{width: 360px;}
    .headerLogo{height: 24px;}
    .txtBox_top{display: block; height: auto;}
    .chf_cont_button_wrap{justify-content: space-between;}
    .chf_cont_button_wrap .btn{width: calc(50% - 4px);}
    .chf_cont_button_wrap .btn:first-child{margin-right: 8px;}
}

/* mobile */
@media screen and (max-width: 480px) {
    .chf_header_wrap{height: 56px;}
    .chf_header_cont .chf_booking_search_a:before{display: none;}
    .chf_header_cont .chf_booking_search_a span{display: block;}
    .chf_cont_button_wrap{flex-wrap: wrap;}
    .chf_cont_button_wrap .btn{margin-bottom: 8px; width: 100%;}
    .chf_cont_button_wrap .btn:first-child{margin-right: 0px;}
    
} 
@media screen and (max-width: 320px) {
    .txtBox_top h2{letter-spacing: -1px;}
    .chf_header_cont .chf_booking_search_a{padding: 8px;}
    /* 여정정보 */
    ul.book-summary-box li:first-child{padding-bottom: 12px;}
    .has-error .help-block, .has-error .control-label, .has-error .input-group-addon, .has-error .checkbox, .has-error .checkbox-inline, .has-error .radio, .has-error .radio-inline{font-size: 12px; letter-spacing: -.4px;}
    .alertMsg, .confirmMsg{font-size: 12px; letter-spacing: -.4px;}
}