/*-----------* Schriftarten @font-faces importieren *-------------*/
/*
@import url("https://cdn.uni-kl.de/fonts/ptsans/ptsans_bold_macroman/stylesheet.css") all;
@import url("https://cdn.uni-kl.de/fonts/ptsans/ptsansnarrow_bold_macroman/stylesheet.css") all;
@import url("https://cdn.uni-kl.de/fonts/ptsans/ptsansnarrow_regular_macroman/stylesheet.css") all;
@import url("https://cdn.uni-kl.de/fonts/ptsans/ptsans_italic_macroman/stylesheet.css") all;
@import url("https://cdn.uni-kl.de/fonts/ptsans/ptsanscaption_bold_macroman/stylesheet.css") all;
@import url("https://cdn.uni-kl.de/fonts/ptsans/ptsans_bolditalic_macroman/stylesheet.css") all;
@import url("https://cdn.uni-kl.de/fonts/ptsans/ptsans_regular_macroman/stylesheet.css") all;
@import url("https://cdn.uni-kl.de/fonts/ptsans/ptsanscaption_regular_macroman/stylesheet.css") all;
@import url("https://cdn.uni-kl.de/fonts/font-awesome-4.3.0/css/font-awesome.min.css") all;
*/

@import url("/media/tu-kl-cd16/fonts/ptsans/ptsans_bold_macroman/stylesheet.css") all;
@import url("/media/tu-kl-cd16/fonts/ptsans/ptsansnarrow_bold_macroman/stylesheet.css") all;
@import url("/media/tu-kl-cd16/fonts/ptsans/ptsansnarrow_regular_macroman/stylesheet.css") all;
@import url("/media/tu-kl-cd16/fonts/ptsans/ptsans_italic_macroman/stylesheet.css") all;
@import url("/media/tu-kl-cd16/fonts/ptsans/ptsanscaption_bold_macroman/stylesheet.css") all;
@import url("/media/tu-kl-cd16/fonts/ptsans/ptsans_bolditalic_macroman/stylesheet.css") all;
@import url("/media/tu-kl-cd16/fonts/ptsans/ptsans_regular_macroman/stylesheet.css") all;
@import url("/media/tu-kl-cd16/fonts/ptsans/ptsanscaption_regular_macroman/stylesheet.css") all;
@import url("/media/tu-kl-cd16/fonts/font-awesome-4.3.0/css/font-awesome.min.css") all;

body,
div#page > hr {
  margin: 0;
  padding: 0;
}

html, body {
  background-color: #E7EBF3;
  color: #222;
  font-family: pt_sansregular , Tahoma, Geneva, Arial, sans-serif;
  font-size: 1.12rem;
}

body { 
  background: url(../images/bg_wrapper.png) left bottom repeat-x;
  background-color: #F8F9FB;
  min-width: 100%;
}

#page {
  position: relative;
  display: flex;
  flex-flow: row wrap;    
  max-width:  1000px;
  min-width:  350px;
  margin: 0 auto;
  
  background-color: white;
  
  box-shadow: 0 0 10px #bbb;
}

hr {  
  flex: 1 100%;
  color: #fff;
  background-color: #fff;
  border: 1px solid #ccc;
  border-style: none none solid;
}

/*-----------* Header *-------------*/

header#header-uni {
  flex: 1 0 0;  
  height: 100px;  
}

header > #logo-uni {
  height: 60px;    
  max-width: 210px;
  min-width: 210px;
  padding: 15px 0 0 22px;
}

nav#language {
	text-align: center;
}

nav#hamburger {
    display: none;
}

header > #logo-uni a {
  display: block;
}

header > #logo-uni img {
  margin-left:-22px;
  margin-top: -12px;
  width: 118%;
}

header#header-fb {
  flex: 1 0 0;
  align-self: flex-end;
  max-width: 210px;
  padding: 10px 20px;
}

