:root{
--font-color-btn-link:#666; /* for legacy page */
--font-color-placeholder:#9e9e9e;
}

/* ----------------------------------------------------------------
  Layout
----------------------------------------------------------------- */
/* .lyt-calendar
----------------------------------------------- */
.lyt-calendar main{
padding:30px 10px 0;
}
.lyt-calendar .hdg-l1-container{
position:fixed;
top:10px;
z-index:3;
width:100%;
}
.lyt-sticky.lyt-calendar{
padding-bottom:110px;
}

/* ----------------------------------------------------------------
  Headings
----------------------------------------------------------------- */
/* .hdg-l2-02
----------------------------------------------- */
.lyt-calendar .hdg-l2-02{
font-size:15px;
margin:0 -10px;
padding:40px 190px 30px 10px;
background-color:#fff;
color:var(--cmn-font-color-base);
}

/* ----------------------------------------------------------------
  Button
----------------------------------------------------------------- */
/* .btn
----------------------------------------------- */
.calendar-sticky-box .btn-08{
font-size:20px;
display:block;
padding:7px 10px 8px;
width:100%;
text-align:center;
font-weight:bold;
color:#fff;
border:none;
border-radius:6px;
text-shadow:1px 2px rgba(6, 0, 1, .1);
box-shadow:inset 0 -4px rgba(0, 0, 0, .25);
--cmn-btn-color:#72ba00;
background-color:var(--cmn-btn-color);
text-align:center;
height:46px;
box-sizing:border-box;
}
.calendar-sticky-box .btn-08.disabled{
background-color:#d5d5d5;
text-shadow:none;
box-shadow:none;
}

/* ----------------------------------------------------------------
  Calendar Component
----------------------------------------------------------------- */
/* .calendar-container
----------------------------------------------- */
.calendar-container{
position:relative;
margin:0 -10px -10px;
border-bottom:1px solid #bbb;
}

/* .calendar
----------------------------------------------- */
.calendar{
margin:0 0 12px;
font-size:14px;
font-weight:normal;
width:100%;
table-layout:fixed;
border-collapse:collapse;
}
.calendar th{
text-align:center;
font-size:13px;
font-weight:normal;
line-height:1;
padding-bottom:16px;
}
.calendar td{
text-align:center;
padding:4px 0;
position:relative;
}
.calendar td a{
display:block;
padding:8px 0;
color:var(--cmn-font-color-base);
height:38px;
box-sizing:border-box;
}
.calendar td strong .icon,
.calendar td strong .icon_start,
.calendar td strong .icon_end{
display:none;
}
.calendar .disabled a{
color:#ccc;
}
.calendar .active strong{
position:relative;
display:block;
font-weight:normal;
height:38px;
background-color:#ecf6ff;
}
.calendar .active strong a{
width:38px;
height:38px;
background-color:#2584d1;
color:#fff !important;
border-radius:5px;
}
.calendar .active a{
background-color:#ecf6ff;
cursor:pointer;
opacity:1;
}
.calendar .start{
background-color:#fff;
}
.calendar .start strong{
width:50%;
float:right;
}
.calendar .start strong a{
position:absolute;
left:0;
margin-left:-19px;
}
.calendar .end strong{
width:50%;
float:left;
}
.calendar .end strong a{
position:absolute;
right:0;
margin-right:-19px;
}
.calendar .startend strong{
background-color:#fff;
}
.calendar .single strong{
background-color:#fff;
}
.calendar .single strong a{
margin:0 auto;
}
.calendar tr > th:nth-child(1),
.calendar tr > td:nth-child(1) a,
.calendar tr > td:nth-child(7).holiday a,
.calendar tr > td.holiday a{
color:var(--cmn-font-color-red);
}
.calendar tr > td:nth-child(1).disabled a,
.calendar tr > td.holiday.disabled a,
.calendar tr > td:nth-child(7).disabled a{
color:#ccc;
}

