* {
	max-height: 9999999px;
}
html, body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: 'Segoe UI', 'Ubuntu', sans-serif;
}

body > .cal {
	width: 100%;
	height: 100%;
}
body > .cal .cal-day {
	height: 8vh;
}
.cal {
	width: 30em;
	height: 30em;
	position: relative;
	text-align: center;
	overflow: hidden;
}
.cal > * {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	flex-direction: column;
	transition: all 0.5s ease;
}
.cal > [data-z-order="-1"] {
	transform: scale(0.5);
	opacity: 0;
	visibility: hidden;
}
.cal > [data-z-order="1"] {
	transform: scale(2);
	opacity: 0;
	visibility: hidden;
}
.cal > [data-z-order="0"] {
	transform: scale(1);
	opacity: 1;
	visibility: visible;
}

.cal .cal-year,
.cal .cal-month,
.cal .cal-day {
	padding: 1vh 0;
}

.cal .cal-year,
.cal .cal-month,
.cal .cal-day {
	cursor: pointer;
}
.cal .cal-day {
	background: rgba(128,128,128, 0.05);
}
.cal .cal-year:hover,
.cal .cal-month:hover,
.cal .cal-day:hover {
	/*box-shadow: #bbb 0 0 0 1px inset;*/
	background: rgba(128,128,128, 0.15);
}

.cal .cal-day.cal-day-first {
	border-top-left-radius: 1vmax;
}
.cal .cal-day.cal-day-first:first-child {
	border-top-left-radius: 0;
}
.cal .cal-day.cal-day-last {
	border-bottom-right-radius: 1vmax;
}
.cal .cal-day.cal-day-last:last-child {
	border-bottom-right-radius: 0;
}

.cal > * > * > .cal-wdays {
	display: table;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	vertical-align: top;
	padding-bottom: 1em;
}
.cal > * > * > .cal-wdays > caption {
	padding: 1em 0.5em 0.5em;
}
.cal > * > * > .cal-wdays[data-cal-month="11"] {
	/*border-bottom: transparent 2em solid;*/
}
.cal > * > * > .cal-wdays[data-cal-month="0"] > caption {
	border-top: #667 2px dashed;
}
.cal > * > * > .cal-wdays th {
	padding: 0.5em 0;
}
.cal > * > * > .cal-wdays th[data-cal-wday="0"],
.cal > * > * > .cal-wdays th[data-cal-wday="6"] {
	color: #e00;
}
.cal > * > * > .cal-wdays tr {
	vertical-align: top;
}
.cal > * > * > .cal-wdays tr + tr > * {
	border-top: #ebebeb 1px solid;
}
.cal > * > * > .cal-wdays .cal-day .cal-day-date {
	/* font-family: Consolas, monospace; */
	font-size: 130%;
	padding: 0 0.25em;
	border-radius: 3px;
}
/*
.cal > * > * > .cal-wdays .cal-day.cal-day-today > .cal-day-date {
	font-weight: 600;
	color: #fff;
	background: #ff5722;
}
*/
.cal > * > * > .cal-wdays .cal-day.cal-day-today {
	box-shadow: #ff5722 0 0 0 2px inset;
}
.cal > * > * > .cal-wdays .cal-day.cal-day-stroke:after {
	position: absolute;
	content: '';
	box-shadow: rgba(12,34,56, 0.2) 0 0 0 0.1em;
	left:   -2%;
	top:    -2%;
	bottom: -2%;
	right:  -2%;
	border-radius: 2%;
}

.cal > * > * > .cal-wdays .cal-day .cal-day-marks > * {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 90%;
}
.cal > * > * > .cal-wdays .cal-day .cal-day-marks > *:after {
	content: '  \00d7  ' attr(data-mark-count);
}
.cal > * > * > .cal-wdays .cal-day .cal-day-marks > [data-mark-count="1"]:after {
	content: '';
}

.cal > * > * > .cal-season {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.cal > * > * > .cal-season > * {
	display: table-cell;
	width: 10%;
}
.cal > * > * > .cal-season.cal-even-year {
	background: #f6f6f6;
}

.cal > * > * > .cal-yrgroup {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.cal > * > * > .cal-yrgroup > * {
	display: table-cell;
	width: 10%;
}


.listview {
}
.listview-inner {
}
.listview:focus {
	outline: none;
}

.listview[data-listview-orientation="vertical"] > .listview-inner {
	width: 100% !important;
}
.listview[data-listview-orientation="horizontal"] > .listview-inner {
	height: 100% !important;
}


#dayMarks {
	display: table;
	line-height: 1.5em;
	width: 100%;
}
#dayMarks > * {
	display: table-row;
}
#dayMarks > * > * {
	display: table-cell;
	padding: 0.25em 1em;
}
#dayMarks > * > :first-child {
	padding-left: 0;
}
#dayMarks > * > :last-child {
	padding-right: 0;
}

