/*
 _           _     
| |         | |    
| |__  _ __ | |__  
| '_ \| '_ \| '_ \ 
| |_) | |_) | |_) |
|_.__/| .__/|_.__/ 
      | |          
      |_|          

Bundeszentrale für
politische Bildung

*/


/* General
========================================
*/

/* Reset */
*,
*:before,
*:after {
	padding: 0;
	margin: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* Selection */
::selection {
	background: #b5123e;
	color: #fff;
	text-shadow: none;
}
::-moz-selection {
	background: #b5123e;
	color: #fff;
	text-shadow: none;
}

/* Buttons */
button {
	background-image: none;
	background-color: transparent;
	border: none;
	border-radius: 0;
	cursor: pointer;
}


/* Fonts
========================================
*/

@font-face {
	font-family: 'SdJ-Iconfont';
	src: url('../font/SdJ-Iconfont.eot');
	src: url('../font/SdJ-Iconfont.eot#iefix') format('embedded-opentype'),
		 url('../font/SdJ-Iconfont.woff2') format('woff2'),
		 url('../font/SdJ-Iconfont.ttf') format('truetype'),
		 url('../font/SdJ-Iconfont.woff') format('woff'),
		 url('../font/SdJ-Iconfont.svg#SdJ-Iconfont') format('svg');
	font-weight: normal;
	font-style: normal;
}


/* Icons
========================================
*/

[class^='icon-'],
[class*=' icon-'],
.toggle:before {
	font-family: 'SdJ-Iconfont';
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	speak: none;
}
.icon-pause:before {
	content: "\e600";
}
#toggle:checked + .toggle:before,
.icon-up:before {
	content: "\e601";
}
.toggle:before,
.icon-down:before {
	content: "\e602";
}
.icon-left:before {
	content: "\e603";
}
.icon-right:before {
	content: "\e604";
}
.icon-play:before {
	content: "\e605";
	margin-left: .2rem;
}
.icon-download:before {
	content: "\e606";
}
.icon-mail:before {
	content: "\e607";
}
.icon-facebook:before {
	content: "\e608";
}
.icon-twitter:before {
	content: "\e609";
}


/* Typography
========================================
*/

/* Default colors & typeface */
body {
	background-color: #fff;
	color: #000;
	font: 14px/1.5 sans-serif;
}

/* Headings */
h1 {
	font-size: 1.5rem;
	line-height: 1.2;
	margin-bottom: .5rem;
}
h2 {
	font-size: .875rem;
}

/* Text elements */
p,
ul,
ol {
	margin-bottom: 1rem;
}

/* Lists */
ul,
ol {
	padding-left: 1rem;
}
ul {
	list-style-type: square;
}

/* Links */
a {
	background-color: transparent;
}
a:link,
a:visited {
	color: #1098f7; /* b5123e */
	text-decoration: none;
}
a:hover,
a:focus,
a:active {
	text-decoration: underline;
}
*:focus {
	outline: none;
}


/* Content
========================================
*/

/* Visually hidden */
.hidden {
	clip: rect(0 0 0 0);
	overflow: hidden;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	position: absolute;
	border: 0;
}

/* Body */
body {
	position: relative;
	margin: 0 auto;
	-webkit-animation: bugfix infinite 1s;
}
/* Bug fix for CSS-only toggle: */
/* http://stackoverflow.com/a/8320736/3227453 */
@-webkit-keyframes bugfix { 
	from { padding: 0; } 
	to { padding: 0; } 
}

/* Header */
header span {
	letter-spacing: .025rem;
}

/* Player */
.player-wrapper {
	background-color: #464646;
	background-position: center;
	background-repeat: no-repeat;
}
.player {
	color: #fff;
	width: 100%;
	height: 157px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.player:before {
	content: '';
	background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
	width: 100%;
	height: 150%;
	position: absolute;
	bottom: 0;
	left: 0;
}
.player > * {
	position: absolute;
}
.play-pause {
	background-color: #0677c7;
	color: #fff;
	font-size: 2rem;
	line-height: 0;
	width: 55px;
	height: 55px;
	position: absolute;
	bottom: 86px;
	left: 16px;
}
.play-pause:hover,
.play-pause:focus {
	background-color: #fff;
	color: #0677c7;
}
.play-pause.load {
	background-color: transparent !important;
	color: transparent !important;
	cursor: default;
}
.play-pause.load:before {
	content: '';
	background-color: #0677c7;
	display: block;
	width: 55px;
	height: 55px;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-animation: load 1.2s infinite ease-in-out;
	animation: load 1.2s infinite ease-in-out;
}
@-webkit-keyframes load {
	0% { -webkit-transform: perspective(120px) }
	50% { -webkit-transform: perspective(120px) rotateY(180deg) }
	100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}
@keyframes load {
	0% { 
		transform: perspective(120px) rotateX(0deg) rotateY(0deg);
		-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) 
	} 50% { 
		transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
		-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) 
	} 100% { 
		transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
		-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
	}
}
.time {
	background-color: #0677c7;
	color: #fff;
	text-align: center;
	line-height: 2.1;
	width: 55px;
	height: 30px;
	position: absolute;
}
.waveform {
	left: 87px;
}
.duration {
	font-weight: bold;
}

