h1 {
	color: #979596;
	border-bottom: 1px solid #be254c;
	font-size: 32px;
}
h2 {
	color: #979596;
	border-bottom: 1px solid #be254c;
	font-size: 26px;
}
h1:first-child {
	margin-top: 0;
}
body {
	font-size: 17px;
}

/* Banner */
#site-banner {
	border-bottom: 1px solid #be254c;
}
#site-banner .container {
	height: 130px;
	position: relative;
	line-height: 130px;
}
#site-banner-logo, #site-banner-logo-small {
	position: relative;
	z-index: 2;
	max-width: calc(100% - 120px);
}
#site-banner-title {
	font-weight: bold;
	font-size: 18px;
}
#site-banner-skyline, #site-banner-skyline-small, #site-banner-skyline-tiny {
	position: absolute;
	bottom:-2px;
	right: 0px;
	z-index: 1;
}
#site-banner-skyline-tiny {
	right: 15px;
}

/* Top navigation */
#site-navbar {
	border-width: 0 0 1px 0;
	border-color: #be254c;
}
#site-navbar a {
	padding-left: 8px;
	padding-right: 8px;
}
#site-navbar .active a {
	background-color:#be254c;
	color: white;
}
#site-navbar .dropdown-menu {
	border-color: #be254c;
}
#site-navbar .dropdown-menu li {
	padding-left: 0;
}
#site-navbar.affix {
	position: fixed;
	top: 0;
	width: 100%
}
#site-navbar-wrapper {
	height: 80px;
}
#site-navbar .navbar-toggle {
	border-color: #be254c;
}
.dropdown-menu li {
	padding-left: 12px;
}

/* Add navbar offset to anchors */
a.anchor {
	display: block;
	position: relative;
	top: -51px; /* same as navbar height */
	visibility: hidden;
}

/* Side Navigation */
#site-sidebar-container {
	padding-right: 0;
}
#site-sidebar {
	background: #F8F8F8;
	border: 1px solid #be254c;
	border-radius: 5px;
	padding: 5px 5px 10px 5px;
}
#site-sidebar.affix {
	top: 80px;
}
#site-sidenav li {
	line-height: 2em;
}
#site-sidebar-tweets, #site-sidebar-contacts, #site-sidebar-newest-tweet, #site-sidebar-part-of-fasstar, #site-sidebar-dates, #site-sidebar-sponsors {
	margin: 20px 5px 15px 5px;
}
#site-sidebar-newest-tweet {
	height: 200px;
}
/* Center sidebar images */
#site-sidebar-sponsors img {
	display: block;
	margin: 20px auto 0 auto;
}
#site-sidebar-sponsors h4 {
	margin-top: 20px;
}

/* Footer */
.footer {
	position: absolute;
	bottom: 0px;
	width: 100%;
	height: 30px;
}

body {
	margin-bottom: 30px; /* same as .footer height */
}

html {
	position: relative;
	min-height: 100%;
}

.footer p {
	text-align: center;
}

/* Committee Accordion */
.panel-collapse {
	margin: 10px;
}

/* Make Google Maps responsive */
iframe, object, embed {
	max-width: 80%;
}

/* Registration table */
.registration table {
	border-collapse: collapse;
}

.registration td.empty {
	border: none;
}

.registration td, .registration th {
	margin: 5px;
	padding: 5px;
	border: 1px solid black;
}

/* Timetable informatiCup */
.informaticup td, .informaticup th {
	margin: 5px;
	padding-left: 10px;
}

/* Important Dates table for Calls */
.dates-table td {
	padding: 5px 10px 5px 5px;
	font-style: oblique;
	font-size: 16px;
}

.dates-table td.date {
	font-weight: bold;
}

.dates-table em {
	font-weight: bold;
}

/* Important Dates table for sidebar */
#site-sidebar-dates table.sidebar-dates-table {
	border-collapse: collapse;
	width: 100%;
}

#site-sidebar-dates .sidebar-dates-table tr {
	border: solid;
	border-color: #909090;
	border-width: 1px 0;
}

#site-sidebar-dates .sidebar-dates-table tr:first-child {
	border-top: none;
}

#site-sidebar-dates .sidebar-dates-table tr:last-child {
	border-bottom: none;
}

#site-sidebar-dates .sidebar-dates-table td {
	padding: 2px 2px 2px 2px;
	font-style: oblique;
	font-size: 14px;
	vertical-align: top;
}

#site-sidebar-dates .sidebar-dates-table td.date {
	font-weight: bold;
	text-align: right;
}

#site-sidebar-dates .sidebar-dates-table em {
	font-weight: bold;
}

#site-sidebar-dates i {
	padding: 10px 0px 5px 0px;
	display: inline-block;
	text-align: center;
	font-style: oblique;
	font-size: 12px;
}

div#site-program {
	overflow-x: auto;
}

#site-program table {
	border-collapse: collapse;
	font-size: 16px;
	width: 100%;
}

#site-program th {
	border: solid black 1px;
	background: #c1cfd7;
	width: 20%;
}

#site-program td {
	border: solid black 1px;
	padding: 10px;
	min-width: 150px;
}

#site-program ul {
	padding-left: 0px;
}

#site-program li {
	list-style-type: none;
}

#site-program li:not(:first-child) {
	padding-top: 1em;
}

#site-program .social {
	background: #c1cfd7;
}

#site-program .special {
	background: #e698a5;
}

#site-program .conference {
	background: #f0c1c9;
}

#site-program .break {
	background: #e9e7e2;
}

#site-program .empty {
	border: none;
	background: none;
}

#site-program .time {
	text-align: center;
	font-weight: bold;
	background: #e9e7e2;
	width: 80px;
	min-width: 80px;
}

#site-program h4 {
	font-weight: bold;
}

#site-program .abstract {
    background: #ffffff;
    padding: 10px;
}

#site-program summary {
    cursor: pointer;
}

.site-image {
	float: right;
	clear: both;
	padding: 10px;
	min-width: 160px;
	width: 50%;
	max-width: 300px;
}

.site-image img {
	min-width: 140px;
	width: 100%;
	max-width: 280px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.site-small-image {
	min-width: 120px;
	max-width: 220px;
}

.site-small-image img {
	min-width: 100px;
	width: 100%;
	max-width: 200px;
	padding-bottom: 5px;
}

h4 {
	line-height: 1.45;
}


.programm-grid-wrapper {
  overflow: auto;
}

.programm-grid {
  display: flex;
  font-size: 85%;
  word-wrap: nowrap;
}
.programm-grid hr {
  margin: 0;
}
.programm-grid .column {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  border-left: 1px solid #be254c;
}
.programm-grid .column:first-child {
  border-left: 0;
}
.programm-grid .title {
  text-align: center;
  border-bottom: 1px solid #be254c;
}
.programm-grid .entry {
  display: flex;
  border-bottom: 1px solid #b7b5b6;
}
.programm-grid .duration {
  display: flex;
  flex-direction: column;
  width: 43px;
  color: #979596;
  text-align: right;
  background: #f8f8f8;
}
.programm-grid .duration .from {
  padding: 1px 3px 0 3px;
}
.programm-grid .duration .span {
  flex-grow: 1;
  background: bottom right url(../resources/programm-uebersicht-span.png) no-repeat;
}
.programm-grid .duration .to {
  padding: 0 3px 1px 3px;
}
.programm-grid .name {
  flex-grow: 1;
  align-self: center;
  padding: 1px 5px;
}
.programm-grid .break {
  background: #f8f8f8;
}
.programm-grid .break {
  background: #f8f8f8;
}