/* .calendar-sticky-box
----------------------------------------------- */
.calendar-sticky-box{
font-size:13px;
position:fixed;
z-index:3;
bottom:0;
display:none;
box-sizing:border-box;
width:100%;
margin:0 -10px;
padding:14px 10px 10px;
background-color:rgba(0, 0, 0, .7);
}
.contentFilter_Box .calendar-sticky-box{
margin:0;
}
.calendar-sticky-box p{
margin:0;
}
.calendar-sticky-box .calendar-term{
display:-webkit-box;
display:flex;
color:#fff;
margin-bottom:12px;
-webkit-box-align:center;
align-items:center;
height:35px;
padding-right:52px;
position:relative;
width:100%;
box-sizing:border-box;
}
.calendar-sticky-box .calendar-term >span >span{
display:block;
vertical-align:middle;
font-size:13px;
color:var(--cmn-font-color-base);
border-radius:2px;
background-color:#fff;
padding:8px 5px;
}
.calendar-sticky-box .calendar-term >span.days{
position:absolute;
width:52px;
text-align:right;
background-color:transparent;
color:#fff;
box-sizing:border-box;
right:0;
top:9px;
font-size:11px;
}
.calendar-sticky-box .calendar-term >span.days .calendar-catch{
font-size:13px;
}
.calendar-sticky-box .calendar-term > span.start,
.calendar-sticky-box .calendar-term > span.end{
display:block;
box-sizing:border-box;
width:50%;
}
.calendar-sticky-box .calendar-term > span.start small,.calendar-sticky-box .calendar-term > span.end small{
font-size:11px;
}
.calendar-sticky-box .calendar-term > span.start.selected > span,.calendar-sticky-box .calendar-term > span.end.selected > span{
background-color:#bbb;
}
.calendar-sticky-box .calendar-term > span.start .calendar-guide,.calendar-sticky-box .calendar-term > span.end .calendar-guide{
display:block;
font-size:13px;
color:var(--font-color-placeholder);
text-align:center;
}
.calendar-sticky-box .calendar-term > span.start{
padding-right:7px;
position:relative;
}
.calendar-sticky-box .calendar-term > span.start:after{
position:absolute;
content:"-";
display:block;
right:-3px;
color:#fff;
top:8px;
font-size:11px;
}
.calendar-sticky-box .calendar-term > span.end{
padding-left:7px;
}

/* for price-calendar
------------------------------------------------ */
/* cal-switch
------------------------------------------------ */
.calendar-add{
position:relative;
}
.calendar-add .cal-switch{
position:absolute;
top:-55px;
right:0;
display:block;
color:var(--font-color-btn-link);
font-size:12px;
border:1px solid #bbb;
border-radius:3px;
width:170px;
height:30px;
padding:5px 5px;
text-align:center;
box-sizing:border-box;
line-height:1.5;
}
.calendar-add .cal-switch.is-disabled{
border-color:#eee;
color:#ccc;
}

/* price-calendar > calendar-add
------------------------------------------------ */
.price-calendar .calendar-add{
position:fixed;
margin:0;
width:100%;
left:0;
z-index:3;
background-color:#fff;
top:45px;
}
.price-calendar .calendar-add + .hdg-l2-02{
border-top:none;
}
.price-calendar .calendar-add .cal-guide{
padding:10px 10px 10px;
display:block;
color:var(--cmn-font-color-gray);
font-size:13px;
background-color:#f5f5f5;
border-top:1px solid #bbb;
}
.price-calendar .calendar-add .cal-sup{
margin:5px 0 10px;
font-size:11px;
text-align:right;
}
.price-calendar .calendar-add .cal-notes{
display:block;
font-size:11px;
color:var(--cmn-font-color-gray);
padding:10px;
}
.price-calendar .calendar-add .cal-notes.indent{
margin-left:1em;
text-indent:-1em;
}
.price-calendar .calendar-add .cal-guide-filter{
margin:0;
display:-webkit-box;
display:flex;
-webkit-box-align:center;
align-items:center;
}
.price-calendar .calendar-add .cal-guide-filter li{
display:block;
vertical-align:middle;
}
.price-calendar .calendar-add .cal-guide-filter li:first-child{
padding-right:15px;
}
.price-calendar .calendar-add .cal-guide-filter li:last-child{
width:85px;
white-space:nowrap;
}
.price-calendar .calendar-add .cal-guide-filter .checkbox-custom label span{
font-size:11px;
color:var(--cmn-font-color-base);
}
.price-calendar .calendar-add .cal-guide-filter .checkbox-custom label span span{
display:inline-block;
}

