
/* +++* GLOBAL PARAMETERS **/
:root {
  --content-width: 1160px;
  --ADFC-blau: #004b7C;
  --ADFC-orange: #ee7f00;
  --gray-0: #f6f6f6;    /** very light dark **/ 
  --gray-1: #f0f0f0;    /** light dark **/
  --gray-2: #dedede;    /** dark **/
  --gray-3: #8c8c8c;    /** darker **/ 
  --gray-4: #737373;    /** darkest **/
  --light-green: #E9F6F6;
}
html {
  font-size: 100%;
}
/* +++* End - GLOBAL PARAMETERS **/

/* +++ body-wide definitions */
body {
  font-family: roboto;
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 1 1 5;
  -webkit-hyphenate-limit-before: 1;
  -webkit-hyphenate-limit-after: 1;
  color: #0a0a0a;
  font-feature-settings: normal;
  font-kerning: auto;
  font-language-override: normal;
  font-size: 1rem;
  text-align: center;
  margin: 0;
  box-sizing: border-box;   /* set as default for whole page, can be redefined locally  */
  line-height: 1.4rem;
  width: 100%;
}
body[id="zeige_tour"] {
  background-color: white !important;
  text-align: left;
}
.noPadding {
  padding-top: 0 !important;
  padding-bottom: 0px !important;
  } 
.fontWeight100 {
  font-weight: 100 !important;
}
.fontWeight200 {
  font-weight: 200 !important;
}
.fontWeight300 {
  font-weight: 300 !important;
}
.fontWeight400, .bold {
  font-weight: 400 !important;
}

