

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* # Inital */

.mobile, .quit, .help, 
.button--mobile, a.button--mobile, a.button.big.button--mobile, 
.js-app-init, a.button.js-app-init,
.js-view, .js-marker-stack, #media-overlay, #info-overlay, #marker-overlay,
.js-view.text > a.quit,
#download-overlay > a.quit {
    display: none;
}

.js-open-for-map > a.quit {
    display: block !important;
}

.js-open-for-map .buttons--in-row {
    display: none !important;
}

/* Leaflet Overrides */

.leaflet-control-attribution {
    display: none;
}

.leaflet-control-layers-toggle {
    background-color: #fff;
	background-image: url('../img/layers.png');
	background-size: cover;
	border-radius: 6px;
	background-repeat: no-repeat;
    box-shadow: #1b1b1b 6px 6px 0px;
    color: #1b1b1b;
    height: 40px;
    width: 40px; 
}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url('../img/layers.png');
	background-size: cover;
}

.leaflet-left .leaflet-control {
    margin-left: 20px;
}
.leaflet-top .leaflet-control {
    margin-top: 20px;
}
.leaflet-right .leaflet-control {
    margin-right: 20px;
}

.leaflet-bar, .leaflet-control-layers {
    border-radius: 6px;
    box-shadow: #1b1b1b 6px 6px 0px;
    opacity: 0.7;      
}
.leaflet-bar a:first-child {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}
.leaflet-bar a:last-child {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}
.leaflet-bar a, .leaflet-bar a:hover {
    border: none;
    height: 40px;
    line-height: 40px;
    width: 40px;
}
.leaflet-bar a, .leaflet-bar a:hover {
    background-color: #fff;
    color: #1b1b1b;
}
.leaflet-bar a.leaflet-disabled {
    background-color: #1b1b1b;
    color: #fff;
}

.leaflet-control-layers-list label {
    color: #1b1b1b;
    font-size: 1em;
}


/* # General */
body {
    color: #1b1b1b;
	font-family: 'source_sans_proregular',Arial,sans-serif;
	font-size: 20px;
	line-height: 28px; 

    -webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */
    -webkit-text-size-adjust: none;             /* prevent webkit from resizing text to fit */
    -webkit-user-select: none;                  /* prevent copy paste, to allow, change 'none' to 'text' */
}

a, a:hover, a:active, a:visited, a p, a:hover p {
  color: black; /* color: rgb(76,70,59); */
	text-decoration: none;  
}
/*a:hover, a:hover p {
  color: rgb(248,154,57);
}*/

/* Bootstrap Overrides */
p {
    margin: 12px 0 5px 0;
}

video {
    display: block;
}

.clean--row .row {
    margin-left: 0;
    margin-right: 0;
}

input[type="checkbox"], input[type="radio"] {
  font-size: 26px;
  height: 26px;
  width: 26px;
}

.loading {
  background: transparent url('../img/ajax-loader.gif') no-repeat center center;
  background-size: 48px 48px;
  -ms-interpolation-mode:bicubic;
  display: none;
  height: 100%;
  width: 100%;
}

.content .collection img, .content .collection video,
.content .content-object img, .content .content-object video {
  background: transparent url('../img/ajax-loader.gif') no-repeat center center;
  background-size: 48px 48px;
  -ms-interpolation-mode:bicubic;
}

/* Startscreen */
.startscreen {
    background: transparent url('../img/startscreen.png') no-repeat center center;
    background-size: cover;
    height: 100vh;
    position: absolute;
    top: 0;
    width: 100vw;
    z-index: 7000;
}

@keyframes hideDiv {
    0% { height: 100vh; top: 0px; display: block; }
    100% { height: 0px; top: 100vh; display: none; }
}

/* # App */
.app {
  margin-top: 40px;
}