@media screen and (max-width:320px){
.price-calendar .calendar-add .cal-guide-filter li:first-child{
width:125px;
}
}

/* price-cal-container
------------------------------------------------ */
.price-calendar .calendar-container{
padding-bottom:15px;
}
.price-calendar .calendar tr:not(:first-child){
border-top:1px solid #e5e5e5;
}

/* toggle-cal-container
------------------------------------------------ */
.price-calendar .toggle-cal-container .toggle-cal-item{
display:none;
margin:0 10px;
}
.price-calendar .toggle-cal-container.active .toggle-cal-item{
display:block;
}
.price-calendar .toggle-cal-container.active .toggle-cal-btn::before{
margin-top:-7px;
background:url(/element/shared/images/icon/icon-chevron-up.svg) 0 center no-repeat;
}
.price-calendar .toggle-cal-container .toggle-cal-btn{
box-sizing:border-box;
display:block;
position:relative;
padding:10px 5px 10px 27px;
border:none;
width:100%;
background:none;
text-align:left;
font-size:12px;
color:var(--font-color-btn-link);
height:38px;

}
.price-calendar .toggle-cal-container .toggle-cal-btn:before{
display:inline-block;
position:absolute;
top:50%;
left:10px;
margin-top:-6px;
width:12px;
height:12px;
background:url(/element/shared/images/icon/icon-chevron-down.svg) 0 center no-repeat;
content:"";
}