h1,h2,h3,h4,h5,h6,p {
  margin: 0;
  padding: 0;
  text-align: left;
  alignment-baseline: text-top;
}
h1 {
  font: roboto !important;
  color: black !important;
  font-size: 2rem;
  font-weight: 100 !important;
  line-height: 1.2em;
  padding-top: 1.5em;
  padding-bottom: 0.8em;
}
h1 strong {
  font-weight: 300 !important;
  color: black !important;
}
h2 {
  color: black;
  font-size: 1.625rem;
  font-weight: 300;
  line-height: 1.2em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
h1 + h2,
h2.untertitel {
  padding-top: 0;
  margin-top: -0.3em;
}
h3 {
  color: black;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3em;
  padding-top: 0.8em;
  padding-bottom: 0.3em;
}
p {
  color: #0a0a0a;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.4em;
  padding-top: 0.4em;
  padding-bottom: 0.9em;
}
h4 {
  color: black;
  font-size: 2rem;
  font-weight: 100;
  line-height: 1.2em;
  padding-top: 0.3em;
  padding-bottom: 0.3em;
}
h5 {
  color: black;
  font-size: 1.625rem;
  font-weight: 300;
  line-height: 1.2em;
  padding-top: 0.2em;
  padding-bottom: 0.3em;
}
h6 {
  color: black;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3em;
  padding-top: 0.15em;
  padding-bottom: 0.15em;
}
a {
  color: #EE7F00;
  font-weight: 500;
}
a:hover {
  color: #EE7F00 !important;
  font-weight: 500;
  text-decoration: underline;
}
div.button-container a:hover, div.support-button-text a:hover {
  color: white !important;
  font-weight: 400;
  text-decoration: underline !important;
}
div.support-button-text a:hover {
  color: white !important;
/*   text-decoration: underline !important; */
}



ul,ol {
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}
ul li, ol li {
  margin-bottom: 7px;
  color: #0a0a0a;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.4em;
  width: 100%;
}
ul li:last-child, ol li:last-child {
  margin-bottom: 0;
  color: #0a0a0a;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.4em;
}
img {
  max-width: 100% !important;
  height: auto;
  margin-top: 10px;
  margin-bottom: 10px;
}
a.button1 {
  display: table-cell;
  position: relative;
  max-width: 100%;
  padding-top: 5px;
  padding-right: 6px;
  padding-bottom: 7px;
  padding-left: 6px;
  color: white;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  font-style: italic;
  cursor: pointer;
  white-space: normal;
  background-color: #ee7f00;
  text-decoration: none;
  vertical-align: top;
}
a.button1::after { 
  /* Pfeil: Box mit zwei weißen Kanten um -135deg gedreht. Sehr clever, oder? */
  box-shadow: -2px 2px 0 white;
  transform: rotate(-135deg);
  width: 11px;
  height: 11px;
  transition: .5s;
	content: ""; 
  /* jetzt nur noch an die richtige Stelle schieben */
  margin-left: 0px;
  margin-top: 4px;
  margin-right: 5px;
  float: right;
}
a.button1:hover, a.button2:hover  {
  text-decoration: underline;
}
a.button2 {
  position: relative;
	border-radius: 8px;
	background-color: #737373;
	font-size: 12px;
	color: #fff;
	font-family: 'roboto';
	font-weight: 300;
	line-height: 16.5px;
	cursor: pointer;
	display: inline-block;
	letter-spacing: .1em;
	padding:  .4rem .5rem .4rem .5rem;
	text-transform: uppercase;
	font-style: normal;
	white-space: normal;
	max-width: 100%;
  text-decoration: none;
  margin-bottom: 3px;
}
/* +++ +++ End - body-wide definitions */


/* +++ +++ Header definitions */
header-moveable {
  display: block;
  width: 100%;
}
div.sticky-1 {
  position: sticky !important;
  top: 0px;
}
div.sticky-2 {
  position: sticky !important;
  top: 104px;
}
header-moveable div.name-wrapper-wide {
  z-index: 12;
  position: relative;
  display: block;
  background-color: var(--ADFC-orange);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  text-align: center;
}
@media screen and ( max-width: 768px) {
  header-moveable div.name-wrapper-wide {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }  
}
header-moveable div.name-wrapper-wide div.name-wrapper-inner {
  position: relative;
  display: block;
  text-align: left;
  width: 100%;
  max-width:  var(--content-width);
  margin: 0 auto;
}

header-moveable div.name-wrapper-wide div.adfc-name_desktop {
  display: block;
  text-align: left;
  color: white;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2em;
  padding-top: 10px;
  padding-bottom: 10px;
}
header-moveable div.name-wrapper-wide div.adfc-name_mobile {
  display: none;
}

@media screen and ( max-width: 768px) {
  header-moveable div.name-wrapper-wide div.adfc-name_desktop {
    display: none;
  }
  header-moveable div.name-wrapper-wide div.adfc-name_mobile {
    display: block;
    text-align: center;
    color: white;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.2em;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

div.menu-wrapper-wide {
  z-index: 11;
  position: relative;
  background-color: #fff;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  border-bottom-width: 5px;
  border-bottom-color: var(--ADFC-orange);
  border-bottom-style: solid;
  text-align: center;
  box-shadow: 1px 1px 11px 1px black; 
  height: 101px;
}
@media screen and ( max-width: 768px) {
  div.menu-wrapper-wide {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }  
}
div.menu-wrapper-inner {
  width: 100%;
  max-width:  var(--content-width);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
 }
div.menu-wrapper-wide div.logo {
  width: 157px;
  padding-top: 12px;
  padding-bottom: 8px;
  margin-right: 0px;
}
div.logo a img {
  width: 100%;
  height: auto;
}

div.support-wrapper-wide {
  z-index: 10;
  position: relative;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-top: -1px;
}
body[id^='tour_'] div.support-wrapper-wide {
  display: none !important;
}
div.support-wrapper-inner {
  z-index: 10; 
  position: relative;
  display: block;
  text-align: center;
  width: 100%;
  max-width:  var(--content-width);
  margin: 0 auto; 
}
@media screen and ( max-width: 768px) {
  div.support-wrapper-wide {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  } 
  div.support-wrapper-inner {
    display: none;
  }
}


div.support-wrapper-wide div.support-button-wrapper {
  z-index: 10;
  position: relative;
  display: flex;
  justify-content: flex-end;
}
div.support-wrapper-wide div.support-button {
  z-index: 10;
  display: block;
  position:absolute;
  width: 178px;
  height: 41px;
  background-color: var(--ADFC-orange);
  margin-right: 70px;
}

div.support-wrapper-wide div.support-button::before { 
  background-color: transparent;
  bottom: 0;
  content: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23ee7f00' d='M0 0h100C50 10 50 90 0 100V0z'/%3E%3C/svg%3E");
  display: block;
  height: 41px;
  position: absolute;
  top: 0;
  width: 41px;
  left: -39px;
  transform: scaleX(-1);  
}
div.support-wrapper-wide div.support-button::after { 
  background-color: transparent;
  bottom: 0;
  content: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23ee7f00' d='M0 0h100C50 10 50 90 0 100V0z'/%3E%3C/svg%3E");
  display: block;
  height: 41px;
  position: absolute;
  top: 0;
  width: 41px;
  left: 178px;
}
div.support-button div.support-button-text a {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4em;
  color: white;
  font-style: italic;
  padding-top: 3px;
  text-decoration: none;
}
div.support-button div.support-button-text a::before {
  content: url("../img/Reiserad_mit_ohne_tasche.svg");
  padding-left: 2px;
  padding-right: 10px;
  margin-top: 6px;
  display: inline-block;
  width: 38px;  
}
/* +++ Navigation */


/*@media screen and ( min-width: 769px) { */
  div.nav-mobile { /* keinen Burger in Desktop-Version */
    display: none;
  }
  div.menu-wrapper-wide div.navigation {
    display:flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: 30px;
    position: relative;
    text-align: left;
    color: black;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
  }
  div.navigation {
    box-sizing: content-box;
    display: inline-block;
  }
  div.sub-menu {
    position: relative;
    margin-left: 20px;
    cursor: pointer;
 }
  div.sub-menu-container {
    margin-top: 5px;
    right: -20px;
    background-color: white;
    width: 160px;
    position: absolute;
    display: none;
    z-index: 20;
    border-width: 1px;
    border-color: black;
    border-style: solid;
  }
  div.menu-item {
    margin-left: 20px;
    margin-top: 2px;
    position: relative;
    cursor: pointer;
  }
  div.navigation div.menu-item {
    margin-top: 0px;
  }
  div.menu-item a {
    color: black;
    font-weight: 400;
    text-decoration: none;
    position: relative;
    display: inline-block;
  }
  div.sub-menu div.menu-item a:hover {
    font-weight: 500;
    text-decoration: underline;
   }
  div.sub-menu-title::after { 
    content: "▾";
    margin-left: 3px;
    font-size: 17px;
  }
  div.sub-menu div.menu-item {
    background-color: var(--gray-1);
    margin-left: 0px;
    margin-top: 0px;
    margin-bottom: 6px;
    position: relative;
    z-index: 20;
    height: 40px;
  }
  div.sub-menu div.menu-item:first-child {
    margin-top: 6px;}
  div.sub-menu div.menu-item a {
    position: relative;
    z-index: 20;
    padding-top: 0px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 0px;
    height: 35px;
    width: 140px;
    display: inline-block;
    line-height: 40px;
  }
/* } */
@media screen and ( max-width: 533px) {
  
  div.menu-wrapper-wide div.navigation {
    margin-top: 20px;
  }
  
  
  
}





/* +++ End - Navigation         */
/* +++ End - Header definitions */


/* +++ content-part definitions  - START */
content-margin {
  z-index: 6;
  position: relative;

  display: block;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  white-space: normal;
  overflow-wrap: break-word;
  -webkit-overflow-wrap: break-word;
}
@media screen and ( max-width: 768px) {
  content-margin {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }  
}
content-without-margin {
  z-index: 6;  
  width: 100%;
  position: relative;
  display: block;
  white-space: normal;
  overflow-wrap: break-word;
  -webkit-overflow-wrap: break-word;
}
div.content-width {
  position: relative;
  display: block;
  max-width:  var(--content-width);
  margin: 0 auto;
  text-align: left;
}
p.person a img {
  width: 30px;
  margin-bottom: 0px;
}
/* +++ content-part definitions  - END */



h1.display-4 {
  display: none;
}
h5.card-title {
  font-size: 20px;
}
div.jumbotron {
  padding-top: 30px !important;
  margin-bottom: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}
.badge {
  line-height: 1.5 !important;
  margin-top: 3px;
  margin-bottom: 3px;
}
div.result-details ul.list-group {
  margin-left: 10px;
  margin-right: 10px;
}
div.result-details ul.list-group span.badge {
  margin-top: 15px;
  margin-left: -10px;
  margin-bottom: 5px;
  margin-right: -10px;
}
.card-body {
  margin-top: 10px;
  margin-bottom: 0px;
  padding-bottom: 0px;
  padding-top: 10px;
  
}
.card-body .card-text {
  font-size: 17px !important;
  min-height: 165px;
  padding-top: 0px;
  padding-bottom: 0px;
}
.result-details .card-body .card-text {
  font-size: 17px !important;
  padding-top: 0px;
  padding-bottom: 5px;
  min-height: 0;
}



img[src="img/logo_klein.png"] {
  display: none;
}

/* +++ Partei Logos  - START */ 
div.partei-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100%;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  align-items: center;
}
div.partei-logos div.logo {
  width: 100px;
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 20px;

}
#overall-progress-bar {
  height: 0.3rem !important;
}

/* +++ Partei Logos  - END */ 


@media screen and (min-width: 576px) {
  .col-sm-8 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 80%;
    flex: 0 0 80%;
    max-width: 80%;
  }
  .offset-sm-2 {
    margin-left: 10%;
  }
}
@media screen and (min-width: 768px) {
  .col-md-10 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
}