/* # Colors */
/*
    ## New Colors (alternate for better contrasts)

    #FF3366 Pink Line (#FF0066)
    #6633CC Violett Line (#6600FF)
    #660033 Bordeaux Line (#990033)
    #3399FF Azur Line (#0099FF)
    #339966 Teal Line (#00CC99)
    #996633 Gold Line (#FF9900)
    #FF6666 Peach Line (#FF3333)
    #330066 Plum Line (#330099)
    #0033FF Blue Line (#0000FF)
    #000099 Midnight Line (#0000CC)
    #009999 Moos Line (#006666)

*/
.yellow {
  background-color: #f0b726;
}
.red {
  background-color: #ed4d34;
} 
.gold {
  background-color: #bd8e66; /* #CC9966 */
}
.blue {
  background-color: #257ebf;
}
.lilac {
  background-color: #bf82af;
}
.teal {
  background-color: #24b366; /* #66CC99 */
}
.orange {
  background-color: #f59943;
}
.azur {
  background-color: #61aadb; /* #0099FF */
}

.yellow-text, .tour-yellow-text, a.tour-yellow-text, 
.leaflet-control-layers-overlays label:nth-child(3) > div > span {
  color: #f0b726;
}
.red-text, .tour-red-text, a.tour-red-text, 
.leaflet-control-layers-overlays label:nth-child(4) > div > span {
  color: #ed4d34;
} 
.gold-text, .tour-gold-text, a.tour-gold-text, 
.leaflet-control-layers-overlays label:nth-child(6) > div > span {
  color: #bd8e66;
}
.blue-text, .tour-blue-text, a.tour-blue-text, 
.leaflet-control-layers-overlays label:nth-child(2) > div > span {
  color: #257ebf;
}
.lilac-text, .tour-lilac-text, a.tour-lilac-text, 
.leaflet-control-layers-overlays label:nth-child(5) > div > span {
  color: #bf82af; 
}
.teal-text, .tour-teal-text, a.tour-teal-text, 
.leaflet-control-layers-overlays label:nth-child(1) > div > span {
  color: #24b366;
}
.orange-text, .tour-orange-text, a.tour-orange-text, 
.leaflet-control-layers-overlays label:nth-child(7) > div > span {
  color: #f59943;
}
.azur-text, .tour-azur-text, a.tour-azur-text, 
.leaflet-control-layers-overlays label:nth-child(8) > div > span {
  color: #61aadb;
}


/* Android color settings */

.device-android .yellow {
  background-color: #d49c00;
}
.device-android .yellow-text, .device-android .tour-yellow-text, .device-android a.tour-yellow-text {
  color: #d49c00;
}

.device-android .red {
  background-color: #d82b11;
} 
.device-android .red-text, .device-android .tour-red-text, .device-android a.tour-red-text {
  color: #ed4d34;
} 

.device-android .gold {
  background-color: #a06f43; /* #CC9966 */
}
.device-android .gold-text, .device-android .tour-gold-text, .device-android a.tour-gold-text {
  color: #bd8e66;
}

.device-android .blue {
  background-color: #0a79c9;
}
.device-android .blue-text, .device-android .tour-blue-text, .device-android a.tour-blue-text {
  color: #257ebf;
}

.device-android .lilac {
  background-color: #b34f98;
}
.device-android .lilac-text, .device-android .tour-lilac-text, .device-android a.tour-lilac-text {
  color: #bf82af; 
}

.device-android .teal {
  background-color: #0db45a; /* #66CC99 */
}
.device-android .teal-text, .device-android .tour-teal-text, .device-android a.tour-teal-text {
  color: #24b366;
}

.device-android .orange {
  background-color: #e3740c;
}
.device-android .orange-text, .device-android .tour-orange-text, .device-android a.tour-orange-text {
  color: #f59943;
}

.device-android .azur {
  background-color: #10a9e6; /* #0099FF */
}
.device-android .azur-text, .device-android .tour-azur-text, .device-android a.tour-azur-text {
  color: #61aadb;
}


/* Backcatalogue default color settings */

.midnight {
  background-color: #000099;
}
.plum {
  background-color: #330066
} 
.moos {
  background-color: #009999;
}
.pink {
  background-color: #FF6699;
}
.bordeaux {
  background-color: #993366;
}
.peach {
  background-color: #FF6666;
}
.violett {
  background-color: #9933FF;
}