#dayMarks .tl-mark-time {
	text-align: right;
	border-right: #66adcb 2px solid;
	width: 1em;
}
#dayMarks .tl-mark-row {
	text-align: left;
}
#dayMarks .tl-mark-label {
	font-weight: 600;
	text-decoration: none;
}
#dayMarks .tl-mark-value {
	font-weight: 600;
	display: inline-block;
	color: #fff;
	background: #8359bc;
	border-radius: 3px;
	padding: 0 0.25em;
	margin: 0 0.5em;
}

#dayMarks .tl-mark-content {
	white-space: pre-line;
}

#dayMarks .tl-mark-link {
	display: inline-block;
	max-height: 1.6em;
	overflow: hidden;
}
#dayMarks .tl-mark-link .material-icons {
	text-decoration: none !important;
	vertical-align: middle;
	margin-left: 0.5em;
}
#dayMarks .tl-mark-content + .tl-mark-link .material-icons {
	margin-left: 0;
}
#dayMarks .tl-mark-content + .tl-mark-link:after {
	content: attr(href);
	margin-left: 0.25em;
}

#dayMarks .tl-mark-label-row {
	word-break: break-all;
	word-wrap: break-word;
}

#myMarks {
	max-width: 30em;
	max-width: 50vw;
}
#myMarks > label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 50%;
	max-width: calc(50% - 1em);
	margin-right: 1em;
}

#modalViewTlMark .tl-mark-date {
	display: block;
	/* text-align: center; */
	font-size: 75%;
	font-weight: 400;
}
#modalViewTlMark .tl-mark-label {
	display: block;
	/* text-align: center; */
	font-size: 75%;
	/* font-weight: 400; */
}
#modalViewTlMark .tl-mark-content-header {
	display: block;
	/* text-align: center; */
	font-weight: 400;
}
#modalViewTlMark .tl-mark-value {
	
}
#modalViewTlMark .tl-mark-content {
	white-space: pre-line;
	
}
#modalViewTlMark .tl-mark-link {
}
#modalViewTlMark .tl-mark-link[href]:after {
	content: attr(href);
}

input,
textarea,
button {
	font: inherit;
	box-sizing: border-box;
	padding: 0.5em;
	border: none;
	border-radius: 2px;
}
button {
	padding: 0.5em 1em;
	background: #67adca;
	color: #fff;
/* 	text-shadow: rgba(0,0,0,0.2) 0 1px; */
	font-weight: 500;
	letter-spacing: 0.25px;
	cursor: pointer;
}
input,
textarea {
/* 	background: rgba(0,0,0, 0.05); */
/* 	border: rgba(0,0,0, 0.1) 1px solid; */
	border-bottom: #67adca 2px solid;
	padding-left: 0;
	padding-right: 0;
	color: #444;
}
textarea {
	width: 100%;
	resize: vertical;
	min-height: 2.5em;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
	-webkit-appearance: none; 
	margin: 0; 
}

input:focus,
textarea:focus {
	outline: none;
	border-color: #f90;
	color: #000;
}
button:focus {
	outline: none;
	box-shadow: rgba(0,110,156, 0.15) 0 0 0px 3px;
}

.btn {
	line-height: 1.75em;
	padding: 0em 0.35em;
	border-radius: 2px;
	margin: -2px 0;
	border: transparent 1px solid;
	text-decoration: none;
	background: transparent;
	color: #397994;
	font-weight: 500;
	cursor: pointer;
	white-space: nowrap;
	display: inline-block;
}
.btn:hover {
	background: #eee;
}
.btn:focus {
	border-color: initial;
	outline: none;
}
.btn > .material-icons {
	margin-right: 0.2em;
	font-size: 1.35em;
}

label.radio-button > .radio-button-label {
	line-height: 1.75em;
	padding: 0em 0.35em;
	border-radius: 2px;
	margin: -2px 0;
	border: transparent 1px solid;
	text-decoration: none;
	background: transparent;
	color: #397994;
	font-weight: 500;
	cursor: pointer;
	white-space: nowrap;
	display: inline-block;
}
label.radio-button > input[type=radio] {
	position: absolute;
	opacity: 0;
	height: 0px !important;
	width: 0px !important;
}
label.radio-button:hover > .radio-button-label {
	background: #eee;
}
label.radio-button > input[type=radio]:checked + .radio-button-label {
	border-color: initial;
}


.material-icons {
	vertical-align: -0.2em;
}

.cols {
	display: flex;
	flex-wrap: wrap;
	margin-left: -10px;
	margin-right: -10px;
}
.cols > * {
	margin-left: 10px;
	margin-right: 10px;
}

.mt-025 { margin-top:    0.25em; }
.mr-025 { margin-right:  0.25em; }
.mb-025 { margin-bottom: 0.25em; }
.ml-025 { margin-left:   0.25em; }

.mt-05 { margin-top:    0.5em; }
.mr-05 { margin-right:  0.5em; }
.mb-05 { margin-bottom: 0.5em; }
.ml-05 { margin-left:   0.5em; }

.mt-1 { margin-top:    1em; }
.mr-1 { margin-right:  1em; }
.mb-1 { margin-bottom: 1em; }
.ml-1 { margin-left:   1em; }

