@charset "UTF-8";
input.calendar_input{
	width: 250px;
    padding: 0.5em;
	line-height: 1.5;
	font-size: 1em;
    box-sizing: border-box;
}
button.calendar_button{
	background-color: transparent;
	border: none;
	font-size: 1em;
	padding: 0;
    margin: 0.5em;
}
button.calendar_button img{
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}
.calendar{
	position: relative;
	z-index: 10;
}
.calendar .calendar_frame{
	background-color: #0060C7;
	position: absolute;
	top: 0.5em;
	left: 0;
	border-radius: 8px 8px 0 0;
	margin: 0;
	padding: 0 0.25em;
}
.calendar .calendar_header{
	display: flex;
	justify-content: center;
	padding: 1em;
}
.calendar #calendar_header_label{
	font-size: 1em;
	color: #FFF;
	border-bottom: 1px solid #FFF;
	padding: 0 0.5em;
	margin: 0;
}
.calendar .calendar_header button{
	background-color: transparent;
	border: none;
	font-size: 1em;
	font-weight: bold;
	color: #FFF;
	padding: 0 0.5em;
	margin: 0;
}
.calendar .calendar_header button:hover,
.calendar .calendar_header button:focus{
	outline: 2px solid #FFF;
}
.calendar .calendar_header button.next_month,
.calendar .calendar_header button.prev_month{
	padding: 0 1em;
}
.calendar .calendar_table{
	padding: 0;
	margin: 0;
	background-color: #FFF;
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #EFF1F5;
}
.calendar .calendar_table thead th,
.calendar .calendar_table tbody td{
	padding: 0.75em;
	text-align: center;
	vertical-align: middle;
}
.calendar .calendar_table thead th{
	background-color: #EFF1F5;
	text-align: center;
	vertical-align: middle;
	border-right: 1px solid #FFF;
}
.calendar .calendar_table thead th:last-child{
	border-right: none;
}
.calendar .calendar_table tbody td{
	background-color: #FFF;
}
.calendar .calendar_table tbody td.cell{
	border: 1px solid #EFF1F5;
}
.calendar .calendar_table tbody td.cell:first-child{
	border-left: none;
}
.calendar .calendar_table tbody td.cell:last-child{
	border-right: none;
}
.calendar .calendar_table tbody td.cell[aria-selected="true"]{
	outline: 2px dotted #000;
}
.calendar .calendar_table tbody td.cell:hover,
.calendar .calendar_table tbody td.cell:focus{
	outline: 2px solid #000;
}
.calendar .calendar_table tbody td.cell:hover,
.calendar .calendar_table tbody td.cell:focus,
.calendar .calendar_table tbody td.cell[tabindex="0"]{
	background-color: #0060C7;
	border: 1px solid #0060C7;
	color: #FFF;
}
.calendar .calendar_ok_cancel{
	background-color: #FFF;
	padding: 1.5em 1em 1em;
	margin: 0 0 0.25em 0;
	text-align: right;
}
.calendar .calendar_ok_cancel .calendar_ok_cancel_btn{
	background-color: #0060C7;
	border: none;
	color: #FFF;
	font-size: 1em;
	margin: 0 0.5em 0 0;
	padding: 0.5em;
	width: 100px;
	text-align: center;
}
.calendar .calendar_ok_cancel .calendar_ok_cancel_btn:last-child{
	margin-right: 0;
}
.calendar .hide{
	display: none;
}

