@keyframes flicker_bg_click{0%{background:#f7e2f1;} 50%{background:transparent;} 100%{background:#f7e2f1;}}

#calendar{}
#calendar table.calTable{width:100%; border:1px solid #cdcfd4;}
#calendar table.calTable tr th{position:relative; width:14.285%; min-height:auto; padding:.75em .125em; font-weight:500; text-align:center;}
#calendar table.calTable tr td{position:relative; width:14.285%; min-height:auto; padding:.75em .125em; border:1px solid #cdcfd4; font-size:.813em; text-align:center;}
#calendar table.calTable tr{}
#calendar table.calTable tr.tmonth{border:1px solid #363b98;}
#calendar table.calTable tr.tmonth th{background:#363b98; border:none; border-bottom:1px solid #cdcfd4; color:#fff; font-size:.813em;}
#calendar table.calTable tr.tmonth th.thisday{font-weight:700;}
#calendar table.calTable tr.tmonth th a.change_cal{display:inline-block; padding:.125em .25em .25em; border-radius:2px; color:#9093d7; font-size:.938em; cursor:pointer;}
#calendar table.calTable tr.tmonth th a.change_cal:focus,
#calendar table.calTable tr.tmonth th a.change_cal:hover{color:#b5b8e5;}
#calendar table.calTable tr.week{}
#calendar table.calTable tr.week th{padding:.438em .125em .5em; background:#eeeef9; border:1px solid #cdcfd4; border-bottom:1px solid #b8b9bc; color:#1a1764; font-size:.813em;}
#calendar table.calTable tr td.days{z-index:1;}
#calendar table.calTable tr td.days.off{background:#f6f6f6; color:#b8b9bc; cursor:default; z-index:0;}
#calendar table.calTable tr td.days.edu{background:#f6f6f6; color:#b8b9bc; cursor:default; z-index:0;}
#calendar table.calTable tr td.days.holiday{background:#f6f6f6; color:#df2d2d; cursor:default; z-index:0;}
#calendar table.calTable tr td.days.on{cursor:pointer; z-index:2;}
#calendar table.calTable tr td.days.on:hover:after{content:''; display:block; position:absolute; width:calc(100% + 2px); height:calc(100% + 2px); top:-1px; left:-1px; border:1px solid #84858a;}
#calendar table.calTable tr td.days.click{background:#f7e2f1; color:#cb3d97; font-weight:700; z-index:3; animation:flicker_bg_click 1s infinite;}
#calendar table.calTable tr td.days.click:after,
#calendar table.calTable tr td.days.click:hover:after{content:''; display:block; position:absolute; width:calc(100% + 2px); height:calc(100% + 2px); top:-1px; left:-1px; border:2px solid #cb3d97;}
#calendar table.calTable tr td.days span.off{}
#calendar table.calTable tr td.days span.edu{}
#calendar table.calTable tr td.days span.holiday{color:#df2d2d;}
#calendar table.calTable tr td.days span.on{}

/*
#calendar{padding:0 !important; border:none !important;}
#calendar table{width:100%; border:1px solid #DDDDDD;}
#calendar table tr th{position:relative; width:14.285%; padding:12px 2px; font-size:.813rem; font-weight:500; text-align:center;}
#calendar table tr td{position:relative; width:14.285%; padding:12px 2px; border:1px solid #ddd; font-size:.813rem; text-align:center;}
#calendar table tr.tmonth{}
#calendar table tr.tmonth th{background:#0066b3; color:#fff;border:none}
#calendar table tr.tmonth a.change_cal{display:inline-block; padding:2px 3px 3px; border-radius:2px; color:#88b2df; font-size:.75rem; cursor:pointer;}
#calendar table tr.tmonth a.change_cal:focus,  #calendar table tr.tmonth a.change_cal:hover{color:#b4d5f8;}
#calendar table tr.thisday{}
#calendar table tr.week{}
#calendar table tr.week th{padding:7px 2px 8px; background:#eee; border:1px solid #ddd; border-bottom:1px solid #959b9d;}
#calendar table tr td.days{}
#calendar table tr td.days.off{color:#959b9d; cursor:default;}
#calendar table tr td.days.on{cursor:pointer;}
#calendar table tr td.days.on:hover{background:#f7f7f7;}
#calendar table tr td.days.click{background:#fff8f3; color:#da4648;}
#calendar table tr td.days.click:after{content:''; display:block; position:absolute; width:calc(100% + 2px); height:calc(100% + 2px); top:-1px; left:-1px; border:2px solid #fb9d51;}
#calendar table tr td.days span{}
#calendar table tr td.days span.off{}
#calendar table tr td.days span.on{}
#calendar table tr td.days:not([data-label=""])::before{content:''; display:block; position:absolute; top:calc(100% - 12px); left:50%; width:0; height:0; border:5px solid transparent; border-bottom-color:rgba(0,0,0,.9); opacity:0; visibility:hidden; transform:translate(-50%, 0); transition:.2s; z-index:1;}
#calendar table tr td.days:not([data-label=""])::after{content:attr(data-label); position:absolute; top:calc(100% + 1em - 2px); left:50%; width:auto; height:auto; padding:.625em .75em; background:rgba(0,0,0,.9); border-radius:5em; color:#fff; font-size:.75em; font-weight:400; text-align:center; white-space:nowrap; opacity:0; visibility:hidden; transform:translate(-50%, -50%); transition:.2s; z-index:1;}
#calendar table tr td.days:not([data-label=""]):hover::before,
#calendar table tr td.days:not([data-label=""]):hover::after{opacity:1; visibility:visible;}

@media only screen and (max-width:1023px){
	#calendar table tr th{padding:6px 2px;}
	#calendar table tr td{padding:6px 2px;}
	#calendar table tr.week th{padding:4px 2px 5px;}
}

@media only screen and (max-width:880px){
}
*/