header#header-fb a {
  outline: none;
  text-decoration: none;
  color: #222;
  font-family: 'pt_sans_narrowbold';  
  font-size: 1em;
  
}

header#banner-fb {
  flex: 2 0 0;
  background: url(../images/header/inf-header-cd2017.jpg); 
  
  min-height: 200px;
  background-size: cover;
}

header#banner-fb a:focus {
  outline: none;
}

nav#breadcrumb {
  display: flex;
  align-items: center;
  flex: 1 100%;  
  height: 30px;  
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.75rem;
  padding-left: 20px;  
  color: #444;
}

nav#breadcrumb a {  
  text-decoration: none;
  color: #444;
}
nav#breadcrumb a:hover {
  text-decoration: underline;
}
nav#breadcrumb a.breadactive, #breadcrumb a:hover.breadactive {
  color: #666;
  text-decoration: none;
}
	

nav#nav-main {
  flex: 1 0 0;
  padding: 20px;
  max-width: 210px;  
  font-size: 0.85rem;
}

/*-----------* Sub navigation left column *-------------*/
nav ul{
  list-style: none;
  color: #222; 
}
nav ul li{
  padding: 0.1rem 0 0.1rem 0;
}
nav.active ul li{
}

nav ul li a{
  color: #222; 
  text-decoration: none;
  display:block;
  transition: color 0.8s ease;
}
nav ul li a:hover{  
  color: #BB3020;
}
nav .active {
  font-family: pt_sansbold, Tahoma;
  font-weight: normal;
}

nav .separator {
    margin-top: 1em;
}


nav #menuToggle
{
  display: block;
  position: absolute;
  right: 0;
  margin: 1em;
  
  z-index: 1;
  
  -webkit-user-select: none;
  user-select: none;
}

nav #menuToggle input
{
  display: block;
  width: 40px;
  height: 32px;
  position: absolute;
  top: -7px;
  left: -5px;  
  
  cursor: pointer;
  
  opacity: 0; /* hide this */
  z-index: 2; /* and place it over the hamburger */
  
  -webkit-touch-callout: none;
}

/*
 * Just a quick hamburger
 */
nav #menuToggle span
{
  display: block;
  width: 33px;
  height: 4px;
  margin-bottom: 5px;
  position: relative;
  
  background: #085F8C;
  border-radius: 3px;
  
  z-index: 1;
  
  transform-origin: 4px 0px;
  
  transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
              opacity 0.55s ease;
}

nav #menuToggle span:first-child
{
  transform-origin: 0% 0%;
}

nav #menuToggle span:nth-last-child(2)
{
  transform-origin: 0% 100%;
}

nav #menuToggle span:nth-last-child(3)
{
  background: #BB3020;
}

nav #menuToggle input:checked ~ span
{
  opacity: 1;
  transform: rotate(45deg) translate(-2px, -1px);
  background: #232323;
}

nav #menuToggle input:checked ~ span:nth-last-child(3)
{
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}

nav #menuToggle input:checked ~ span:nth-last-child(2)
{
  opacity: 1;
  transform: rotate(-45deg) translate(0, -1px);
}

nav #menuToggle input:checked ~ ul
{
  transform: scale(1.0, 1.0);
  transition:transform 0.5s linear;
  /* opacity: 1; */
}

header nav ul.hauptmenu {
  position: absolute;
  margin: 0.2em;
  padding: 1em;  
  right: -10px;
  top: 20px;
  /* opacity:0; */
  width: 210px;  
  font-size: 0.85rem;
  border: solid #085F8C; 
  background: white;
  list-style-type: none;
  -webkit-font-smoothing: antialiased;
  transform: scale(0, 0);
  transition:transform 0.5s linear;
}

main {
  flex: 2 0 0;
  padding: 20px 15px 20px 0px;
  font-size: 0.75em;
}


/*-----------* Footer *-------------*/

footer {
  flex: 1 100%;
  padding: 1rem 0;  
  background-color:white;
  font-size: 0.9rem;
}

