html {
	height: 100%;
}
body {
	margin: 0px;
	padding: 0px;
/*	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;*/
	font-family: "Open Sans",sans-serif;
	font-size: 14px;
	line-height: 1.42857143;
	background-color: #FAFAFA !important;
	overflow-x: none;
	height: 100%;
}

a {
	color: #337ab7;
	text-decoration: none;
}
a:focus, a:hover {
	color: #23527c;
	text-decoration: underline;
}
a.nodeco {
	color: white;
	text-decoration: none;
}
a.nodeco:hover {
	color: #e7e7e7;
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0px;
	padding: 0px;
	margin-top: 20px;
	margin-bottom: 10px;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.1;
	color: inherit;
}
h3 {
	font-size: 24px;
}

body > header {
	margin-bottom: 24px;
	box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16);
}
/* header of entire site */
body > header .header-content {
	background-color: #2196F3;
	color: #FFFFFF;
	padding-left: 32px;
	line-height: 64px;
	font-size: 24px;
	letter-spacing: 1.5px;
}
body > header .header-content img {
	vertical-align: middle;
}
body > header > nav .navcontent {
	padding-left: 32px;
	line-height: 32px;
	font-size: 14px;
	letter-spacing: 1.2px;
}
body > header > nav .navcontent a {
	color: #777;
	margin: 0px 4px;
}
body > header .header-content .title, body > header > nav .navcontent {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
body > header > .header-content a {
	color: white;
	text-decoration: none;
}
body > header > nav {
	background-color: #f8f8f8;
	border-bottom: 1px solid #e7e7e7;
}
@media (max-width: 767px) {
	body > header .header-content .title, body > header > nav .navcontent {
		margin-left: -8px;
	}
}
@media (min-width: 768px) {
	body > header .header-content .title, body > header > nav .navcontent {
		width: calc(750px - 15px);
	}
}
@media (min-width: 992px) {
	body > header .header-content .title, body > header > nav .navcontent {
		width: calc(970px - 15px);
	}
}
@media (min-width: 1200px) {
	body > header .header-content .title, body > header > nav .navcontent {
		width: calc(1170px - 17px);
	}
}

/* main container of page */
main {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	/* total - header - header-nav - footer - 1px space to hide scrollbar */
	min-height: calc(100% - 64px - 33px - 38px * 2 - 1px);
	margin-bottom: 15px;
}
@media (min-width: 768px) {
	main {
		width: 750px;
	}
}
@media (min-width: 992px) {
	main {
		width: 970px;
	}
}
@media (min-width: 1200px) {
	main {
		width: 1170px;
	}
}

/* content section */
main div.section {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}
main div.section div.item {
	align-items: center;
	flex-basis: 100%;
	box-sizing: border-box;
}
/* calc needed to remove margin of boxes */
main div.section div.item-grow1 {
	flex-basis: calc(25% - 20px);
}
main div.section div.item-grow33 {
	flex-basis: calc(33.33% - 20px);
}
main div.section div.item-grow2 {
	flex-basis: calc(50% - 20px);
}
main div.section div.item-grow3 {
	flex-basis: calc(75% - 20px);
}
main div.section div.item-grow1-5 {
	flex-basis: calc(20% - 20px);
}
main div.section div.item-grow4-5 {
	flex-basis: calc(80% - 20px);
}
main div.section div.item-grow-spis {
	flex-basis: calc(18.5% - 20px);
}
main div.section div.item-grow-spil {
	flex-basis: calc(81.5% - 20px);
}

main div.section div.item.cardcenter, main div.section div.item .cardcenter {
	text-align: center;
}

/* single card */
main div.section div.card {
	border-radius: 2px;
	background-color: #FFFFFF;
	overflow: hidden;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
	color: rgba(0, 0, 0, 0.87);
	height: 100%;
	margin: 10px;
}
div.card-same-height div.item {
	height: auto !important;
}

/* header of card for title */
main div.section div.card > header {
	background-color: #2196F3;
	color: white;
	font-size: 24px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.16);
	box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16);
	padding: 10px 14px;
}
main div.section div.card > header h1 {
	margin: 0px;
	padding: 0px;
	display:inline;
	font-size: inherit;
	line-height: inherit;
}
main div.section div.card > header.alert {
	background-color: #E64A19;
}
main div.section div.card > header.warning {
	background-color: #ff8f00;
}
main div.section div.card > header.success {
	background-color: #689F38;
}
main div.section div.card > header.neutral {
	background-color: #757575;
}
main div.section div.card > div.cardcontent {
	flex: 1;
	padding: 20px;
	height: 100%;
}
main div.section div.card > div.cardcontent.nopadding {
	padding: 0px;
}
main div.section div.card hr {
	margin-top: 20px;
	margin-bottom: 20px;
	border: 0;
	border-top: 1px solid #eee;
}
main div.section div.card a.nodeco {
	text-decoration: none;
	color: rgba(0, 0, 0, 0.87);
}
main div.section div.card .carddesctext img {
	max-width: 100%;
}