/* Fragen und Antworten  - START */
body[id="fragen-und-antworten"] {
  padding: 10px;
  text-align: left !important;
}
#fragen-und-antworten .bold {
  font-weight: 500;
}
#fragen-und-antworten h5, #fragen-und-antworten h6 {
  padding-bottom: 0;
}
#fragen-und-antworten h6 {
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: var(--gray-3);
}


#fragen-und-antworten ul {
  margin-top: 0px;
  margin-bottom: 10px;
}
#fragen-und-antworten li {
  margin-bottom: 3px;
}
#fragen-und-antworten p {
  padding-bottom: 9px;
}

/* Fragen und Antworten - END */
#fragen-und-antworten a {
  font-size: 16px;
  color: #ee7f00;
  font-weight: 600;
text-decoration: none;
}
#fragen-und-antworten a:hover {
  text-decoration: underline;
}




.container {
  padding-bottom: 5rem;
}
@media screen and ( max-width: 768px) {
  .container {
    margin-top: 10px;
  }
}
.progress-bar {
  background-color: #004b7c;
}

.jumbotron {
  background-color: #fff;
}

#start-subtitle {
  font-size:1.6rem;
  font-weight:bold;
  color: rgb(0,75,124);
  margin-top: 1.4rem;
}

.btn-primary {
  background-color: #ee7f00;
  border: 0 solid #f7bf80;
}