footer p {
  float: left;
  min-width: 170px;
  padding: 0 20px 0 20px;
}
footer ul {
  list-style: none;
  float: left;
  padding: 0 20px 0 20px;
}
footer ul#impress {
  float: right;
  text-align: right;
  padding: 0;
}
footer ul li {
  float: left;
  margin-right: 20px;  
}

footer a, footer#impress a {
  color: #333;
  text-decoration: none;
}

#impress a:hover {
  color: #000;
  text-decoration: underline;
}


/*-----------* Überschriften *-------------*/
h1, h2 {
  font-family: pt_sans_narrowbold, Tahoma;
  font-weight: normal;
  /* color: #085f8c; */
  /* color: #d33; */
  color: #217;
  font-size: 1.5rem;
}

h2 {
  font-size: 1.3rem;
}

h3 {
  font-family: pt_sans_narrowbold, Tahoma;
  font-weight: normal;
  color: #444;
}
h4, h5 {
  font-family: pt_sansbold, Tahoma;
  font-weight: bold;
  color: #444;
}
b, strong {
  font-family: pt_sansbold, Tahoma;
  font-weight: normal;
}
img {border: 0;}

/* Clearfix Class */
.clearfix:after {  /* Firefox, IE8, Opera, Safari, etc. */
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
* + html .clearfix { /* IE7 */
  display: inline-block;
}
* html .clearfix { /* IE6 */
  height: 1%;
}
/*
select, input {
  -webkit-border-radius: 0;
  border: thin solid #008CBA;
  padding: 4px;

}
*/

/*  Web-App Addons */
div.infobox_red {
    border: thin solid black; 
    padding: 1rem; 
    margin: 1rem 0;
    background: #fdd; 
}
div.infobox_yellow {
    border: thin solid black; 
    padding: 1rem; 
    margin: 1rem 0;
    background: yellow; 
}
div.infobox_green {
    border: thin solid black; 
    padding: 1rem; 
    margin: 1rem 0;
    background: #dfd; 
}

div.box {
  box-shadow: 0 0 3px grey;
  border-radius: 1rem;
  background:#white; 
  padding: 0.5rem 1rem;		
  margin: 1rem 0px;
}

div.blue {  background:#F6F7FB; 
}

div.lightblue {
  background:#F6F7FB; 
}

div.lightgreen {
  background: #dfd; 
}

div.lightyellow {
  background: lightyellow; 
}

/*  Button */
.blue_button {
    font-size:0.8rem;
    padding: 0.2rem 0.4rem;
    margin: 0.4rem 0;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    height: auto;
    background-color: white; 
    color: #555; 
    border: 2px solid #008CBA;
    outline:0;
    font-weight:bold;
}

.blue_button:focus {outline:0;}

.blue_button:hover {
    background-color: #008CBA; 
    color: white;
    text-decoration: none;
}

/*-----------* Font / Content formatting *-------------*/
/* Standardelemente */
main {
}
ul {
  /* list-style-type: square; */
  list-style-position: inside;
}
a {
  text-decoration: underline;
  color: #085f8c;
}
a:hover {
  text-decoration: underline;
}
main p {
  line-height: 20px;
  margin: 6px 0 6px 0;
}
main ol li, main ul li {
  margin-top: 6px;
}
main li {
  /* list-style-type: square; */
  list-style-position: outside;
  margin-left: 1.33em;
}

main ol {
  margin: 14px 0;
  list-style-position: outside;
}
main ol li {
  /* list-style-type: decimal; */
  margin-left: 18px;
  line-height: 18px;
}
ul {
  margin-left: 0;
}
#nav-main h1, main h1 {
  margin-bottom: 1rem;
  border-bottom: 1px solid lightgrey;
  font-size: 1.5rem;
}

h3 {
  margin: 1rem 0 0.7rem 0;
  padding-bottom: 0.1rem;
  overflow: hidden;
}

