* {
  box-sizing: border-box;
}
html, body {
  margin: 0;
  height: 100%;
  background-color: #272727;
  color: #dddddd;
  font-family: Jura, Arial, Helvetica, sans-serif;
}
a {
	text-decoration: none;
}
a:link {
	color: #dddddd;
}
a:visited {
	color: #555555;
}
a:hover {
	color: #dddddd;
}
p {
	text-align: justify;
	text-align-last: left;
}
li {
	padding-bottom: 10px;
}
input, button {
  width: 100%;
  font-family: Jura, Arial, Helvetica, sans-serif;
  font-size: 1.50em;
  border: 1px solid #444444;
  border-radius: 4px;
  padding: 8px;
}
input[type=text], input[type=password] {
  margin-bottom: 20px;
}
input[type=submit], button {
  background-color: #222222;
  color: #dddddd;
  cursor: pointer;
}
input[type=submit]:hover, button:hover {
  background-color: #335599;
  border-color: #335599;
}
input[type=submit]:focus, button:focus {
  background-color: #335599;
  border-color: #335599;
}
#invalid_credentials {
	margin-bottom: 10px;
	color: #ffaa00;
}
#root_container {
  margin: auto;
  top: 0;
  bottom: 0;
  min-width: 360px;
  max-width: 960px;
  min-height: 100%;
  background-color: #222222;
  padding: 20px 20px 5px 20px;
}
#login_container {
  width: 100%;
  background-color: #222222;
  border: 1px solid #444444;
  border-radius: 5px;
  margin: 30% auto;
  padding: 20px;
  text-align: center;
}
#error_container {
  background-color: #222222;
  border: 1px solid #444444;
  border-radius: 5px;
  margin: 20% auto;
  padding: 20px;
  color: #444444;
  text-align: center;
}
.menu_container {
	width: 100%;
	margin-bottom: 20px;
	text-align: center;
}
.menu_item {
	display: inline-block;
	width: 200px;
	margin-right: 10px;
}
.source_label {
	text-align: center;
	font-size: 4.0em;
}
.source_link:visited {
	color: #dddddd;
}
.site_item, .news_list_item, .news_item {
  width: 100%;
  border: 1px solid #444444;
  border-radius: 5px;
  padding: 20px;
  margin-bottom: 20px;
}
.site_item, .news_list_item {
  cursor: pointer;
}
.site_item:hover, .news_list_item:hover {
  background-color: #335599;
  border-color: #335599;
}
.item_title {
	clear: both;
	margin-top: 40px;
	font-size: 2.0em;
	text-align: justify;
	text-align-last: left;
}
.item_subtitle {
	margin-top: 20px;
	font-size: 1.25em;
	text-align: justify;
	text-align-last: left;
}
.item_content {
	margin-top: 20px;
	font-size: 1.5em;
	text-align: justify;
	text-align-last: left;
}
.item_author {
	display: inline-flex;
	float: left;
}
.item_date {
	display: inline-flex;
	float: right;
}
.error_status {
	font-size: 15em;
}
.error_message {
	font-size: 3em;
}
