@charset "utf-8";
/* CSS Document */
.body{
	position:relative;
	font-family: 'Roboto', sans-serif;
	font-weight:300;
	color:#39424e;
	font-size:20px;
	background:#eeeeee;
}

/* BEGINN HEADER */
.head{
	position:relative;
	background:url(../img/bg.png) 0 center #003399 no-repeat scroll;
	background-position:60% center;
	text-align:center;
	height:350px;
}

.logo{
	display:inline-block;
	position:relative;
	top:80px;
	left:-10px;	
	width:510px;
	max-width:100%;
	text-decoration:none;
}
.logo-img{
	display:inline-block;
	width:28.8235%;
	height:auto;
}
.logo-h1{
	position:relative;
	top:-40px;
	left:20px;
	display:inline-block;
	color:#fff;
	font-size:150%;
	line-height:120%;
	text-transform:uppercase;
	text-align:left;
	letter-spacing:2px;
}

.lang-1{
	position:absolute;	
	top:30px;
	right:50px;
	color:#fff;
}
.lang-2{
	display:none;	
}

.ls-splitter
{
	width: 30px;
	text-align: center;
	float: left;
}

.lang{
	color:#fff;
	text-decoration:none;
	float: left;
}
.lang:hover, .lang.sel{
	border-bottom:1px solid #fff;	
}
/* ENDE HEADER */

/* BEGINN NAVI */
.nav{
	position:relative;
	z-index:100;
	background:#5b7ba1;	
	height:60px;
}
.isFixed .nav{
	position:fixed;
	top:0;
	left:0;
	right:0;
}
.nav-ul{
	text-align:center;	
}
.nav-ul > li{
	position:relative;
	display:inline-block;
	
}
.nav-a{
	display:block;
	color:#fff;
	text-decoration:none;
	padding:0 20px;
	height:60px;
	line-height:60px;
}
.nav-a:hover{
	border-bottom:7px solid #ffcd00;
}
.nav-a.sel{
	font-weight:700;
	border-bottom:7px solid #ffcd00;
}
.sub-ul{
	position:absolute;	
	top:60px;
	left:0;
	right:0;
	background:#adbdd0;
	background:#5b7ba1;
	max-height:0;
	overflow:hidden;
	transition:max-height 0.5s ease-in-out;
}

.sub-ul.open{
	max-height:200px;
}

.sub-ul > li{}
.sub-a{
	display:block;
	color:#fff;
	text-align:left;
	text-decoration:none;
	font-size:90%;
	padding:10px 20px;
}
.sub-a:hover{
	color:#5b7ba1;
	background:#ffcd00;
}
.sub-a.sel{
	font-weight:700;
	background:#ffcd00;
	color:#5b7ba1;
}
.burger{
	display:none;	
}
.up{
	position:fixed;
	display:none;
	z-index:500;
	width:40px;
	height:40px;
	line-height:38px;
	border-radius:50%;
	font-size:160%;
	font-weight:300;
	bottom:60px;
	right:20px;
	background:rgba(40,40,40,0.7);
	overflow:hidden;
	transition:background 0.5s ease-in-out;
	color:#fff;
	text-decoration:none;
	text-align:center;
}

.up:hover{
	background:rgba(40,40,40,1);
}

/* ENDE NAVI */


/* BEGINN MAIN + ARTIKEL Styles */
.main{
	position:relative;
	z-index:50;
	width:1200px;
	max-width:100%;
	background:#fff;
	box-shadow:0 0 15px -5px #333;
	margin:0 auto 100px auto;
	padding:100px;
	line-height:120%;
}
.isFixed .main{
	margin-top:60px;	
}