.btn-primary:hover {
  background-color: #ee7f00;
  border: 0 solid #f7bf80;
  text-decoration: underline;
}

#pagination {
  display: flex;
  flex-flow: wrap;
  justify-content: flex-start;
  margin-top: 50px;
}
ul.pagination li.page-item {
  width: auto;
  margin-right: 3px;
} 

.result-detail-header,
.result-detail-footer {
  cursor: pointer;
}

.progress-bar {
  text-align: left;
  padding-left: 0.5rem;
  font-weight: bold;
}

.result-summary-row {
  margin-bottom: 0.2rem;
}

.card {
  margin-bottom: 0.5rem;
}

.btn,
.badge {
  white-space: normal;
}

.btn-select {
  margin-bottom: 0.5rem;
}

#thesis-card {
  min-height: 14rem;
  margin-bottom: 2rem;
}

#thesis-more {
  margin-top: 0.5rem;
}

@media (max-width: 768px) {
  .left-answer-row {
    margin-right: -25px;
  }

  .right-answer-row {
    margin-left: -25px;
  }
 .card-text {
  font-size: 15px;
}
}

.remaining-progress-bar {
  background-color: rgba(255, 255, 255, 0);
}

#mahlowat,
#result {
  display: none;
}

#swype-info {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 500;
  width: 100%;
  height: 100%;
  display: none;
}

#swype-info-content {
  width: 80%;
  height: 50%;
  padding: 1rem;
  position: relative;
  float: left;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#swype-info-message {
  width: 80%;
  padding: 1rem;
  position: relative;
  float: left;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* +++ START - footer definitions */
footer {
  clear: both;
  z-index: 6;
  margin-top: 20px;
}
footer div.light-gray {
  position: relative;
  background-color: var(--gray-3);
  display: block;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  text-align: center;
  padding-top: 14px;
  padding-bottom: 20px;
}
footer div.light-gray p {
  font-size: 17px;
  line-height: 1.2em;
  color: white;
  font-weight: 600;
}
footer div.footer-wrapper-1 {
  position: relative;
  display: flex;
  justify-content:flex-start;
}
footer div.footer-wrapper-1 div.menu-item {
  margin: 0;
}
footer div.footer-wrapper-1 div.menu-item a {
  font-size: 0.9rem;
  line-height: 1.2em;
  color: white;
  font-weight: 300;
  padding-right: 20px;
}
footer div.dark-gray {
  position: relative;
  background-color: var(--gray-4);
  display: block;
  padding-top: 12px;
  padding-right: 1.5rem;
  padding-bottom: 12px;
  padding-left: 1.5rem;
  text-align: center;
}
footer div.footer-wrapper-2 {
  position: relative;
  display: flex;
  justify-content: space-between;
}
footer div.dark-gray div.left {
  font-size: 1rem;
  line-height: 1.2em;
  color: white;
  font-weight: 300;
  padding-top: 10px;
}
footer div.dark-gray div.right {
  width: 110px;
}
footer div.right img {
  width: 100px;
  margin:0;
  margin-top: 3px;
}
/* +++ End - footer definitions */

