/* Global styles: */


body
{
	margin: 0;
/*	background-color: #f8f8f8;  */
	background-color: var(--color-background);
	color: var(--color-text);
	line-height: 1.4;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 19px;
	width: 100%;
	min-width: 0;
	margin-bottom: 15px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.clearer
{
	clear: both;
	width: 100%;
	height: 1px;
}


/* Page division IDs: */

.contents-background
{
	background-color: var(--color-surface);
}

.contents
{
	background-color: var(--color-surface);
	clear: both;
	box-sizing: border-box;
	width: calc(100% - 32px);
	max-width: 1300px;
	padding-top: 20px;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 10px;
	margin-top: 0px;
	margin-bottom: 15px;
	text-align: left;
}

#footer
{
	clear: both;
	box-sizing: border-box;
	width: calc(100% - 32px);
	max-width: 1300px;
	margin-top: 10px;
}

#footer form
{
	margin-top: 20px;
	margin-bottom: 10px;
}

#footer form input
{
	vertical-align: bottom;
}


/* Contents can contain main-left + sidebar-right, or sidebar-left + main-right, or neither: */

.full-width
{
	width: 100%;
}

.main-left, .main-left-wide
{
	float: left;
	text-align: left;
	padding-bottom:20px;
}

.main-left
{
	width: calc(100% - 270px);
}

.sidebar-right, .sidebar-right-narrow
{
	float: right;
	position: relative;
	text-align: left;
	padding: 0px;
	margin-left: 0px;
	background: var(--color-surface);
}

.sidebar-right
{
	width: 250px;
}

.main-right
{
	width: calc(100% - 270px);
	float: right;
	text-align: left;
	padding-bottom: 20px;
}

.sidebar-left
{
	width: 250px;
	float: left;
	position: relative;
	text-align: left;
	padding: 0px;
	margin-right: 20px;
}

.main-left-wide
{
	width: calc(100% - 145px);
}

.sidebar-right-narrow
{
	width: 125px;
}

.sidebar-middle
{
	width: 250px;
	float: left;
	position: relative;
	text-align: left;
	margin-left: 35px;
	margin-right: 35px;
}

.half-left
{
	width: calc(50% - 10px);
	float: left;
	text-align: left;
	margin-right: 10px;
	margin-bottom: 10px;
}

.half-left img
{
	padding-top: 15px;
}

.half-right
{
	width: calc(50% - 10px);
	float: right;
	position: relative;
	text-align: left;
	margin-left: 10px;
	margin-bottom: 20px;
}


/* Others: */

.mac-only
{
}

.iphone-only
{
	display: none;
}

.comment
{
	color: var(--color-text-secondary);
	font-style: italic;
	font-size: 14px;
}

.border-box
{
	background-color: var(--color-background);
	margin-bottom: 20px;
	padding: 10px;
	border: 1px solid var(--color-border);
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

img, video, iframe, object, embed
{
	max-width: 100%;
}

img, video
{
	height: auto;
}

.auto-play-movie
{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

input, select, textarea
{
	box-sizing: border-box;
	max-width: 100%;
}

@media (max-width: 900px)
{
	.main-left, .main-left-wide, .main-right,
	.sidebar-left, .sidebar-middle, .sidebar-right, .sidebar-right-narrow,
	.half-left, .half-right
	{
		box-sizing: border-box;
		float: none;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.pic-left, .pic-right, .pic-spaced-right
	{
		max-width: 50%;
	}
}

@media (max-width: 480px)
{
	.contents
	{
		width: calc(100% - 20px);
		padding: 14px 12px 8px;
	}

	.pic-left, .pic-right, .pic-spaced-right
	{
		box-sizing: border-box;
		float: none;
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
		text-align: center;
	}

	table
	{
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}
}