/* cal-define
------------------------------------------------ */
.price-calendar .cal-define{
position:relative;
border:1px solid #ccc;
display:-webkit-box;
display:flex;
font-size:10px;
}
.price-calendar .cal-define .calendar td:nth-child(1) .price-date,
.price-calendar .cal-define .calendar td.holiday .price-date{
color:var(--cmn-font-color-base);
}
.price-calendar .cal-define .cal-define-item{
display:-webkit-box;
display:flex;
-webkit-box-align:stretch;
align-items:stretch;
width:202px;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl{
padding:7px 2px 4px 2px;
display:-webkit-box;
display:flex;
-webkit-box-align:end;
align-items:flex-end;
width:calc(146px/2);
background-color:#f5f5f5;
box-sizing:border-box;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl .calendar{
margin:0;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl .calendar td{
padding:0;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl .calendar tr > td > div{
height:auto;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl .calendar .price-date{
font-size:12px;
margin-bottom:5px;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl .calendar .price-item a{
height:17px;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl .calendar .price-status-cheapest-outward .outward a::before{
bottom:0;
height:14px;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl .calendar .price-status-blank-outward .outward a::before{
top:3px;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl .calendar .price-status-cheapest-oneway .oneway a::before{
bottom:0;
height:14px;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl .calendar .price-status-blank-oneway .oneway a::before{
top:3px;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl-guide{
display:-webkit-box;
display:flex;
-webkit-box-align:end;
align-items:flex-end;
padding:0 0 3px 4px;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl-guide ul{
margin:0;
}
.price-calendar .cal-define .cal-define-item .cal-define-tbl-guide ul li{
font-size:10px;
margin-bottom:7px;
}
.price-calendar .cal-define .cal-define-guide{
padding:3px 5px 0 4px;
-webkit-box-flex:1;
flex:1;
}
.price-calendar .cal-define .cal-define-guide .cal-define-guide-unit{
text-align:right;
margin-left:-70px;
position:relative;
margin-bottom:15px;
}
.price-calendar .cal-define .cal-define-guide .cal-define-status{
margin:0;
}
.price-calendar .cal-define .cal-define-guide .cal-define-status li{
vertical-align:middle;
font-size:10px;
margin-bottom:3px;
}
.price-calendar .cal-define .cal-define-guide .cal-define-status li.cal-define-status-cheapest:before{
content:"";
position:relative;
top:-2px;
display:inline-block;
width:calc(32px/2);
height:calc(22px/2);
border:1px solid rgba(277,7,7,.4);
border-radius:50%;
box-sizing:border-box;
vertical-align:middle;
}
.price-calendar .cal-define .cal-define-guide .cal-define-status li.cal-define-status-search:before{
position:relative;
top:-2px;
display:inline-block;
width:12px;
height:12px;
margin:0 1px 0 3px;
background-image:url(/element/w_air_on/shared/images/icon/icon-zoom.svg);
background-size:100%;
background-repeat:no-repeat;
content:"";
vertical-align:middle;
}
.price-calendar .cal-define.cal-define-oneway .cal-define-tbl{
padding:5px 2px 0 2px;
}
.price-calendar .cal-define.cal-define-oneway .cal-define-tbl .calendar tr > td > div{
height:30px;
}
.price-calendar .cal-define.cal-define-oneway .cal-define-guide .cal-define-guide-unit{
margin-bottom:10px;
}
.price-calendar .cal-define.cal-define-oneway .cal-define-item{
width:140px;
}
.price-calendar .cal-define.cal-define-oneway .cal-define-status{
text-align:right;
}
.price-calendar .cal-define.cal-define-oneway .cal-define-status li{
display:inline-block;
}

/* price-status
------------------------------------------------ */
.price-calendar .calendar td:nth-child(1) .price-date,
.price-calendar .calendar td.holiday .price-date{
color:var(--cmn-font-color-red);
}
.price-calendar .calendar td.disabled .price-date,
.price-calendar .calendar td.disabled:nth-child(1) .price-date,
.price-calendar .calendar td.holiday.disabled .price-date{
color:#ccc;
}
.price-calendar .calendar tr > th:nth-child(1),
.price-calendar .calendar tr > td:nth-child(1) a,
.price-calendar .calendar tr > td.holiday:nth-child(7) a,
.price-calendar .calendar tr > td.holiday a{
color:var(--font-color-btn-link);
}
.price-calendar .calendar .price-date{
display:block;
text-align:center;
font-size:13px;
color:var(--cmn-font-color-base);
line-height:1;
margin-bottom:1px;
}
.price-calendar .calendar .price-item{
display:block;
}
.price-calendar .calendar .price-item.oneway{
margin-bottom:0;
height:27px;
}
.price-calendar .calendar .price-item.outward{
margin-bottom:1px;
}
.price-calendar .calendar .price-item.outward,
.price-calendar .calendar .price-item.return{
height:21px;
}
.price-calendar .calendar .price-item a{
height:100%;
position:relative;
padding-top:1px;
padding-bottom:0;
display:-webkit-box;
display:flex;
-webkit-box-align:center;
align-items:center;
-webkit-box-pack:center;
justify-content:center;
color:var(--font-color-btn-link);
font-size:11px;
line-height:1;
}
.price-calendar .calendar tr > td >div{
display:block;
box-sizing:border-box;
position:relative;
margin:0 auto;
min-height:46px;
padding:1px 0;
}
.price-calendar .calendar tr > td >div > span{
padding-top:3px;
display:block;
}
.price-calendar .calendar tr > td .disabled .price-item{
display:none;
}
.price-calendar .calendar tr > td.active a{
background-color:#ecf6ff;
}
.price-calendar .calendar tr > td.active.single div >span{
background-color:#2584d1;
}
.price-calendar .calendar tr > td.active.single div >span .price-date{
color:#fff;
}
.price-calendar .calendar tr > td.active.single div >span a{
font-weight:bold;
background-color:#2584d1;
color:#fff;
}
.price-calendar .calendar tr > td.start .outward a{
color:#fff;
font-weight:bold;
background:-webkit-linear-gradient(right, #ecf6ff 0%, #ecf6ff 5px, #2584d1 5px);
background:linear-gradient(to left, #ecf6ff 0%, #ecf6ff 5px, #2584d1 5px);

}
.price-calendar .calendar tr > td.start .outward a::after{
z-index:1;
position:absolute;
top:0;
right:0;
content:"";
display:block;
width:0;
height:0;
border-top:11px solid transparent;
border-bottom:10px solid transparent;
border-left:5px solid #2584d1;
}
.price-calendar .calendar tr > td.end .return a{
color:#fff;
font-weight:bold;
background:-webkit-linear-gradient(left, #ecf6ff 0%, #ecf6ff 5px, #2584d1 5px);
background:linear-gradient(to right, #ecf6ff 0%, #ecf6ff 5px, #2584d1 5px);
}
.price-calendar .calendar tr > td.end .return a::after{
z-index:1;
position:absolute;
top:0;
left:0;
content:"";
display:block;
width:0;
height:0;
border-top:11px solid transparent;
border-bottom:10px solid transparent;
border-right:5px solid #2584d1;
}
.price-calendar .calendar .price-status-blank-oneway a::before{
content:"";
position:absolute;
top:8px;
left:50%;
margin-left:-5px;
width:12px;
height:0;
padding-top:12px;
overflow:hidden;
line-height:2;
background-image:url(/element/w_air_on/shared/images/icon/icon-zoom.svg);
background-repeat:no-repeat;
background-size:100%;
}
.price-calendar .calendar .price-status-blank-outward .outward a::before{
content:"";
position:absolute;
top:5px;
left:50%;
margin-left:-5px;
width:12px;
height:0;
padding-top:12px;
overflow:hidden;
line-height:2;
background-image:url(/element/w_air_on/shared/images/icon/icon-zoom.svg);
background-repeat:no-repeat;
background-size:100%;
}
.price-calendar .calendar .price-status-blank-outward.active.start .outward a::before{
background-image:url(/element/w_air_on/shared/images/icon/icon-zoom-white.svg);
}
.price-calendar .calendar .price-status-blank-return .return a::before{
content:"";
position:absolute;
top:5px;
left:50%;
margin-left:-5px;
width:12px;
height:0;
padding-top:12px;
overflow:hidden;
line-height:2;
background-image:url(/element/w_air_on/shared/images/icon/icon-zoom.svg);
background-repeat:no-repeat;
background-size:100%;
}
.price-calendar .calendar .price-status-blank-return.active.end .return a::before{
background-image:url(/element/w_air_on/shared/images/icon/icon-zoom-white.svg);
}
.price-calendar .calendar .price-status-cheapest-oneway a::before{
z-index:2;
display:block;
position:absolute;
bottom:3px;
left:8%;
width:77%;
height:17px;
border:1px solid rgba(277,7,7,.4);
border-radius:50%;
content:"";
}
.price-calendar .calendar .price-status-cheapest-outward .outward a::before{
z-index:2;
display:block;
position:absolute;
bottom:1px;
left:8%;
width:77%;
height:17px;
border:1px solid rgba(277,7,7,.4);
border-radius:50%;
content:"";
}
.price-calendar .calendar .price-status-cheapest-outward.active.start .outward a::before{
border-color:#fff;
}
.price-calendar .calendar .price-status-cheapest-return .return a::before{
z-index:2;
display:block;
position:absolute;
bottom:1px;
left:8%;
width:77%;
height:17px;
border:1px solid rgba(277,7,7,.4);
border-radius:50%;
content:"";
}
.price-calendar .calendar .price-status-cheapest-return.active.end .return a::before{
border-color:#fff;
}
.price-calendar .calendar .active.single .price-status-blank-oneway a::before{
background-image:url(/element/w_air_on/shared/images/icon/icon-zoom-white.svg);
}
.price-calendar .calendar .active.single .price-status-cheapest-oneway a::before{
border-color:#fff;
}
.price-calendar .calendar .active.start .price-status-blank-outward .outward a::before{
background-image:url(/element/w_air_on/shared/images/icon/icon-zoom-white.svg);
}
.price-calendar .calendar .active.start .price-status-cheapest-outward .outward a::before{
border-color:#fff;
}
.price-calendar .calendar .active.end .price-status-blank-return .return a::before{
background-image:url(/element/w_air_on/shared/images/icon/icon-zoom-white.svg);
}
.price-calendar .calendar .active.end .price-status-cheapest-return .return a::before{
border-color:#fff;
}
