/* id a contained somewhere in id b
#b #a */
/* id a straight after id b 
#b + #a */
/* id a child of id b 
#b > #a 
!! not supported by ie? */
/*
attribute selectors: [href=www.w3c.org] 
supported by ie?
*/

/***********************
 * Structural elements *
 ***********************/

body {
	font-family: 'Montserrat', Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	color: black;
	background-color: #999;
}

div.container {
	background-color: white;
	width: 1000px;
	color: black;
	margin: 0px auto 0px auto;
}

header, footer {
	padding: 0px;
	background-color: #b82b22;
	clear: left;
	text-align: center;
}

header {
	/*background-image: url(../images/header.jpg);*/
	/*background-position: top right;*/
	/*background-repeat: no-repeat;*/
	background-color: #b82b22;
	position: relative;
	height: 200px;
}

footer{
	padding-top: 10px;
	padding-bottom: 10px;
	border-top: 1px solid #999;
	font-size: 9px;
	color: #CCC;
}

.wrapper {
	position: relative;
	height:auto;
	min-height: 700px;
}


/***********************
 *   carousel        *
 ***********************/
.carousel {
	height: 200px;
	overflow:hidden;
	width:100%;
}

.panes {
	list-style: none;
	position: relative;
	width:500%; /* Number of panes multiplied by 100% */
	overflow: hidden; /* This is used solely to clear floats, it does not add functionality. */

	-moz-animation:carousel 30s infinite;
	-webkit-animation:carousel 30s infinite;
	animation:carousel 30s infinite;
	padding: 0px;
	margin: 0px;
}

.panes > li{
	position:relative;
	float:left;
	width:20%; /* 100 divided by the number of panes */
}

.carousel img{
	display:block;
	width:100%;
	max-width:100%;
}
.carousel h2{
	font-size:1em;
	padding:0.5em;
	position:absolute;
	right:10px;
	bottom:10px;
	left:10px;
	text-align:right;
	color:#fff;
	background-color:rgba(0,0,0,0.75);
}

@keyframes carousel{
	0%    { left:0; }
	11%   { left:0; }
	12.5% { left:-100%; }
	23.5% { left:-100%; }
	25%   { left:-200%; }
	36%   { left:-200%; }
	37.5% { left:-300%; }
	48.5% { left:-300%; }
	50%   { left:-400%; }
	61%   { left:-400%; }
	62.5% { left:-300%; }
	73.5% { left:-300%; }
	75%   { left:-200%; }
	86%   { left:-200%; }
	87.5% { left:-100%; }
	98.5% { left:-100%; }
	100%  { left:0; }
}

/***********************
 *     HEADER          *
 ***********************/

#leftheadertext {
	font-size: 18px;
	font-weight: bold;
	color: #ffffff;
	margin: 0.7em 0 0 0;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 196px;
}

#rightheadertext {
	font-size: 17px;
	font-weight: bold;
	color: white;
	position: absolute;
	bottom: 0px;
	right: 10px;
	margin: 0 0.5em 0.7em 0;
	text-align: right;
	text-shadow: 3px 3px 2px #222222;
}


/***********************
 *     MENU BAR        *
 ***********************/

nav {
	left: 0px;
	position:absolute;
	height:100%;
	/*float: left;*/
	width: 150px;
	margin: 0px;
	padding: 0px;
	padding-right: 30px;
	padding-left: 20px;
	background-color: #b82b22;
	background-image: url('nav-bar.png');
	background-repeat: no-repeat;
	background-position: right top;
	height: 100%;
}

nav ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

nav ul a {
	text-decoration: none;
}


li.menuhead {
	font-weight: bold;
	text-decoration: none;
	color: #fff;
	padding-bottom: 10px;
	text-align: right;
}

li.menuitem {
	font-weight: normal;
	color: #ccc !important;
	text-decoration: none;
	text-align: right;
}

li.menuitem::after {
	content: "\00bb";
}

ul.submenu {
	padding: 20px 8px 20px 0px;
	border-bottom: 1px solid #cccccc;
}

.submenu ul {
	padding: 20px 0px 0px 0px;
}

.selectedsubmenu {
	background-color: #000;
	/*background-color: #e30a01;*/
}

.menuitem a:link {
	color: #ccc;
	text-decoration: none;
}

.menuitem a:visited {
	color: #ccc;
	text-decoration: none;
}

