table.datatable
{
	border-collapse: collapse;
	/*
	box-shadow: 4px 4px 4px black;
	 */
	
	& tr
	{
		& > th,
		& > td
		{
			.interpolate(hsvvalue(@color-fg), hsvvalue(@color-bg), 0.5);
			border: 1px solid hsv(hsvhue(@color-fg), hsvsaturation(@color-fg), @result_interpolate);
			/*
			border: 1px solid @color-bg;
			 */
			font-size: 0.8em;
			padding: 4px;
		}
		
		& > th
		{
			text-align: left;
			/*
			color: @color-x1;
			 */
			background-color: hsv(hsvhue(@color-bg), hsvsaturation(@color-bg), (0.8 * hsvvalue(@color-bg)) + (0.2 * hsvvalue(@color-fg)))
		}
		
		& > td
		{
			background-color: hsv(hsvhue(@color-bg), hsvsaturation(@color-bg), (0.9 * hsvvalue(@color-bg)) + (0.1 * hsvvalue(@color-fg)))
		}
	}	
}

a
{
	text-decoration: none;
	font-weight: bold;
	/*
	font-family: monospace;
	 */
	
	&:not(.jumplabel)
	{
		color: @color-x1;
	}
	
	&.jumplabel
	{
		color: inherit;
		
		&:hover
		{
			color: @color-x1;
		}
	}
}

.note
{
	padding: 16px;
	margin: 16px;
	border-radius: 4px;
	box-shadow: 4px 4px 4px black;
	color: @color-fg;
	background-color: hsv(240, 00%, (0.8 * hsvvalue(@color-bg)) + (0.2 * 50%));
	
	& > .note_hide
	{
		display: none;
		& ~ .note_label
		{
			cursor: pointer;
			font-style: italic;
			&:hover
			{
				text-decoration: underline;
			}
		}
		&:not(:checked)
		{
			& ~ .note_content {display: none;}
			& ~ .note_label_hide {display: none;}
		}
		&:checked	
		{
			& ~ .note_label_show {display: none;}
		}
	}
}

.note_information
{
	/*
	&:extend(.note);
	 */
	&:before {font-weight: bold; content: "[Information] ";}
	background-color: hsv(240, 40%, (0.8 * hsvvalue(@color-bg)) + (0.2 * 50%));
}

.note_warning
{
	/*
	&:extend(.note);
	 */
	&:before {font-weight: bold; content: "[Beware] ";}
	background-color: hsv( 60, 40%, (0.8 * hsvvalue(@color-bg)) + (0.2 * 50%));
}

.note_error
{
	/*
	&:extend(.note);
	 */
	&:before {font-weight: bold; content: "[Attention] ";}
	background-color: hsv(  0, 40%, (0.8 * hsvvalue(@color-bg)) + (0.2 * 50%));
}

.note_reasoning
{
	/*
	&:extend(.note);
	 */
	&:before {font-weight: bold; content: "[Developer Note] ";}
	background-color: hsv( 120, 40%, (0.8 * hsvvalue(@color-bg)) + (0.2 * 50%));
}

.ipa
{
	&:before
	{
		content: "/";
	}

	&:after
	{
		content: "/";
	}
}

.buzzword
{
	font-style: italic;
}

.slogan
{
	font-style: italic;
}

.grammarterm
{
	/*
	text-decoration: underline;
	 */
	font-style: italic;
}

.runic
{
	font-weight: bold;
}

.letter
{
	&.lang_fs
	{
		font-weight: bold;
		/*
		font-style: italic;
		font-size: 1.2em;
		font-family: runic;
		 */
	}
	
	&.lang_pg,
	&.lang_de,
	&.lang_en,
	&.lang_is,
	&.lang_nb
	{
		font-style: italic;
	}
}

.word
{
	&.lang_fs
	{
		font-weight: bold;
		/*
		font-style: italic;
		font-size: 1.2em;
		font-family: runic;
		 */
	}
	
	&.lang_pg,
	&.lang_de,
	&.lang_en,
	&.lang_is,
	&.lang_nb
	{
		font-style: italic;
	}
}

.sentence
{
	&.lang_fs
	{
		font-weight: bold;
		/*
		font-style: italic;
		font-size: 1.2em;
		font-family: runic;
		 */
		&:before {content: "\"";}
		&:after {content: "\"";}
	}
	
	&.lang_pg,
	&.lang_de,
	&.lang_en,
	&.lang_is,
	&.lang_nb
	{
		font-style: italic;
		&:before {content: "\"";}
		&:after {content: "\"";}
	}
}

.text
{
	&.lang_fs
	{
		font-style: italic;
		/*
		font-weight: bold;
		font-size: 1.2em;
		font-family: runic;
		 */
		&:before {content: "„";}
		&:after {content: "“";}
	}
	
	&.lang_pg,
	&.lang_de,
	&.lang_en,
	&.lang_is,
	&.lang_nb
	{
		font-style: italic;
		&:before {content: "„";}
		&:after {content: "“";}
	}
}

.todo
{
	&:before
	{
		content: "[ToDo] ";
	}
	
	margin: 4px;
	padding: 4px;
	background-color: hsv(  0,100%, 50%);
	color: white;
	font-weight: bold;
}

.code
{
	font-family: monospace;
}

.clause
{
	padding: 4px;
	margin: 2px;
	
	&.meta
	{
		&:before
		{
			content: "[";
		}
		
		&:after
		{
			content: "]";
		}
	}
	
	&.optional
	{
	}
	
	&.mandatory
	{
		text-decoration: underline;
	}
	
	&.predicate
	{
		.interpolate(hsvvalue(@color-fg), hsvvalue(@color-bg), 0.8);
		background-color: hsv(  0, 40%, @result_interpolate);
	}
	
	&.subject
	{
		.interpolate(hsvvalue(@color-fg), hsvvalue(@color-bg), 0.8);
		background-color: hsv( 90, 40%, @result_interpolate);
	}
	
	&.object
	{
		.interpolate(hsvvalue(@color-fg), hsvvalue(@color-bg), 0.8);
		background-color: hsv(180, 40%, @result_interpolate);
	}
	
	&.other
	{
		.interpolate(hsvvalue(@color-fg), hsvvalue(@color-bg), 0.8);
		background-color: hsv(270, 40%, @result_interpolate);
	}
}

section
{
	&.chapter
	{
		border-top: 1px solid gray;
		padding-top: 40px;
		
		margin-bottom: 160px;
		
		& > header
		{
			font-size: 1.6em;
			margin-bottom: 6px;
		}
		
		& > *:not(:first-child)
		{
			margin-left: 12px;
		}
	}
	
	&.section
	{
		margin-bottom: 140px;
		
		& > header
		{
			font-size: 1.4em;
			margin-bottom: 4px;
		}
		
		& > *:not(:first-child)
		{
			margin-left: 12px;
		}
	}
	
	
	&.subsection
	{
		margin-bottom: 120px;
		
		& > header
		{
			font-size: 1.2em;
			margin-bottom: 2px;
		}
		
		& > *:not(:first-child)
		{
			margin-left: 12px;
		}
	}
	
	&.pseudo
	{
		& > header
		{
			font-style: italic;
		}
	}
	
	&.hidden
	{
		& > header
		{
			display: none;
		}
	}
}