.spoiler-toggle {
	user-select: none;
}
.spoiler-toggle:before {
	content: '\25b6';
	margin-right: 0.15em;
	font-style: initial;
	text-indent: 0;
	font-size: 0.75em;
	width: 1em;
	display: inline-block;
	vertical-align: 0.1em;
	line-height: 1em;
	height: 1em;
	text-align: left;
	transform-origin: 40% center;
	transition: transform 100ms ease;
}
.spoiler-toggle.spoiler-open:before {
	transform: rotate(90deg);
}

.spoiler-toggle + * {
	overflow: hidden;
	height: 0;
	opacity: 0;
	transition: all 0.5s ease;
}
.spoiler-toggle.spoiler-open + * {
	height: initial;
	opacity: 1;
}

.text-center {
	text-align: center;
}

.modal-stack > * {
	padding-top: 0;
	padding-bottom: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.loadable {
	position: relative;
	min-height: 2em;
}

.loadable[data-loading] {
	pointer-events: none;
	transition: opacity 0.2s ease 0.2s;
}

.loadable:after {
	content: ' ';
	position: absolute;
	display: block;
	visibility: hidden;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	line-height: 3em;
	background: url(/loader.svg) rgba(255,255,255, 0.8) center center no-repeat;
	background-size: auto 2em;
	text-align: center;
	color: #000;
	text-shadow: #fff 0 1px 0;
	border-radius: inherit;
	z-index: 3;
}

button.loadable {
	transition: opacity 0s ease;
}
button.loadable:after {
	background-size: auto 0.5em;
	cursor: wait;
}

.loadable[data-loading]:after {
	visibility: visible;
	transition: visibility 0s ease 0.2s;
}
button.loadable[data-loading]:after {
	transition: visibility 0s ease 0;
}

.toolbar {
	display: block;
	display: flex;
	max-width: 100%;
	padding: 0.25em;
}
.toolbar > * {
	background: rgba(255,255,255, 0.8);
	color: #b33;
	padding: 1em;
	border-radius: 50%;
	margin: 0.25em;
}
.toolbar > *:focus {
	outline: none;
	box-shadow: rgba(187, 51, 51, 0.15) 0 0 0px 3px;
}
#navbar {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 2;
}

#sidebar {
	min-width: 10em;
	background: #eee;
	flex: 1 15%;
	max-height: 100%;
}
#sidebar {
	position: fixed;
	left: -20em;
	top: 0;
	height: 100vh;
	width: 20em;
	max-width: 100%;
	z-index: 8;
	box-shadow: rgba(0,0,0,0.5) 0 0 0.2em;
}
#sidebar.showing {
	left: 0;
	box-shadow: rgba(0,0,0,0) 0 0 0.2em;
	outline: rgba(0,0,0, 0.2) 2000px solid;
}
#sidebar.closed {
	box-shadow: rgba(0,0,0,0) 0 0 0.2em;
	min-width: initial;
}

#sidebar.showing:before {
	content: '';
	background: rgba(0,0,0,0.9);
	opacity: 0.5;
	position: absolute;
	left: 100%;
	top: 0;
	width: 100vw;
	height: 100%;
}
#sidebar:after {
	content: '';
	width: 1em;
	max-width: 3em;
	width: 5vw;
	background: rgba(255,255,255, 0);
	position: absolute;
	top: 4em;
	bottom: 0;
	left: 100%;
}
#sidebar.showing:after {
	content: '\2329';
	position: absolute;
	background: transparent;
	left: 100%;
	top: 50%;
	color: #fff;
	font-size: 3em;
	width: 1em;
	height: 1em;
	line-height: 0em;
	text-align: center;
}

#sidebar header {
	color: #fff;
	background: url('background.jpg') center center no-repeat;
	background-size: cover;
	padding: 1em;
}
#sidebar header > .toolbar {
	margin: -1em -1em 0;
}
#sidebar header > .toolbar > * {
	color: #fff;
	background: transparent;
}
#sidebar header > .toolbar > *:focus {
	outline: none;
	background: rgba(255, 255, 255, 0.15);
}
#sidebar menu {
	margin: 0;
	padding: 0;
}
#sidebar menu > * {
	display: flex;
	line-height: 3em;
}
#sidebar menu > * > * {
	padding: 0 1em;
	margin: 0;
	font-size: inherit;
	vertical-align: baseline;
	line-height: inherit;
	border: none;
	flex: 0 0 auto;
}
#sidebar menu > * > :first-child {
/* 	flex: 1 0 auto; */
}

big,
.big {
	font-size: 120%;
}
small,
.small {
	font-size: 90%;
}

[data-authorized="0"] [role="signOut"],
[data-authorized="1"] [role="signUp"],
[data-authorized="1"] [role="signIn"] {
	display: none;
}

.scrollview {
	max-width: 100%;
	max-height: 100%;
	box-sizing: border-box;
	overflow: auto;
}

.hide {
	display: none;
}