.midnight-text {
  color: #000099;
}
.plum-text {
  color: #330066
} 
.moos-text {
  color: #009999;
} 
.pink-text {
  color: #FF6699;
}
.bordeaux-text {
  color: #993366;
} 
.peach-text {
  color: #FF6666;
}
.violett-text {
  color: #9933FF; 
}


.default {
  background-color: #999999;
}
.white {
  background-color: white;
  color: #1b1b1b !important;
}
.black {
  background-color: #1b1b1b;
  color: white;
}


/* # Headings */
h1, h2, h3, h4, h5, h6, label {
    font-weight: normal;
}

h1 {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
    font-size: 36px;
    line-height: 1.2em;
    margin-bottom: 60px;
}
h1 small {
    color: #1b1b1b;
	font-family: 'source_sans_proregular', Arial, sans-serif;
}
h2 {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
    font-size: 24px;
    line-height: 1.2em;
}
h3 {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
    font-size: 20px;
    line-height: 1.2em;
}
h4 {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
}

.span4 p {
    font-size: 16px;
    line-height: 1.5em;
}

/* # Navbar */
.navbar {
    min-height: 40px;
}

.navbar>.container .navbar-brand, .navbar>.container-fluid .navbar-brand {
    height: 40px;
    margin-left: 0;
    padding: 10px 15px 10px 2vh;
}

.navbar-nav>li>a {
    padding-top: 10px;
    padding-bottom: 10px;
}

.navbar-fixed-top {
    margin-bottom: 0px;
}

.navbar-inverse .brand {
	color: #555;
	font-family: 'source_sans_prosemibold', Arial, sans-serif;    
    font-size: 14px;
	letter-spacing: 0.06em;
}

.navbar-inverse .nav > li > a {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
    font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;    
}

.navbar-inverse .nav > li > a.copyright {
	color: #555;
	font-family: 'source_sans_proregular', Arial, sans-serif;    
	letter-spacing: 0.06em;
	text-transform: inherit;    
}

/* # Container */

.row.text {
    padding: 2vh 2vh 8vh 10vw;
}

#intro .row.text {
    padding: 2vh;
}

#map {
    -ms-interpolation-mode:bicubic;
    background: #1b1b1b url('../img/ajax-loader.gif') no-repeat center center;
    background-size: 48px 48px;
    position: relative;
    z-index: 100;
}

#marker-overlay {
    min-height: 100%;
    position: absolute;
    right: 0px;
    top: 0px;
    width: 100vw;
    z-index: 2000;
}

.mobile {
    background: white;
    position: absolute;
    top: 40px;
    width: 100%;
    z-index: 300;
}

.overlay {
    color: white;
    min-height: 100%;
    left: 0px;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 3000;
}

#download-overlay {
    background-color: #1b1b1b;
    margin: 0;
}

#marker-stack-overlay {
    color: white;
    left: 0px;
    position: absolute;
    text-align: center;
    top: 55%;
    width: 100vw;
    z-index: 2010;
}

#info-overlay {
    background: white;
    min-height: 100%;
    left: 0px;
    position: absolute;
    top: 0px;
    width: 100%;
    z-index: 3000;
}

info-overlay > .content > .row.text {
    padding: 4vh;
    width: 90vw;
}

#media-overlay.overlay.cite .content,
#media-overlay.overlay.task .content,
#media-overlay.overlay.info .content,
#media-overlay.overlay.collection .content .collection {
    padding: 0 2em;
}

#media-overlay.overlay.collection.gallery .content .collection {
    padding: 0;
}

.overlay .content p,
#marker-stack-overlay .content p {
  padding: 200px 160px 0px 160px;
}
.overlay .content p.cite {
  padding: 100px 160px 100px 160px;
}
.overlay .content .caption p {
    font-size: 16px;
    line-height: 20px;
    padding: 10px 20px 4px;    
}
.overlay .content .caption {
    background: #1b1b1b;
    top: 0;
	font-family: 'source_sans_proregular', Arial, sans-serif;
    opacity: 0.7;
    position: fixed;
    width: 100vw;
}

.overlay .content .copyright,
.coaudio .copyright {
    font-family: 'source_sans_proregular', Arial, sans-serif;
    position: absolute;
    right: 10px;
    bottom: 20px;
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    width: 80vh;
    transform-origin: top right;
}

