.clearfix {
	zoom:1
}
.clearfix:before, .clearfix:after {
	content:"";
	display:table
}
.clearfix:after {
	clear:both
}
html[xmlns] .clearfix {
	display:block
}
* html .clearfix {
	height:1%
}

a{
	color: #555555;
}
.nodisplay{
	display: none;
}
.hidden{
	visibility:hidden;
}

html{
	font-family: 'Oxygen', Tahoma, Helvetica, Arial, sans-serif;
	color: #333333;
	font-size: 18px;
    font-weight: 300;
}

body{
	background-color: #ffffff;
	margin:0;
	padding:0;
}

#maincontainer{
	text-align: center;
	margin-top: 90px;
}

#logo{
	position: absolute;
	top: 20px;
	left: 20px;
	text-align:center;
	font-size:18px;
}
#logo img{
	width: 200px;
}
#training-chooser{
	position:absolute;
	top:30px;
	right:100px;
}

#trainingplan-select{
	display:block;
	font-size:18px;
}

#training-chooser a{
	display:block;
	margin-top:10px;
	font-weight: bold;
	font-size:15px;
}

.tminus{
	font-family: 'Courgette', Tahoma, Helvetica, Arial, sans-serif;
	font-size: 28px;
	display:block;
}

h1{
	font-family: 'Bowlby One SC', Impact, Helvetica, Arial, sans-serif;	
	font-size: 45px;
	letter-spacing: 1px;
	margin-top: 5px;
	color: #283583;
}


h2{
	font-size: 25px;
	margin: 0 0 20px 0;
	text-transform: uppercase;
	font-weight: 600;
}

.amp{
	font-size: 40px;
	display: inline-block;
	color: #aaaaaa;
	vertical-align: middle;
}

#training-container{
	position:relative;
}

.paging{
	display:inline-block;
	font-size:30px;
	cursor: pointer;
	position:absolute;
	top:240px;
	-webkit-user-select: none;  /* Chrome all / Safari all */
	-moz-user-select: none;     /* Firefox all */
	-ms-user-select: none;      /* IE 10+ */
	user-select: none;          /* Likely future */
}

.paging-back{
	margin-left:-30px;
}

.paging-next{
	margin-right:-30px;
}

#training-viewport{
	width:850px;
	overflow: hidden;
	margin: 40px auto 10px auto;
	display:inline-block;
}
#training-wrapper{
	-webkit-transition: all 300ms;
	transition:         all 300ms;
}

.training{
	width: 800px;
	padding:0 20px;
	float: left;
}

.training-inner{
	border: 1px solid #888;
	padding: 30px 30px 10px 30px;

}

#schedule{
	width: 100%;
	/*display: flex;*/
	/*flex-wrap:wrap;*/
}

#schedule h2{
	width:100%;
}


#training-wrapper .trainingday{
	margin: 0px auto;
	width: 500px;
	text-align: left;
	padding:10px 0;
	border-top: 1px solid #cccccc;
	display: grid;
	grid-template-columns: 80px auto;
	column-gap: 20px;
}

#training-wrapper .trainingday .dayname{
	display: block;
    width: 60px;
    text-align: right;
    padding-left: 20px;
	padding-right: 10px;
	text-transform: uppercase;
	color: #aaa;
}

#training-wrapper .trainingday .activity{
    display: block;
	cursor: help;
    padding-right: 20px;
}

#training-wrapper .trainingday .activity ul{
	margin:0;
	padding-left:0;
}
#training-wrapper .trainingday .activity ul li{
	list-style: none;
}

#training-wrapper .trainingday.race{
    color: #6666ff;
    font-weight: bold;
}

#training-wrapper .trainingday .activity:hover, #training-wrapper .trainingday .activity.active{
	color: #22aaff;
}

#training-wrapper .trainingday.today{
    border-left: 10px solid #22aaff;
    border-right: 10px solid #22aaff;
}

.training .total{
	border-top: 1px solid #cccccc;
	padding-top:20px;
	margin-top:0;
	text-align: center;
	display: block ! important;
}

#infotexts_viewport{
	width:100%;
	height:290px;
	overflow-y:auto;
	margin-top:10px;
}

#infotexts{
	text-align: justify;
	font-size: 14px;
	line-height: 25px;
	margin-top:20px;
	background-color:#eeeeee;
	padding:10px 20px;
}

#infotexts .info{
	width: 100%;
}

#infotexts p{
	width:100%;
	margin-top: 0;
}

.credits{
	margin-top: 20px;
	text-align: center;
	letter-spacing: 1px;
	font-size: 11px;
}

.footer{
	padding-top: 20px;
	font-size: 11px;
	color: #999999;
}

/* CALENDAR */
body.calendar #maincontainer{
	margin-top:20px;
	margin-bottom:20px;
}

body.calendar #logo{
	position:static;
	text-align:left;
	padding-left:20px;
}

body.calendar #logo img{
	width: 100px;
}


#calendar-container{
	width:99%;
	margin: auto;
}

#calendar-container table{
	width:100%;
	border: 1px solid #dddddd;
	border-collapse: collapse;
}

#calendar-container table th,
#calendar-container table td{
	border:1px solid #dddddd;
	padding:0.04vw 0.5vw;
	font-size:1.2vw;
}

#calendar-container table th{
	text-transform: uppercase;
}

#calendar-container table .td-week{
	width:3%;
	text-align:center;
}

#calendar-container table td.td-week{
	font-size:0.8vw;
	font-weight:bold;
}

#calendar-container table .td-dates{
	width:4%;
	text-align:center;
}

#calendar-container table td.td-dates{
	font-size:1vw;
	line-height: 1vw;
}

#calendar-container table .td-trainingday{
	width:12.5%;
	text-align:left;
}

#calendar-container table .td-restday{
	width:7%;
	text-align:center ! important;
}

#calendar-container table td.today{
	background-color: #ddddff;
}


#calendar-container table .td-total{
	width:4%;
	text-align:center;
}

#calendar-container table td.td-total{
	font-size:1.5vw;
}

#calendar-container table td ul{
	margin:0;
	padding:0;
}
#calendar-container table td ul li{
	list-style: none;
}

#calendar-container table#training-calendar-runyourbq-16 td.td-dates{
	font-size:0.8vw;
}
#calendar-container table#training-calendar-runyourbq-16 td.trainingday{
	font-size:1vw;
}

