body,
html {
	height:100%;
}
body {
	overflow-x:hidden;
	background:#fff;
}
	body.table {
		padding-top: 60px;
		padding-bottom: 50px;
	}

a,
a:active,
a:focus {
	outline:none !important;
}

.vertical {
	display: inline-block;
	transform:rotate(270deg);
}
.color-rss {
	color:#f90;
}
.rotate-225 {
	transform:rotate(225deg);
}

.overlay {
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.6);
	animation:fade .4s;
}
	@keyframes fade {
		from { opacity:0; }
		to { opacity:1; }
	}

#debug {
	overflow:auto;
	position:fixed;
	z-index:3000;
	bottom:0;
	left:0;
	padding:20px;
	width:100%;
	max-height:400px;
	font-family:"Courier New", monospace;
	background:#ffe;
	box-shadow:0 0 10px #000;
}
	#debug hr {
		border-top:1px solid #660;
	}

.form-control {
	border-radius:0;
	border:none;
}
ul {
	padding-left:2em;
}
.pointer {
	cursor:pointer;
}
.text-strong {
	font-weight:bold;
}
.text-italic {
	font-style:italic;
}
.text-smaller {
	font-size:.86em;
}
.text-bigger {
	font-size:1.2em;
}
.text-huge {
	font-size:2.4em;
}
.text-monospace {
	font-family:"Courier New", monospace;
}
.text-muted a {
	color:#777;
	text-decoration:underline;
}
	.text-muted a:hover {
		color:#05e;
	}
img.full {
	max-width:100%;
	margin-bottom:12px;
}

.content-area {
	font-family: Changa, sans-serif;
}



/* Landscape warning -------------- */

.sam-landscape-warning {
	display: none;
	flex: 0 0 content;
	padding: .25em 1em;
	color: white;
	vertical-align: middle;
	font-size: .85em;
	fill: white;
	background-color: #0058ff;
}
@media (orientation: portrait) and (max-width: 1024px) {
	.sam-landscape-warning {
		display: flex;
		gap: 10px;
		justify-content: center;
		align-items: center;
	}
}

/* Wrapper --------------------------- */

.wrapper {
	position: relative;
	height: 100vh;
	height: calc(100vh - 115px);
	overflow-y: auto;

	display: flex;
	flex-direction: column;
}

.admin-bar .wrapper {
	height: calc(100vh - 115px - 32px);
}

@media (max-width: 1024px) {
	.wrapper {
		position: relative;
		height: 100vh;
		height: calc(100vh - 49px);
	}

	.admin-bar .wrapper {
		height: calc(100vh - 49px - 32px);
	}
}

/* App container ---------------------- */

.sam-app {
	flex: 1;
	display: flex;
	flex-direction: row;
}
	.sam-app > .sidebar {
		width:240px;
	}
	.sam-app > .content {
		flex: 1;
		position: relative;
	}

/* Extra blocks ------------------------- */

.sam-block {
	flex: 0 0 content;
}

.sam-sticky-top,
.sam-sticky-bottom {
	position: fixed;
	left: 0;
	width: 100%;
	background: white;
	z-index: 20;
}
.sam-sticky-top {
	top: 115px;
}
.sam-sticky-bottom {
	bottom: 0px;
}
.sam-article {
	padding: 1rem;
	margin: 0 auto;
	max-width: 960px;
}


/* Google form ------------ */ 

.feedback-form {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 2000;
	display: flex;
	flex-direction: column;
	background: white;
}
	.feedback-form__header {
		flex: 0 0 content;
		padding: 15px 30px;
		text-align: right;
	}
	.feedback-form__header a {
		color: red;
		font-size: 1.15em;
	}
	.feedback-form__content {
		flex: 2;
		display: flex;
		justify-content: center;
		align-items: center;
	}