.h1{
	font-size:150%;	
	font-weight:700;
	letter-spacing:2px;
	padding-bottom:30px;
}
.h2{
	font-size:120%;	
	font-weight:700;
	letter-spacing:2px;
	padding-bottom:30px;
}
.h3{
	font-weight:700;
	padding-bottom:30px;
}
.h3-np{
	font-weight:700;
	padding-bottom:0px;
}
.a1{
	color:#5b7ba1;
	font-weight:700;
	padding:0 2px;
	border-bottom:1px solid #5b7ba1;
	text-decoration:none;
}
.a1:hover{
	color:#d80000;
	border-bottom:1px solid #d80000;
	
}
.p{
	margin-bottom:25px;	
}

.ul{
	list-style:square;
	margin-left:20px;
}
.ul > li{
	margin-bottom:10px;	
}
/* ENDE MAIN*/


/*BEGINN FOOTER*/
.foot{
	color:#fff;
	font-size:80%;
	background:#39424e;
	height:50px;
	line-height:50px;
	text-align:center;
}
.foot-a{
	color:#fff;
	text-decoration:none;	
}
.foot-a:hover{
	border-bottom:1px solid #fff;
}
/*ENDE FOOTER*/

.cookie{
	position:fixed;
	z-index:1000;
	bottom:-500px;
	left:0;
	right:0;
	transition:bottom 1s ease-in-out;
	
}
.cookie.open{
	bottom:0;	
}
.cookie-inner{
	position:relative;
	font-size:12px;
	padding:10px;
	width:900px;
	max-width:96%;
	margin:0 auto;
	background:#5b7ba1;
	color:#fff;
	line-height:130%;
}
.cookie .a1{
	color:#fff;	
	border-bottom:1px solid #fff;
}
.a2{
	background:#ffcd00;
	color:#003399;
	border-radius:3px;
	padding:2px;
	tex-decoration:none;
}
.it{
	font-style:italic;	
}

/* BEGINN TIMELINE */
.pt{
	padding:20px 0 1px 0;
	background:url(../img/pt-stroke.gif) center 0 repeat-y scroll;
}
.pt-item{
	position:relative;
	font-size:90%;
	min-height:100px;
	margin-bottom:40px;
}
.pt-txt{
	position:relative;
	width:40%;
	background:#39424e;
	color:#fff;
	padding:20px 30px;
	
}
.pt-item:nth-child(even) .pt-txt{
	left:60%;
}

.pt-txt:after{
	content:' ';
	position: absolute;
	display:block;
	left: 100%;
	top:29px;
	border: solid transparent;
	height: 0;
	width: 0;	
	border-left-color: #39424e;
	border-width: 20px;
}
.pt-item:nth-child(even) .pt-txt:after{
	left:auto;
	right:100%;
	border-left:none;
	border-right-color: #39424e;
}

.pt-txt h3{
	font-weight:700;
}
.pt-txt h3{
	padding-top:5px;
}
.pt-fancy{
	position:absolute;
	display:block;
	top:0;
	margin-top:0;
	margin-top:calc(48px - (10% + 4px) / 2);
	left:45%;
	width:calc(10% + 4px);
	height:0;
	padding:0;
	padding-bottom:calc(10% + 4px);
	border-radius:50%;
	overflow:hidden;
	z-index:100;
	background:#39424e;
}

.pt-fancy:after{
	content:'';
	display:block;
	position:absolute;
	top:100px;
	left:-2px;
	width:100%;
	height:100%;
	background:url(../img/lupe.png) center no-repeat scroll;
	background-size:cover;
	transition:top 0.5s ease-in-out;
}

.pt-fancy:hover:after{
	top:-2px;	
}

.pt-img{
	position:absolute;
	top:2px;
	left:2px;
	bottom:2px;
	right:2px;
	width:calc(100% - 4px);
	height:calc(100% - 4px);
	
	border-radius:50%;
	transition:opacity 0.5s ease-in-out;
	
}
.pt-fancy:hover .pt-img{
	opacity:0.6;	
}
.pt-date{
	position:absolute;
	top:38px;
	left:58%;
	font-weight:700;
}
.pt-item:nth-child(even) .pt-date{
	left:auto;
	right:58%;
	margin-left:0;
}


/* ENDE TIMELINE */