/* mobile view */
@media (max-width: 767px) {
	main div.section {
		flex-direction: column;
	}
	main div.section.solarcontrols .cardcontent div.section {
		flex-direction: row;
	}
	/* hide round borders if using maxsize to fit site completely onto screen */
	main div.section.maxsize div.item-grow1, main div.section.maxsize div.item-grow2, main div.section.maxsize div.item-grow3 {
		flex-basis: 100%;
	}
	main div.section.maxsize div.card {
		border-radius: 0px;
		margin: 0px 0px 15px;
	}
	main div.section.maxsize div.card > div.cardcontent {
		padding: 20px 10px;
	}
}


/* itemlist */
ul.itemlist {
	list-style: none;
	margin: 0px;
	padding: 0px;
}
ul.itemlist li {
	display: list-item;
	text-align: match-parent;
}
ul.itemlist li:not(:first-child) {
	border-top: 1px solid rgba(0, 0, 0, 0.12);
	padding-top: 12px;
	margin-top: 12px;
}
ul.itemlist.sitemap li {
	padding-left: 0px;
}
ul.itemlist.halfheight li:not(:first-child) {
	padding-top: 6px;
	margin-top: 6px;
}

/* other devices */
table.table-styled {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.42857143;
}
table.table-styled thead {
	display: table-header-group;
	vertical-align: middle;
	border-color: inherit;
}
table.table-styled > thead:first-child > tr:first-child > th {
	border-top: 0;
	vertical-align: bottom;
	border-bottom: 2px solid #ddd;
	text-align: left;
	padding: 8px;
}
table.table-styled td {
	border-top: 1px solid #ddd;
	padding: 8px;
}
table.table-styled td.min {
	width: 1%;
	white-space: nowrap;
}
table.table-styled > tbody > tr:nth-of-type(odd) {
	background-color: #f9f9f9;
}
table.table-styled td {
	vertical-align: top;
}
table.table-styled .releasedate {
	font-size: 90%;
	white-space: nowrap;
}
table.table-styled .description {
	white-space: pre-line;
}
.cardcontent h2 {
	margin-top: 0px;
}
footer {
	height: 38px;
	background-color: #FFFFFF;
	overflow: hidden;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
	color: rgba(0, 0, 0, 0.87);
}
footer .footer-content {
	padding: 10px;
	text-align: center;
}
/* default gray version */
footer .footer-content .love {
	color: #aaa;
}
footer .footer-content .lovesep {
	color: black;
}
/* pride version */
footer .footer-content .love.pride {
	background-image: -webkit-gradient( linear, left top, right bottom, color-stop(0, #f22), color-stop(0.15, #f2f), color-stop(0.3, #22f), color-stop(0.45, #2ff), color-stop(0.6, #2f2),color-stop(0.75, #2f2), color-stop(0.9, #ff2), color-stop(1, #f22) );
	background-image: gradient( linear, left top, right bottom, color-stop(0, #f22), color-stop(0.15, #f2f), color-stop(0.3, #22f), color-stop(0.45, #2ff), color-stop(0.6, #2f2),color-stop(0.75, #2f2), color-stop(0.9, #ff2), color-stop(1, #f22) );
	color:transparent;
	border: 2px dotted white;
	-webkit-background-clip: text;
	background-clip: text;
}
footer .footer-content .love.pride svg {
	color: red;
}
/* Hide made with love on mobile because of limited space :-( */
@media (max-width: 390px) {
	footer .footer-content .love {
		display: none;
	}
}

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