.overlay .content .copyright p,
.coaudio .copyright p {
    font-size: 10px;
    letter-spacing: 0.2em;
    line-height: 1.6em;
    padding: 0;
    text-shadow: #1b1b1b 0px 0px 20px;
    text-transform: uppercase;
}

.coaudio .copyright p {
    display: block;
    padding-left: 60px !important;
}

.coaudio .copyright {
    bottom: 0px;
    width: 94vh;
}

.marker .media-buttons > div.coaudio {
    display: none;
    position: absolute;
    right: 0px;
    bottom: 0px;
}

.overlay .content .content-object,
.overlay .content .collection,
.overlay .content {
    height: 100vh;
    display: table-cell;
    vertical-align: middle;
    width: 100vw;
}

.overlay .content .content-object img,
.overlay .content .collection img,
.overlay .content .content-object video,
.overlay .content .collection video {
    /*height: inherit !important;*/
    max-height: 100%;
    max-width: 100%;
}

/*.overlay .content .content-object video,
.overlay .content .collection video {
    max-height: 100vh;
    width: 100% !important;
}*/


/* # Intro */

#intro h1 {
    margin-bottom: 100px;
}

#intro a {
    display: block;
}

#intro .citymap {
    background: transparent url('../img/map.png') no-repeat center center;
    background-size: cover;
}

#intro .citymap a {
    margin: 38vh auto;
}


/* # Imprint */

#imprint img {
  height: 60px;
  padding: 6px 20px 0px 0px;
}


/* # Map */
#leafletMap {
  height: 560px;  
}

.leaflet-control-layers-list label {
    clear: both;
    display: block;
    height: 30px;
    text-shadow: none;
}

.leaflet-control-layers-list label > div > input.leaflet-control-layers-selector {
    display: block;    
    float: left;
}

.leaflet-control-layers-list label > div > span {
    display: block;    
    float: left;
    height: 26px;
    padding-top: 10px;
}

/* # Marker */
.marker {
  color: white;
  min-height: 100%;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100vw;
  z-index: 1300;
}

/* ## Headings */
.marker h2 {
  height: 60px;
  margin: 0px 0px 30px 0px;
}

/* ## Functions */
.marker .functions {
    margin: 44px 80px;
    text-align: center;
}

.marker .functions > .chapter_meta {
    margin-bottom: 60px;
    opacity: 0.7;
}

.marker .media-buttons > .button {
    display: inline-block;
    margin: 40px 20px 20px;
    /* float: left; */
}

.marker .media-buttons > div {
    display: inline-block;
}

h1 + h4 + .media-buttons:empty,
h1 + .media-buttons:empty {
    margin-top: 100px;
}

h1 + .media-buttons {
    margin-top: 10px;
}

.marker .buttons {
    margin-bottom: 80px;
}

.marker .buttons > div {
    display: inline-block;
    margin: 20px 20px 0px;
    /* float: left; */
}

.marker a.button {
    opacity: 0.7;
}

.marker a.button:hover,
a.button.help:hover {
    opacity: 0.9;
}

.marker a {
    margin: 0px auto 30px auto;
}

.marker img, .marker video, .marker p {
    display: none;
}

.marker > a.button.small.quit > label {
    display: none;
}

.marker h1 {
    margin-bottom: 0px;
}

.marker h4 {
    margin: 6px 0 0;
    opacity: 0.7;
    padding: 0;
}

.marker p.chapter {
    display: block;
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
    text-shadow: rgba(0,0,0,.5) 1px 1px 3px;
}

a.button {
    background-color: #1b1b1b;
    border-radius: 70px;
    box-shadow: black 6px 6px 0px;
    color: white;
    display: block;
    height: 140px;
    line-height: 20px;
    text-align: center;
    width: 140px;
}

a.button div {
    height: 60px;
    padding-bottom: 6px;
    padding-top: 24px;
}

a.button:hover, a.button.big:hover, a.button.long:hover, 
.button--mobile:hover, a.button--mobile:hover, a.button.big.button--mobile:hover {
    box-shadow: white 0px 0px 10px;
	opacity: 0.7;
}