/* BEGINN EUROPÄISCHE BRIEFE - TABLE */
#letters-table{
	width: 100%;
	border-collapse:separate;
	border-spacing:1px;
	font-size:80%;
	line-height:150%;
	background:#000;
}
#letters-table tr{
	color:#fff;
	background:#8ca2bd;
}
#letters-table tr:nth-child(odd){
	color:#fff;
	background:#5b7ba1;
}
#letters-table tr:hover{
	background:#39424e;
}
#letters-table th{
	background:#39424e;
	color:fff;
	padding-right:20px;
	cursor:pointer;
}
#letters-table td{
	padding:5px;
	vertical-align:middle;
	vertical-align:-webkit-baseline-middle;
	vertical-align:middle;
}
#letters-table td:nth-child(3), #letters-table td:nth-child(4){
	text-align:center;
}
#letters-table th:first-child, #letters-table td:first-child{
	text-align:center;
}
#letters-table .hDef{
	background:url(../img/bg.gif) right center no-repeat #39424e;
}
#letters-table .hUp{
	background:url(../img/asc.gif) right center no-repeat #39424e;
}
#letters-table .hDown{
	background:url(../img/desc.gif) right center no-repeat #39424e;
}
.div-lang{
	display:block;
	width: 20px;
	float:left;
}
.img-lang{
	margin-bottom:3px;	
}
.a-down{
	display:block;
	width:48px;
	height:48px;
	overflow:hidden;
	text-indent:-9999px;
	background:url(../img/pdf.png) center center no-repeat scroll;
	
	display:inline-block;
	width:20px;
	height:20px;
	background:url(../img/download.png) center center no-repeat scroll;
}


/* BEGINN MOBIL STYLES! */
@media only screen and (max-width: 1000px){
	.nav-a{
		padding:0 15px;
		font-size:85%;
	}
	.sub-a{
		padding:10px 15px;
		font-size:85%;
	}
}

@media only screen and (max-width: 800px){
	.nav-a{
		padding:0 8px;
		font-size:70%;
	}
	.sub-a{
		padding:8px;
		font-size:70%;
	}
	.pt-item{
		font-size:80%;	
	}
	.pt-txt{
		padding:10px 20px;	
	}
	.pt-txt:after{
		top:39px;
		border-width:10px;
	}
	.main{
		padding:75px;	
	}
	#letters-table{
		line-height:120%;	
	}
}

