.calendar{
    font-family: Roboto,"Noto Sans TC",Helvetica,Arial,sans-serif;
    color:#333333;
    font-size: 18px;
	box-sizing: content-box;
}
/*.icon{
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}*/
.cal_title {
    font-size: 30px;
    font-weight: bold;
}
.cal_header{
    margin-bottom: 10px;
    height: 63px;
}
.cal_control{
    overflow: hidden;
}
.btn_today{
    display: inline-block;
    margin: 10px 20px 0px 40px;
    padding: 8px;
    border-radius: 5px;
    background-color: #F5F5F5;
    font-size: 14px;
}
.btn{
    cursor: pointer;
    -webkit-touch-callout: none; /* iOS Safari */
       -webkit-user-select: none; /* Safari */
        -khtml-user-select: none; /* Konqueror HTML */
          -moz-user-select: none; /* Firefox */
           -ms-user-select: none; /* Internet Explorer/Edge */
               user-select: none;
}
.btn_today:hover{
    background-color: #EBEBEB;
}
.btn_last_month i:before{
    content: "\f053";
}
.btn_next_month i:before{
    content: "\f054";
}
.btn_last_month, .btn_next_month{
    display: inline-block;
    margin-right: 2px;
    border-width: 0px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    font-size: 14px;
    padding: 6px 5px 10px 11px;
	box-sizing: content-box;
}
.btn_last_month:hover, .btn_next_month:hover{
    background-color: #EDEDED;
}
.cal_year_month{
    display: inline-block;
    margin-left: 10px;
}
.cal_year_month > div > div{
    display: inline-block;
}
.cal_year_month .btn_title{
    font-size:36px;
}
.cal_year_month > div:first-child{
    margin-right: 10px;
}
.btn_year_wrapper, .btn_month_wrapper{
    display: inline-block;
    border-radius: 5px;
    padding: 0px 4px;
}
.btn_year_wrapper:hover, .btn_month_wrapper:hover{
     background-color: #EDEDED;
}            
.cal_subtitle{
    text-align: center;
}
.subtitle_month{
    font-size: 14px; 
}
.cal_setting{
    float: right;
    display: inline-block;
}
.cal_wi{
    color: #7A7A7A;
    text-align: center;
}
.info_row > div:first-child, .info_row > div:last-child{
    color: red;
}
.cal_wi:first-child, .cal_wi:last-child {
    color: #EB3364!important;
}
.cal_day_row{
    overflow: hidden;
    width: 100%;
    height: 29px;
}
.event_row{
    margin-top: 32px!important;
}
.info_item{
    display: inline-block;
}
.cal_day_item{
    display: inline-block;
}
.cal_day{
    padding: 2px 0px;
    margin-top: 2px;
    margin-left: 3px;
    line-height: 22px;
    border: solid 1px transparent;
}
.cal_chinese_day{
    padding: 0px 2px;
    margin-top: 4px;
    margin-left: 2px;
    border: solid 1px #F4D274;
    background-color: #FEF7DB;
    border-radius: 3px;
    min-width: 12px;
    min-height: 16px;
    font-size: 12px;
    display: inline-block;
	box-sizing: content-box;
}
.cal_chinese_day.off{
    display: none;
}
.cal_chinese_day.first_day{
    border-bottom: solid 1px red;
}
.special_day_wrapper{
    float: right;
}
.special_day{
    border: solid 1px #1C6B3A;
    background-color: #5DB37E;
    color: white;
    margin: 4px 2px;
}
.special_day.shrink{
    padding: 0px 4px;
    margin: 4px 2px 0px 0px;
    border: solid 1px #5E6999;
    background-color: #7A87C6;
    border-radius: 3px;
    overflow:hidden;
    height:22px;
    line-height:22px;
    transition:max-width 0.2s linear;
    white-space:nowrap;
    position:relative;
}
.special_day.shrink.off{
    max-width: 12px;,
}
.calendar[lang=en] .special_day.shrink.on{
    max-width: 80px;
    font-size: 14px;
}
.calendar[lang=zh-hant] .special_day.shrink.on{
    max-width: 50px;
}
.calendar[lang=en] .special_day.shrink{
    word-spacing: 1px;
    font-size: 14px;
}
.calendar[lang=zh-hant] .special_day.shrink{
    letter-spacing: 1px;
}
.special_day.icon{
    position: relative;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    color: rgb(255, 255, 255);
    border-radius: 50%;
    border: solid 1px #C13711;
    background-color: #E35C33;
    margin: 4px 2px;
}
.special_day.six_day_fast.icon i:before{
    content: "\f0f3";
}
.special_day.ten_day_fast.icon i:before{
    content: "\f06a";
}
.last_month, .next_month{
    color: #ccc9c9;
    background-color: #F4F4F4;
}
.info_row .last_month:first-child, .info_row .last_month:last-child, .info_row .next_month:first-child, .info_row .next_month:last-child{
    color: #E9B6B4;
}
.is_today{
    background-color: #D1DFFC;
}
.is_today .cal_day > div {
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    color: #fff;
    background-color: #4285f4;
    border-radius: 50%;
}
.cal_event_item{
    background-color: #429ADF;
    position: absolute;
    /*width: 28.29%;left: 14.35%;height: 18px;top:0px;*/
    color: white;
    border-radius: 3px;
    padding: 1px 3px;
    font-size:12px;
    overflow: hidden;
    white-space: nowrap;
}
.cal_footer div{
    display: inline-block;
    vertical-align: middle;
    margin: 0px 4px;
}
.cal_footer div.title{
    margin-right: 26px;
}
.cal_footer div.indicator{
    padding: 0px 2px;
    border-radius: 3px;
    min-width: 12px;
    min-height: 16px;
    font-size: 12px;
    display: inline-block;
    box-sizing: content-box;
}
.popup_menu{
    min-width: 100px;
    max-width:180px;
    max-height: 200px;
    box-shadow: 0 24px 38px 3px rgba(0,0,0,0.14), 0 9px 46px 8px rgba(0,0,0,0.12), 0 11px 15px -7px rgba(0,0,0,0.2);
    background-color: white;
    margin-top: 8px;
    padding: 8px 0px;
    font-size: 14px;
    color: #222222;
}
.menu_option{
    line-height: 36px;
    height: 36px;
    padding: 0px 16px 0px 16px;
    white-space: nowrap;
    overflow: hidden;
    text-align: center;
}
.menu_option:hover{
    background-color: #EEEEEE;
}
.menu_option.selected{
	color: white;
    background-color: rgb(49, 120, 253);
}
.calendar_event {
    background-color: #429ADF;
    color: white;
    font-size: 12px!important;
    padding: 1px 4px;
    box-sizing: border-box;
    border-radius: 3px;
    white-space: nowrap;
    overflow: hidden;
}
.special_event{
    font-size: 12px!important;
    padding: 1px 4px;
    background-color: transparent;
    color: black;
}
.special_event:before{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    content: " ";
    background-color: red;
    display: inline-block;
    margin-right: 6px;
}
.more_event{
    color: #757575;
    font-size: 12px;
    padding: 1px 4px;
    box-sizing: border-box;
    border-radius: 3px;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
}
.float_panel{
    box-shadow: 0 24px 38px 3px rgba(0,0,0,0.3), 0 9px 46px 8px rgba(0,0,0,0.3), 0 11px 15px -7px rgba(0,0,0,0.3);
    background-color: white;
    box-sizing: border-box;
}
.day_full_event{
    max-width: 280px;
    min-width: 150px;
    z-index: 9997;
    padding: 10px;
}
.dayFull_event .info_container{
    margin-bottom: 5px;
}
.day_full_event .week_day{
    color: #616161;
    font-size: 12px;
    display: inline-block;
}
.day_full_event .chinese_date{
    color: red;
    font-size: 12px;
    display: inline-block;
    float: right;
    margin-right: 30px;
    margin-top: 5px;
}
.day_full_event .date{
    color: #9e9e9e;
    font-size: 32px;
}
.day_full_event .btn_close:before, .day_full_event .btn_close:after{
    background-color: #AFAFAF;
}
.day_full_event .event_container{
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 210px;
}
.day_full_event .full_event{
    margin-bottom: 2px;
}
.event_details{
    max-width: 500px;
    min-width: 400px;
    z-index: 9998;
}
.event_details .main_info{
    background-color: #429ADF;
    height: 120px;
    color: white;
    position: relative;
}
.event_details .btn_close:before, .event_details .btn_close:after{
    background-color: white;
}
.event_details .event_title{
    position: absolute;
    bottom: 18px;
    padding: 0px 30px;
    line-height: 26px;
    max-height: 78px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.event_details .misc_info{
    padding: 15px;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 480px;
}
.event_details .misc_info > div{
    margin-bottom: 15px;
}
.event_details .misc_info > div:after{
    clear: both;
    content: " ";
    display: block;
}
.event_details .misc_info > div > div{
    float: left;
    display: inline-block;
}
.event_details .misc_info > div > div:first-child{
    width: 10%;
}
.event_details .misc_info > div > div:last-child{
    width: 90%;
    font-size: 14px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.event_details .misc_info .times{
    font-size: 12px;
    color: #A8A8A8;
}
.event_details .datetime:before{
    content: "\f017";
}
.event_details .location:before{
    content: "\f041";
}
.event_details .desc:before{
    content: "\f249";
}
.event_details .url:before{
    content: "\f129";
}
.event_details i{
    width:14px;
    text-align: center;
}
.btn_close {
    display: inline-block;
    position: absolute;
    right: 10px ;
    top: 10px;
    width: 30px;
    height: 30px;
    transition: transform .25s ease-in-out;
}
.btn_close:hover {
    transform: rotate(360deg);
    background-color: rgba(0,0,0,0.1);
    border-radius: 50%;
}
.btn_close:before {
    content: "";
    position: absolute;
    display: block;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 14px;
    height: 2px;
    background-color: inherit;
    /*border-top: 1px solid rgba(0,0,0,0.5);*/
    transform: rotate(45deg);
    transform-origin: center;
}
.btn_close:after {
    content: "";
    position: absolute;
    display: block;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 14px;
    height: 2px;
    background-color: inherit;
    /*border-top: 1px solid rgba(0,0,0,0.5);*/
    transform: rotate(-45deg);
    transform-origin: center;
}
@media only screen and (max-width: 1052px){
    .cal_setting{
        display: none;
    }
    .cal_subtitle{
        text-align: right;
        flex: 0 1 auto!important;
    }
    .special_day{
        display: none;
    }
}
@media only screen and (max-width: 768px){
    .btn_today{
        margin: 10px 5px 0px 0px;
    }
    .cal_year_month{
        margin-left: 3px;
    }
    .cal_year_month > div:first-child{
        margin-right: 5px;
    }
}
@media only screen and (max-width: 700px){
    .cal_year_month .btn_title{
        font-size: 33px;
    }
    .subtitle_year{
        font-size: 17px;
    }
}
@media only screen and (max-width: 650px){
    .cal_year_month .btn_title{
        font-size: 30px;
    }
    .subtitle_year{
        font-size: 16px;
    }
}
@media only screen and (max-width: 600px){
    .cal_year_month .btn_title{
        font-size: 27px;
    }
    .subtitle_year{
        font-size: 15px;
    }
}
@media only screen and (max-width: 550px){
    .cal_year_month .btn_title{
        font-size: 24px;
    }
    .subtitle_year{
        font-size: 15px;
    }
}
@media only screen and (max-width: 500px){
    .cal_year_month .btn_title{
        font-size: 21px;
    }
}
@media only screen and (max-width: 450px){
    .cal_year_month .btn_title{
        font-size: 18px;
    }
    .subtitle_year{
        font-size: 14px;
    }
    .cal_chinese_day{
        display: none;
    }
}