h1 a, h2 a, h3 a, h4 a {
  text-decoration: underline;
}
h4 {
  padding: 0 0 1rem 1.1rem;
  margin: 1rem 0 0.7rem 0;
  padding-bottom: 0.1rem;
}
h5 {
  padding: 0 0 18px 20px;
  margin: 15px 0 10px 0;
  padding-bottom: 2px;
}
main h4 {
  line-height: 20px;
  height: auto;
  padding: 0;
}
main h5, main h6 {
  line-height: 20px;
  height: auto;
  padding: 0;
}
main table ul, main ul,main table {
  margin: 10px 0;
}
main table ul li {
  line-height: 1rem;
}

main pre {
  margin: 10px 0;
  white-space: normal;
}
main blockquote {
  padding-left: 0.7rem;
  font-style: italic;
  border-left: 1px solid #CCC;
}
main hr, footer hr{
  margin: 1rem 0;
  color: #fff;
  background-color: #fff;
  border: 1px solid #ccc;
  border-style: none none solid;
}

/** Special FB-Style **/

TH, TD {
	vertical-align: top;
	text-align:left;
	color:black;
    /* border: thin solid #ddd; */
    padding-left: 0.5em;
    padding-right: 0.5em;
}

TH {
	font-weight: bold;
    background:#eee;
}

TD > UL, TH > UL {
    padding-left: 1.1em;
    margin-top: 0.1em;
    margin-bottom: 0.1em;
}

P{
	margin-bottom: 4px;
	line-height: 130%
}

LI {
	margin-bottom: 4px;
}


/* --------------------- Dekorationen ------------------------ */

.dottedbox {
                border: thin dotted black;
                background: white;
                padding: 1px 0.3em;
                margin: 0.2em 0px;
}

.greybox {
                border: thin solid silver;
                background: rgb(232,232,232);
                padding: 1px 0.3em;
                margin: 0.2em 0px;
}

.yellowbox {
                border: thin solid silver;
                background: yellow;
                padding: 1px 0.3em;
                margin: 0.2em 0px;
}

.lilabox {
                border: thin solid black;
                background: rgb(234,234,255);
                padding: 1px 0.3em;
                margin: 0.2em 0px;
}

.floatright {
		float: right; 
		/* border: 0pt none ; */
		margin-left: 2em; 
        margin-top: 0.5em;
        margin-bottom: 0.5em;
}


.floatleft {
		float: left; 
		/* border: 0pt none ; */
		margin-right: 2em; 
        margin-top: 0.5em;
        margin-bottom: 0.5em;
}



/* ----------------------- spezielle ------------------------- */

.disabled {
		font-weight:bold;
		color:#999999;
		text-decoration:line-through;
}

.description {
		color:#666666;
		font-size: 0.92em;
}

.td_right {
		text-align:right;
}

.time {
		font-weight:bold;
		color:#CC2222;
}

.date {
		font-weight:bold;
		color:#CC2222;
}

.important {
		font-weight:bold;
		color:#CC2222;
}

.veryimportant {
		font-weight:bold;
		color:#CC2222;
		text-decoration:blink;
}

a.more {
	color: #aa3333;
	font-weight: normal;
}

h1 span.more {
	font-size: 0.75em;
	font-weight: normal;
}

/* Smart Phones und Tablets mit mittlerer Auflösung */



@media all and (max-width: 900px) {
	nav, main {
		flex: 1 100%;
		padding: 0 1em;
	}
				
	header > #logo-uni {
		height: 60px;  
		max-width: 110px;
		padding: auto;
		width:50%;
	}
	
	header#banner-fb, #nav-main {
		display: none;
	}
	
	nav#nav-main ul {
		display: flex;  
		flex-direction: column;		
	}
  
	nav#nav-main li {
		 margin: 1.3em 0;
		flex: 1 1 100%;
	}	
    
    nav#hamburger {
        display: block;
    }

}