@media only screen and (max-width: 600px), only screen and (pointer: coarse){
	.head{
		background:#003399;	
		height:170px
	}
	.logo{
		top:25px;
		left:0;
	}
	.logo-img{
		width:25%;
	}
	.logo-h1{
		font-size:5vw;
	}
	.lang-1{
		display:none;
	}
	.lang-2{
		display:block;
		position: absolute;
    	top: 7px;
    	left: 10px;
	}
	.lang-2 .de{
		background:url(../img/de.svg) center center / cover no-repeat scroll;
		margin-right: 10px;
	}
	.lang-2 .en{
		background:url(../img/en.svg) center center / cover no-repeat scroll;			
		margin-right: 10px;
	}
	.lang-2 .fr{
		background:url(../img/fr.svg) center center / cover no-repeat scroll;
	}
	
	.ls-splitter
	{
		display: none;
	}
	
	.lang{
		display:inline-block;
		width:36px;
		height:25px;
		text-indent:-9999px;
		overflow:hidden;
		background-size:cover;
	}
	
	.lang:hover, .lang.sel{
		border:none;
		-webkit-filter: grayscale(0);
		filter: grayscale(0);
	}
	
	.main{
		position:relative;
		padding:50px;
		top:0;
	}
	.isFixed .main{
		margin-top:40px;
		transition:top 0.5s ease-in-out;
	}
	.isFixed.open .main{
		top:280px;
	}
	
	/* START MOBILES MENÜ */
	.nav{
		height:auto;
		max-height:40px;
		transition:max-height 0.5s ease-in-out;
		overflow:hidden;
	}
	.open .nav{
		max-height:340px;
	}
	.nav-ul{
		text-align:left;
		padding-top:40px;
	}
	.nav-ul > li{
		display:block;
	}
	.nav-a{
		padding:0 20px;
		font-size:80%;
		height:40px;
		line-height:40px;
		border-bottom:1px solid #8ca2bd;
		
	}
	.nav-a.sel{
		font-weight:700;
		color:#fff;
		background:none;
		border-bottom:1px solid #8ca2bd;
	}
	.nav-a:hover{
		border-bottom:inherit;
		color:#5b7ba1;
		background:#ffcd00;
	}
	.sub-ul{
		position:relative;
		top:0;
		left:0;
		max-height:none;
		overflow:auto;
		transition:none;
	}
	
	.sub-ul.open{
		max-height:none;
	}
	
	.sub-ul > li{}
	.sub-a{
		display:block;
		color:#fff;
		text-align:left;
		text-decoration:none;
		padding:0 0 0 40px;
		font-size:70%;
		height:30px;
		line-height:30px;
	}
	.sub-a.sel{
		font-weight:700;
		color:#fff;
		background:none;
	}
	.sub-a:hover{
		color:#5b7ba1;
		background:#ffcd00;
	}
	.burger{
		position:absolute;
		top:5px;
		right:10px;
		display:block;
		width:30px;
		height:30px;
		background:url(../img/b-open.svg);
		text-indent:-9999px;
		overflow:hidden;
		
	}
	.open .nav .burger{
		background:url(../img/b-close.svg);	
	}
	
	/* TIMELINE MOBIL */
	.pt-item{
		margin-bottom:30px;	
		background:#39424e;
	}
	
	.pt-fancy{
		position:relative;
		margin-top:15px !important;
		left:50%;
		margin-left:-52px;
		width:104px;
		height:104px;
		padding:0;
		background:#fff;
	}
	.pt-txt{
		position:relative;
		width:100% !important;
		left:0 !important;	
		margin-top:10px !important;
	}
	.pt-txt h3, .pt-txt p.it{
		text-align:center;	
	}
	
	
	.pt-txt:after{
		border-left:none;
		border-right:none;
	}
	.pt-date{
		position:relative;
		top:0 !important;
		left:0 !important;
		right:auto !important;
		margin-left:0 !important;
		background: #39424e;
		color:#fff;
		padding:10px;
		width:100%;
		text-align:center;
	}
}
@media only screen and (max-width: 600px){
	#letters-table{
		background:none;	
	}
	#letters-table thead,#letters-table th:first-child, #letters-table td:first-child{
		display:none;	
	}
	#letters-table td:nth-child(2){
		text-align:center;
	}
	#letters-table, #letters-table tbody, #letters-table tr, #letters-table th, #letters-table td {
		overflow-x: auto;
		display: block;
		line-height:120%;
	}
	#letters-table td:nth-child(2){
		font-size:16px;
		font-weight:700;
	}
	#letters-table tr{
		margin-bottom:10px;
		padding:5px;
	}
	#letters-table .a-down{
		background:none;
		color:#fff;
		text-align:center;
		text-indent:0;
		width:auto;
		height:auto;
		padding:0 2px;
	}
	.div-lang{
		display:block;
		width: 100%;
		float:none;
		text-align:center;
	}
	.img-lang{
		display:inline-block;
	}
	.a-down{
		width:100% !important;
	}
}
@media only screen and (min-width: 600px) and (pointer: coarse){
	.logo{
		top:20px;
	}
	.logo-h1{
		font-size:150%;
	}
}
@media only screen and (max-width: 500px){
	.logo{
		top:37px;
	}
	.logo-h1{
		top:-30px;
		left:10px;
		font-size:4.5vw;	
	}
}

@media only screen and (max-width: 430px){
	.body{
		font-size:17px;	
	}
	.main{
		padding:25px;	
	}
}