/* Description */
.description {
	position: relative;
}
.description > *:last-child,
.description .more > *:last-child {
	margin-bottom: 0;
}
.more {
	display: none;
}
#toggle:checked + .toggle + .more {
	display: block;
}

/* Overview */
iframe#overview {
	width: 100%;
	border: none;
}
.overview {
	font-size: 0;
}
.overview article {
	background-position: center;
	background-size: cover;
	font-size: 1rem;
	display: inline-block;
	vertical-align: top;
}
.overview article a {
	color: transparent;
	text-align: center;
	text-decoration: none;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	display: block;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.overview article a:hover,
.overview article a:focus {
	background-color: rgba(0, 0, 0, .7);
	color: #fff;
}
.overview article a:active {
	box-shadow: inset 0 0 2rem rgba(0, 0, 0, .9);
}
.overview article a div {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}
.mobile.overview article a div {
	position: absolute;
	padding-right: 1rem;
}
.overview article h2 {
	font-size: 1.25rem;
	margin-bottom: .5rem;
}

/* Slider */
.Wallop {
	position: relative;
}
.Wallop-list {
	position: relative;
	overflow: hidden;
}
.Wallop-item {
	background-color: #e3e3e3;
	width: 100%;
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
.Wallop-item--current {
	visibility: visible;
	position: relative;
}
.Wallop-button {
	position: absolute;
	z-index: 1;
}
.Wallop-button {
	background-color: #0677c7;
	color: #fff;
	font-size: 2rem;
	line-height: 0;
	width: 2.125rem;
	height: 3.125rem;
	border-radius: 0;
	border: 2px solid #fff;
}
.Wallop-button:hover,
.Wallop-button:focus {
	background-color: #045289;
}
.Wallop-button[disabled] {
	display: none;
}
.Wallop-buttonPrevious {
	left: 0;
	border-left: none;
}
.Wallop-buttonNext {
	right: 0;
	border-right: none;
}
.Wallop-pagination {
	text-align: center;
	right: 0;
	bottom: 0;
	left: 0;
}
.Wallop-dot {
	background-color: #fff;
	width: 1.25rem;
	height: 1.25rem;
	margin: .5rem;
	border: 2px solid #fff;
	border-radius: 50%;
	-webkit-appearance: none;
}
.Wallop-dot:hover,
.Wallop-dot:focus {
	background-color: #045289;
}
.Wallop-dot--current {
	background-color: #0677c7;
}

/* Share links */
.share a.button {
	background-color: #555;
	color: #fff;
	text-decoration: none;
	text-align: center;
	display: inline-block;
}
.share a.button:hover,
.share a.button:focus {
	background-color: #333;
}
.share i {
	vertical-align: middle;
}
.license {
	font-style: italic;
}
.license span {
	font-size: 12px;
}
.license img {
	margin-right: 15px;
}

/* Navigation arrow */
a.nav-button {
	background-color: #0677c7;
	color: #fff;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1;
	display: block;
	width: 10rem;
	padding: .75rem .5rem;
}
a.nav-button:hover,
a.nav-button:focus {
	background-color: #045289;
	text-decoration: none;
}
a.nav-button i {
	line-height: 0;
	vertical-align: middle;
}


/* Desktop version
========================================
*/

/* Body */
.desktop,
.desktop.overview .page {
	width: 900px;
	height: 900px;
}
.desktop > * {
	width: 900px;
}

/* Header */
.desktop header {
	height: 140px;
	padding: 1rem;
	border: 1px solid #ddd;
	border-bottom: none;
}
.desktop header h1 {
	margin: 0 10rem .5rem 0;
}

/* Description */
.desktop .description {
	background-color: rgba(0, 0, 0, .85);
	color: #fff;
	width: 700px;
	margin: -1rem auto 0;
	position: relative;
}
.desktop .toggle:before {
	background-color: rgba(0, 0, 0, .85);
	color: #fff;
	font-size: 1.25rem;
	text-align: center;
	line-height: 1.75;
	display: block;
	width: 2rem;
	height: 2rem;
	position: absolute;
	bottom: 0;
	right: -2.5rem;
	border: 0;
	cursor: pointer;
}
.desktop .toggle {
	font-weight: bold;
	display: block;
	padding: 1rem 2rem;
	cursor: pointer;
}
.desktop .more {
	padding: 0 2rem 1rem;
}

/* Player */
.desktop .player-wrapper {
	height: 760px;
	padding: 1rem;
}
.desktop .play-pause {
	bottom: 102px;
}
.desktop .time {
	bottom: 64px;
	left: 16px;
}
.desktop .waveform {
	width: 765px;
	height: 92px;
	bottom: 64px;
}

/* License */
.desktop .license {
	bottom: 16px;
	left: 16px;
}
.desktop .license a {
	color: #fff;
	text-decoration: underline;
}
.desktop .license a:hover,
.desktop .license a:focus {
	color: #bbb;
}
.desktop .license > a,
.desktop .license p {
	display: inline-block;
}
.desktop .license p {
	line-height: 1.2;
	margin-bottom: 0;
}

/* Overview */
.desktop.overview article,
.desktop.overview article a {
	width: 300px;
	height: 300px;
}
.desktop.overview article a {
	padding: 2rem;
}
.desktop.overview article h2 {
	font-size: 1.25rem;
}

/* Slider */
.desktop .Wallop-item {
	background-image: url('../../_image/_tiles.png');
	height: 900px;
}
.desktop .Wallop-button {
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.desktop .Wallop-pagination {
	position: absolute;
	z-index: 1;
}

/* Share links */
.desktop .share {
	position: absolute;
	right: 0;
	bottom: 0;
}
.desktop .share a {
	line-height: 2.25;
	display: block;
	width: 32px;
	height: 32px;
	margin-top: 5px;
}
.desktop .share i {
	font-size: 1.25rem;
}

/* Navigation arrow */
.desktop a.nav-button {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}


/* Mini desktop version
========================================
*/

/* Body */
.desktop.mini,
.desktop.mini > * {
	width: 620px;
}
.desktop.mini {
	height: auto;
}

/* Header */
.desktop.mini header {
	height: auto;
}
.desktop.mini header h1 {
	margin-right: 0;
}

/* Player */
.desktop.mini .player-wrapper {
	background-size: contain;
	height: 500px;
}
.desktop.mini .waveform {
	width: 517px;
}
.desktop.mini .play-pause,
.desktop.mini .time {
	left: 16px;
}
.desktop.mini .play-pause {
	bottom: 118px;
}
.desktop.mini .time,
.desktop.mini .waveform {
	bottom: 80px;
}

/* License */
.desktop.mini .license {
	left: 16px;
}
.desktop.mini .license a {
	vertical-align: top;
}
.desktop.mini .license p {
	width: 356px;
}
.desktop.mini .license span {
	line-height: 1.5;
}


/* Mobile version
========================================
*/

/* Body */
.mobile {
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

/* Header */
.mobile header {
	padding: 1rem 0
;}
.mobile header h1 {
	margin-bottom: 0;
}

/* Player */
.mobile .player-wrapper {
	background-size: auto 100%;
	min-height: 15rem;
	position: relative;
}
.mobile .play-pause {
	bottom: 1rem;
	left: 1rem;
}
.mobile .time {
	line-height: 2.75;
	width: 3.5rem;
	height: 2.5rem;
	bottom: -3.5rem;
	left: 0;
}
.mobile .waveform {
	width: -webkit-calc(100% - 87px);
	width: calc(100% - 87px);
	max-width: 100%;
	height: 55px;
	bottom: 1rem;
	overflow: hidden;
}

/* Description */
.mobile .description {
	clear: both;
	padding: 1rem 0;
	/*margin-bottom: 1rem;*/
	border-bottom: 2px solid #888;
}
.mobile .toggle {
	color: #555;
	display: inline-block;
}
.mobile .toggle span {
	font-style: italic;
}
.mobile #toggle + .toggle span:last-of-type,
.mobile #toggle:checked + .toggle span:first-of-type {
	display: none;
}
.mobile #toggle + .toggle span:first-of-type,
.mobile #toggle:checked + .toggle span:last-of-type {
	display: inline;
}
.mobile .more {
	margin-top: 1rem;
}
.mobile #overview {
	display: none;
}

/* Overview */
.mobile.overview article {
	width: 50%;
	position: relative;
}
.mobile.overview article:before {
	content: '';
	display: block;
	padding-top: 100%;
}
.mobile.overview article a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 1rem;
}
.mobile.overview article h2 {
	font-size: 1rem;
}

/* Slider */
.mobile .Wallop-pagination {
	min-height: 3.125rem;
	margin: 0 2.125rem;
}
.mobile .Wallop-button {
	border: none;
}
.mobile .Wallop-dot {
	width: 1.5rem;
	height: 1.5rem;
	border: 2px solid #0677c7;
}

/* Share links */
.mobile .share {
	text-align: right;
	margin-top: 1rem;
	float: right;
}
.mobile .share a {
	width: 2.5rem;
	height: 2.5rem;
}
.mobile .share i {
	font-size: 1.5rem;
	line-height: 1.75;
}
.mobile .license {
	margin-top: 1rem;
}
.mobile .license a {
	color: #555;
}
.mobile .license a:hover,
.mobile .license a:focus {
	color: #333;
}

/* Navigation arrow */
.mobile:not(.overview) a.nav-button {
	margin-bottom: 1rem;
}


/* Responsive version
========================================
*/

@media screen and (max-width: 320px) {
	.mobile.overview article {
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.mobile #overview {
		display: block;
	}
}
