@charset "utf-8";
html, body {width:100%; max-width:100%; overflow-x:hidden; height:100%; min-height:100%; font-size:16px; position:relative; padding:0; margin:0 auto;}

body > .flex { position:relative; height:100%; min-height: 100%; max-height: 100%;}
body > .flex > .flexitem { position:relative; height:100%; min-height: 100%; max-height: 100%;}
.flex { display:flex;}
.flexrow { flex-direction: row; flex-wrap: nowrap; justify-content:center; align-items:stretch; border:1px solid #ccc; box-sizing: border-box;}
.flexitem { border:1px solid #ccc; border-collapse:collapse; box-sizing: border-box;}
.flexrow .flexitem {width:100%;}
.flexfill { display:flex; justify-content:center; align-items: center; overflow: auto; position: relative;}
.inner { position:relative; min-height: 100px; min-width: 100px; background-color: rgba(0,0,0,0.2);}

select,input[type="text"] { margin-bottom:1rem;}
.w100 { width:100%;}
.h100 { height:100%;}

.spcalendar {width:14rem; padding:.75rem .5rem; background-color:#f0f1f2; border:1px solid #e5e6e7; color:#4a5a83; box-sizing: content-box; font-weight:700;}
.spcalendar-nav button { display:inline-block; cursor:pointer; vertical-align:middle; border:none; height:1.25rem; line-height:1.25rem; text-align:center; border-radius:3px; font-size:.875rem; outline:none; padding:0; font-weight: 700;}
.spcalendar-nav { display:flex; margin-bottom:.5rem; color:#2c2e4e; padding:0 .5rem;}
.spcalendar-flexgrow { flex:3 1 auto;}
.spcalendar button[value="monthprev"],.spcalendar button[value="monthnext"] { width:1.5rem;border-radius:50%;text-align:center;font-size:1rem;}
.spcalendar button[value="monthprev"]:before {content:"<";display:inline;}
.spcalendar button[value="monthnext"]:before {content:">";display:inline;}
.spcalendar-days, .spcalendar-days-title { display:flex; flex-wrap:wrap; justify-content:flex-start; padding:0; width:100%;}
	.spcalendar-days > *,.spcalendar-days-title > * { width:1.5rem; height:1.25rem; flex:none; margin:0 .25rem .25rem .25rem; text-align:center; line-height:1.25rem; font-size:.75rem; position:relative; cursor:default; -webkit-user-select: none; background:none; border:none; padding:0;font-weight:700;}
	.spcalendar-days > * { cursor:pointer; color:rgb(128,128,128);}
	.spcalendar-days > *[data-month="0"] { cursor:pointer; color:rgb(0,0,0);}
	.spcalendar-days > *:hover:after { content:""; display:block; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:1.5rem; height:1.5rem; border-radius:3px; z-index:0; background:#4083f2;}
	.spcalendar-days > *:hover { color:#fff;}
	.spcalendar-days > * > span,.spcalendar-days-title > * > span { position:relative; z-index:1;}