a.button.checked {
    background-color: white;
    color: #1b1b1b;
}

a.button.small.checked {
    color: white;
}

a.button.checked div {
    color: #1b1b1b;
}

a.button.big {
	border-radius: 80px;
	font-size: 24px;
    height: 160px;
    opacity: 0.9;
    width: 160px;
}
a.button.big div {
    height: 100px;
  	padding-bottom: 7px;
  	padding-top: 35px;
}
a.button div {
  	height: 90px;
  	padding-bottom: 0px;
  	padding-top: 30px;
}
a.button.medium {
	border-radius: 60px;
  	height: 120px;
  	width: 120px;
}
a.button.mediumsmall {
	border-radius: 50px;
    height: 100px;
    width: 100px;
}
a.button.small {
	border-radius: 30px;
    height: 60px;
    margin-bottom: 50px;
    width: 60px;
}
a.button.small.next,
a.button.small.prev {
    margin-bottom: 0px;
}
a.button.small div {
    height: 60px;
    margin-left: 0px;
    padding-bottom: 0px;
    padding-top: 16px;
    width: 60px;
}
a.button.small label {
    width: 200px;
}
.marker a.button.small > div {
    height: 66px;
}
.marker a.button.small > label {
    display: inline-block;
    font-size: 12px;
}
a.button.long {
    background-color: white;
    border: 2px solid #1b1b1b;
    border-radius: 32px;
    box-shadow: none;
    color: #1b1b1b;
    display: block;   
	font-size: 24px;
    height: 64px;
    line-height: 32px;
    margin: 32px auto;
    opacity: 0.9;
    padding: 16px 20px;
    width: 80%;
}
a.button.long div {
    display: inline;
    font-size: 12px;
    padding-right: 12px;
}
a.button.long label {
    display: inline;
    font-family: 'source_sans_proregular', Arial, sans-serif;
    font-size: 20px;
    letter-spacing: 0.06em;
    padding-right: 12px;
    text-shadow: none;
    text-transform: none;
    vertical-align: 2px;
}
a.button.big.block {
    display: block;
}
a.button.quit, a.button.help {
    bottom: 20px;
    margin-bottom: 0px;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    opacity: 0.5;
    position: fixed;
    right: 0;
    z-index: 1000;
}
a.button.help {
    background-color: #fff;
	border-radius: 6px;
    box-shadow: #1b1b1b 6px 6px 0px;
    color: #1b1b1b;
    height: 40px;
    left: 20px;
    line-height: 40px;
    margin: 0;
    opacity: 0.7;
    width: 40px; 
}
a.button.help div {
    height: 40px;
    margin: 0px;
    padding: 4px 0;
    width: 40px;
    line-height: 40px;
}
a.button.quit div {
  height: 60px;
  padding-top: 17px;
}
a.button.quit label {
  display: none;
}
a.button.quit.small div {
  padding-top: 15px;
}
a.button.prev {
    left: 20px;
    opacity: 0.5;
    position: fixed;
    bottom: 20px;
    z-index: 3999;
}
a.button.prev div {
  padding-right: 5px;
  padding-top: 17px;
}
a.button.prev label {
  display: none;
}
a.button.next {
    opacity: 0.5;
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 3999;
}
a.button.next div {
  padding-left: 5px;
  padding-top: 17px;
}
a.button.next label {
  display: none;
}
#marker-stack-overlay .content .marker a.quit.close-overlay {
    border: 1px solid red;
    display: none !important;
}
a.button.prev.stack,
a.button.next.stack {
    position: fixed;
    bottom: 20px;
}

.buttons--in-row {
    margin-right: 10vw;
}

b, strong {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
	font-weight: normal;
} 
 
.brand {
    font-family: 'source_sans_prosemibold', Arial, sans-serif;
} 