.menuitem a:hover {
	color: #fff;
	text-decoration: none;
}

.menuitem a:active {
	color: #fff;
	text-decoration: none;
}

.menuitem a:focus {
	color: #fff;
	text-decoration: none;
}

/* menuheads as links */

.menuhead a:link {
	color: #fff;
	text-decoration: none;
}

.menuhead a:visited {
	color: #fff;
	text-decoration: none;
}

.menuhead a:hover {
	color: #fff;
	text-decoration: none;
}

.menuhead a:active {
	color: #fff;
	text-decoration: none;
}

.menuhead a:focus {
	color: #fff;
	text-decoration: none;
}


/***********************
 *      CONTENT        *
 ***********************/

div.content {
	margin-left: 200px;
	padding-left: 19px;
	padding-right: 19px;
	overflow: hidden;
}

div#pagetitle {
	font-size: 28px;
	font-weight: bolder;
	color: #b82b22;
	margin: 0.1em 0.4em 1em 0.4em;
	text-align: right;
}

/***********************
 * The dreaded menu... *
 ***********************/


/* settings per link in the menu
 ----------------------------- */

/* menuitem */


form, div.head, div.buttons, div.msg, div.err, div.sect, pre, dl { padding: 10px; }
form { text-align: left; }
form.event { margin: 0 auto; position: relative; }
div.head img { float: left; }
div.head div { padding-left: 150px; }
input.long { width: 99%; }
dt, dt.long { margin-left: 15px; }
dt { text-align: right; width: 0px; float: left; }
dt.long { text-align: left; width: auto; padding-left: 40px; float: none; }
dd dt { text-align: left; width: 95px; margin-left: 0px; float: left}
dd { margin-left: 100px; }
div.table { overflow: auto; }
div.table table { border-collapse: collapse; white-space: nowrap; }
div.table td { padding: 1px 5px; border-width: 1px; border-style: solid; }


/* Style for the course program */
table.sessiontable {
	width: 100%;
}
td.timecell {
	padding: 1em 0 0 0;
	width: 10em;
	vertical-align:top;
}
td.titlecell {
	padding: 1em 0 0 0;
	vertical-align: top;
}
div.entrytitle {
	font-style: italic;
	font-weight: bold;
	padding: 0 0 .5em 0;
}


.clear {
	clear: both;
	display: block;
	overflow: hidden;
	visibility: hidden;
	width: 0;
	height: 0;
}





div.program-table {
	width: 750px;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: auto;
	margin-right: auto;
	background: #F5F5F5;
	overflow: hidden;
	border-bottom: 1px solid #DDDDDD;
}

div.program-table div {
	float: left;
	box-sizing: border-box;
	padding-left: 1%;
	padding-right: 1%;
	padding-top: 2px;
	padding-bottom: 2px;
}

div.program-table div + div {
	border-top: 1px solid #DDDDDD;
}

div.program-table div.day {
	width: 750px;
	font-weight: bold;
	text-align: center;
	color: #B82B22;
	background: #FFFFFF;
	padding-top: 60px;
}

div.program-table div.time {
	clear: both;
	width: 16%;
}

div.program-table div.break{
	padding-top: 15px;
	background: #FAFAFA;
}
div.program-table div.break + div {
	padding-top: 15px;
	font-weight: bold;
	background: #FCFCFC;
}

/* default size. */
div.time + div {
	width: 84%;
}

div.program-table div.content-2 {
	width: 42%;
}
div.program-table div.content-3 {
	width: 28%;
}

/* use section if does not need time */
div.program-table div.section {
	padding-left: 17%;
	padding-top: 10px;
	font-weight: bold;
	width: 100%;
}

/* use section-1 if time needed */
div.program-table div.section-1 {
	padding-top: 10px;
	font-weight: bold;
	width: 84%;
}

/* section 2 does not need time !!! */
div.program-table div.section-2 {
	padding-left: 17%;
	padding-top: 10px;
	font-weight: bold;
	width: 58%;
}

/* section 3 does not need time !!! */
div.program-table div.section-3 {
	padding-left: 17%;
	padding-top: 10px;
	font-weight: bold;
	width: 40%;
}

/* if we have section-2 we can deduce the size of the following tile */
div.program-table div.section-2 + div {
	padding-top: 10px;
	font-weight: bold;
	width: 42%;
}