.info, .note, .cite, .overlay p, #marker-stack-overlay p {
	font-family: 'source_sans_proregular', Arial, sans-serif;
	font-size: 30px;
	line-height: 1.3em;	
}
.overlay p.note,
#marker-stack-overlay p.note {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
    padding-top: 120px;
    padding-bottom: 120px;
}
.overlay p.cite,
#marker-stack-overlay p.cite {
	font-family: 'source_sans_prosemiboldItalic', Arial, sans-serif;
	font-size: 30px;
	line-height: 1.3em;	
}
.overlay p.cite.task {
    display: table-cell;
    height: 60vh;
	line-height: 1.4em;	
    vertical-align: middle !important;
    text-align: center;
    width: 100vw;
}

/*.chapter.text {
    background-color: white;
	font-size: 24px;
    height: 100%;
	line-height: 1.3em;	
}*/

.text-dynamic > p {
    font-size: 1.2em;
    line-height: 1.42em;
    margin: 1.4em 0;
    width: 60vw;
}

.text-small > p {
    font-size: 0.9em;
}

.headline-dynamic > h1 {
    width: 60vw;
}

p.chapter, .text-dynamic > p.chapter {
	font-family: 'source_sans_proregular', Arial, sans-serif;
    font-size: 12px;
	letter-spacing: 0.2em;
	line-height: 18px;	
	margin-bottom: 5px;
	text-transform: uppercase;
}

p.chapter.space-top {
    margin-top: 36px;
}

p.statement {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
	margin: 0 0 36px 0;
}

figure {
    margin-top: 0px;
    text-align: center;
}

figcaption > p.chapter {
    min-height: 54px;
}

.legend-image {
    margin-bottom: 36px;
    text-align: center;
}

.links {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
	font-size: 18px;
	line-height: 24px;	
	text-decoration:underline;
}

.button, label {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
	font-size: 20px;
	line-height: 28px;	
	text-transform:uppercase;
}

label {
	font-family: 'source_sans_prosemibold', Arial, sans-serif;
	font-size: 14px;
	letter-spacing: 0.2em;
	line-height: 18px;	
    text-shadow: rgba(0,0,0,.5) 1px 1px 3px;
	text-transform:uppercase;
}

.fa-2x {
	font-size: 1.4em;
}

.fa-3x {
	font-size: 2.4em;
}

.datalist--legend {
    display: block;
}

.datalist--legend dl {
    margin-top: 20px;
}

.datalist--legend dt {
    font-weight: normal;
}

.datalist--legend img.dl--image {
    width: 24px;
}


/* Shadows */

.marker,
#download-overlay,
.startscreen,
.overlay .content .content-object, 
.overlay .content .collection, 
.overlay .content {
    -webkit-box-shadow: inset 0px 0px 10px 0px rgba(0,0,0,0.5);
    -moz-box-shadow: inset 0px 0px 10px 0px rgba(0,0,0,0.5);
    box-shadow: inset 0px 0px 10px 0px rgba(0,0,0,0.5);
}


/* Animations */

.js-animation {
    height: 100vh;
    position: absolute;
    width: 100vw;
}

.js-animation-foreground {
    background-color: white;
    height: auto;
    margin-bottom: 120px !important;
    padding-top: 80px !important;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
}

.js-animation-background {
    position: absolute !important;
    top: 40px !important;
    z-index: -100 !important;
    margin: 0;
    width: 100%;
}


@media (max-width: 1280px) {
    .chapter_meta > .span3 {
        width: 220px;
    }
    .chapter_meta > .span3,
    .chapter_meta > .span9 {
        margin-left: 0px;        
    }
    .nav-collapse, .nav-collapse.collapse {
        text-align: center;
    }
    .navbar-inverse .nav > li > a {
	    font-family: 'source_sans_proregular', Arial, sans-serif;
	    font-weight: normal;
    }
}

@media (max-width: 767px) {

    .navbar>.container-fluid .navbar-brand > img {
        height: 30px;
        width: 30px;
    }
    
    .navbar-nav {
        text-align: center;
    }
    
    .pull-right {
        display: none;
        float: none !important; 
    }
    
    .app {
        margin-top: 50px;
    }

    .overlay .content .gallery .copyright {
        margin-bottom: 0px;        
    }

    .js-animation-background {
        position: absolute !important;
        top: 50px !important;
        z-index: -100 !important;
        margin: 0;
        width: 100%;
    }
    
}

@media (max-width: 991px) {

    .startscreen {
        background-image: url('../img/startscreen-portrait.png');
        background-position: right bottom;
        background-size: contain;
    }

    h1 {
        font-size: 1.1em;
        line-height: 1.3em;
    }
    #imprint img {
        height: 80px;
    }
    a.button {
        border-radius: 50px;
        height: 100px;
        width: 100px;
    }
    a.button.small {
        border-radius: 20px;
        height: 40px;
        width: 40px;        
    }
    .fa-3x {
        font-size: 2em;
    }
    .fa-2x {
        font-size: 1em;        
    }
    .help > div .fa-2x {
        font-size: 1.4em;
    }
    .marker p.chapter {
        font-size: 10px;
        line-height: 1.6em;
    }
    .marker .functions > .chapter_meta {
        opacity: 0.7;
    }
    a.button > div {
        height: 110px;
    }
    a.button.small div {
        padding-top: 10px;
        width: inherit;
    }
    a.button.quit.small div {
        padding-top: 10px;
    }
    a.button.checked label {
        color: white;
    }
    .marker a.button.small > label {
        font-size: 10px;
    }
    .marker a.button.small > div {
        height: 46px;
    }
    .marker .functions {
        margin: 20px;
    }
    .marker .functions > .chapter_meta {
        padding-top: 0px;
    }
    .marker .media-buttons {
        margin-top: 30px;
    }
    .marker .buttons > div {
        margin: 30px 10px 0px;
    }
    .marker .buttons.resize > div {
        margin: 30px 20px 0px;        
    }
    .marker .media-buttons > .button {
        display: inline-block;
        margin: 30px 15px;
        float: none;
    }
    #intro h1 {
        margin-bottom: 80px;
    }
    #intro .contents {
        -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
        -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
        box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
        background-color: rgba(255,255,255,0.9);
        margin: 5vw 5vw;
        width: 90vw;
    }
    #intro .citymap {
        display: block;
        position: absolute;
        vertical-align: middle;
        width: 100vw;
        z-index: -1;
        margin: 0;
    }
    #intro .citymap a {
        display: none;        
    }
    .button--mobile, a.button--mobile, a.button.big.button--mobile {
        border-radius: 32px;
        display: block;   
        height: 64px;
        margin: 32px auto;
        opacity: 0.9;
        width: 80vw;
    }
    .button--mobile div, a.button--mobile div, a.button.big.button--mobile div {
        display: inline;
        font-size: 12px;
        padding-right: 12px;
    }
    .button--mobile label, a.button--mobile label, a.button.big.button--mobile label {
        display: inline;
        font-size: 20px;
        letter-spacing: 0.06em;
        padding-right: 12px;
    }    
    .overlay .content p, #marker-stack-overlay .content p {
        padding: 100px 20px;
        font-size: 24px;
        line-height: 1.4em;
    }
    .overlay p.cite, #marker-stack-overlay p.cite {
        font-size: 24px;
        line-height: 1.4em;        
    }
    .overlay .content .copyright {
        margin-bottom: 80px;
        position: inherit;
        transform: none;
        text-align: center;
        width: 100%;    
    }
    .overlay .content .copyright p {
        padding: 10px;    
    }
    .overlay .content p.cite {
        padding: 80px 20px;
    }
    
    .legend-image {
        margin-top: 60px;
    }
    .row--space--top--mobile {
        margin-top: 40px;
    }
    .chapter.text {
    	font-size: 20px;
    	line-height: 1.4em;	
    } 
     
    .text-dynamic > p {
        font-size: 1em;
        margin: 1.2em 0;
        width: 90%;
    } 
    .headline-dynamic > h1 {
        width: 90%;        
    }
    .text-small > p {
        font-size: 0.8em;
    }    
    
    .buttons--in-row {
        margin-top: 32px;
    }
    .buttons--in-row a.button.long {
        margin: 16px auto;
    }
    .marker-functions {
        height: 76vh;
        display: table-cell;
        vertical-align: middle;
        width: 100vw;
    }
}

@media (min-width: 1281px) {
    .chapter_meta > .span3 {
        margin-left: 0px;        
        width: 24%;
    }
    .chapter_meta > .span9 {
        margin-left: 0px;
        width: 74%;
    }
}

@media (max-width: 400px) {

    body {
        font-size: 1.6em;
        line-height: 1.4em;
    }

    h1 {
        margin: 0px 0px 40px 0px;
    }
    
    #intro h1 {
        font-size: 1.2em;
        margin-bottom: 40px;
    }
    
    h4 {
        font-size: 1em;
    }
    
    p.statement {
        margin: 0px 0px 28px 0px;
    }
    
    .chapter.text {
        font-size: 1em;
    }

    #intro .row.text, .row.text {
        padding: 0;
    }

    #imprint img {
        height: 50px;
    }

    #marker-overlay {
        min-height: 95%;
        width: 90vw;
        margin: 4vw 5vw;
    }
    
    .marker {
        width: 100%;
    }
    
    label {
        font-family: 'source_sans_proregular', Arial, sans-serif;
        font-size: 0.6em;
        letter-spacing: 0.1em;
    }
    
    .marker p.chapter, .text-dynamic > p.chapter {
        font-family: 'source_sans_proregular', Arial, sans-serif;
        font-size: 9px;
        letter-spacing: 0.1em;       
        text-transform: none; 
    }
    
    a.button.quit.close-overlay,
    a.button.prev.stack,
    a.button.next.stack {
        bottom: 40px;
    }
    
    a.button.next.stack {
        right: 40px;
    }
    
    a.button.prev.stack {
        left: 40px;    
    }

    .fa-3x {
        font-size: 1.6em;
    }

    .fa-2x {
        font-size: 0.8em;
    }
    
    a.button {
        border-radius: 35px;
        height: 70px;
        width: 70px;
    }
    
    a.button > div {
        height: 80px;
        padding-top: 20px;
    }
        
    a.button.long,
    a.button.big.button--mobile {
        border-radius: 16px;
        height: 32px;
        line-height: 16px;
        padding: 7px 16px;
    }
    
    a.button.long div,
    a.button.big.button--mobile div {
        font-size: 10px;
        padding-right: 10px;
    }
    
    a.button.long label,
    a.button.big.button--mobile label {
        font-size: 0.64em;
        padding-right: 0;
        text-transform: none;
    }
        
    a.button.small {
        margin-bottom: 0;
    }

    .marker .functions {
        margin: 0 20px;
    }

    .marker .functions > .chapter_meta {
        margin-bottom: 3.6em;
    }

    .marker .media-buttons {
        margin-top: 0;
    }
    
    .marker .media-buttons > .button {
        margin: 30px 10px;
    }

    .marker .buttons > div {
        margin-top: 10px;
    }
    
    .marker .buttons {
        margin-top: 20px;
    }
    
    .marker .buttons a.button.small {
        border-radius: 15px;
        height: 30px;
        width: 30px;
    }

    .marker .buttons a.button.small > div {
        height: 36px;
        padding-top: 5px;
    }

    .marker .buttons a.button.small > label {
        font-size: 9px;
    }

    .overlay .content p {
        padding: 40px 20px;
    }

    .overlay .content .copyright p, .coaudio .copyright p {
        font-size: 9px;
        line-height: 1.4em;
        letter-spacing: 0.1em;
        padding: 0.2em 20px;
        text-transform: none;
    }
    
    .coaudio .copyright p {
        padding-left: 60px !important;
    }

    .overlay .content .caption p {
        font-size: 0.8em;
        line-height: 1.3em;
        padding: 0.2em 20px 0.8em;
    }

    .overlay .content p, #marker-stack-overlay .content p {
        font-size: 0.6em;
        line-height: 1.4em;
    }
        
    .overlay.collection .content p.cite,
    .overlay.collection .content p.note {
        font-size: 1.2em;
    }
    
    .overlay .content p.cite {
        padding: 40px 20px;        
    }

    .coaudio .copyright {
        opacity: 0.9;
        right: 0;
    }
    
    #marker-overlay {
        -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
        -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
        box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5);
    }
    
}



