/*
Theme Name: CSU Stadtratsfraktion Nürnberg
Description: WordPress Theme für die CSU Stadtratsfraktion Nürnberg
*/

@font-face{font-family: "P22"; src: url("assets/vendor/fonts/P22R.woff") format("woff");}
@font-face{font-family: "P22M"; src: url("assets/vendor/fonts/P22M.woff") format("woff");}



* {
  padding: 0;
  border: 0;
  margin: 0;
  font-family: P22;
}

body {
  background-color: #fff;
}

p, a, li {
  font-size: 1.1em;
  color: inherit;
  line-height: 150%;
}

a {
  font-family: P22M;
  text-decoration: none;
  font-weight: 500;
}

.csu-page p, .csu-page li {
  margin: .5em 0;
  color: #707070;
}

.csu-page li {
  margin-left: 1.5em;
}

.alignleft {
  float: left;
  margin: 1em;
  margin-left: 0;
}

.alignright {
  float: right;
  margin: 1em;
  margin-right: 0;
}

.aligncenter {
  margin: 1em auto;
}

blockquote {
  padding: 1.5em;
  border-radius: 5px;
  margin: .5em 0;
  background: #F5F5F5 url(assets/images/quote.svg);
  background-repeat: no-repeat;
  background-size: 5em;
}

b, strong {
  font-family: P22M;
  font-weight: 500;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

h1,h2,h3,h4,h5,h6 {
  font-family: P22M;
  font-weight: 500;
  color: #0080C8;
}

header {
  position: fixed;
  left: 0;
  right: 0;
  background: #F5F5F5;
  z-index: 9999;
}

.seitenbreite {
  max-width: 1350px;
  margin: auto;
  padding: 1em;
  box-sizing: border-box;
}

.header-wrapper {
  max-width: 1350px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2em;
}

.header-logo {
  height: 3em;
  padding: .5em 0;
}

.top-menu, .menu-hauptmenue-container {
  align-self: stretch;
  display: flex;
}

.top-menu {
  align-self: stretch;
  display: flex;
  justify-content: center;
}

.top-menu > li {
  display: block;
  list-style: none;
  color: #0080C8;
  position: relative;
  display: flex;
  justify-content: center;
  padding: 0 1em;
}

.top-menu > li:after {
  content: '';
  position: absolute;
  height: 40%;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  background: #0080C8;
  right: 0;
}

.top-menu > li:last-child:after {
  content: '';
  display: none;
}

.top-menu > li a {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-self: stretch;
  align-items: center;
  cursor: pointer;
}

.top-menu > li:hover, .active, .current_page_ancestor, .current-menu-parent {
  background: #0080C8;
  color: #fff!important;
}

.top-menu > li:hover:before, .top-menu > .active:before, .current_page_ancestor:before, .current-menu-parent:before{
  content: '';
  position: absolute;
  height: 100%;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  background: #0080C8;
  left: -1px;
}

.sub-menu:before {
  content: '';
  position: relative;
  height: 3px;
  width: 100%;
  background: rgba(0,0,0,0.0001);
  display: block;
}

.top-menu .sub-menu {
  position: absolute;
  transform: translateY(100%);
  bottom: 0;
  left: -1px;
  display: none;
  color: #fff;
}

.top-menu .sub-menu li {
  display: block;
  padding: .5em 1em;
  border-bottom: 1px solid #fff;
  background: #0080C8;
}

.top-menu .sub-menu li:last-child {
  border-bottom: 0;
}

.menu-item-has-children:hover .sub-menu {
  display: block;
}


.navigation {
  width: 2em;
  height: 2em;
  padding: .5em;
  border-radius: 2px;
  transition: transform .3s ease-out;
  cursor: pointer;
}

.navigation-wrapper {
  position: relative;
  height: 100%;
  width: 100%
}

.nav-line {
  display: block;
  width: 100%;
  height: 3px;
  background: #0080C8;
  position: absolute;
  box-sizing: border-box;
  -webkit-transition: transform .2s ease-out;
  -moz-transition: transform .2s ease-out;
  -ms-transition: transform .2s ease-out;
  -o-transition: transform .2s ease-out;
  transition: transform .2s ease-out;
  transform: translateY(-50%);
  will-change: transform;
}

.nav-line:nth-child(1) {
  width: 90%;
  top: 20%;
}

.nav-line:nth-child(2) {
  width: 80%;
  top: 50%;
}

.nav-line:nth-child(3) {
  top: 80%;
}

.navigation-open {
  transform: rotate(90deg);
}

.navigation-open .nav-line {
  width: 100%;
}

.navigation-open .nav-line:nth-child(1) {
  transform: rotate(45deg);
  top: 50%;
}

.navigation-open .nav-line:nth-child(2) {
  background: none;
  transform: translate3d(20px,0,0);
}

.navigation-open .nav-line:nth-child(3) {
  transform: rotate(-45deg);
  top: 50%;
}

.content {
  padding-top: 70px;
}

footer {
  background: #f5f5f5;
}

.footer-wrapper {
  max-width: 1350px;
  margin: auto;
  color: #0080C8;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

footer p {
  color: #0080C8;
}

.footer-element {
  padding: 2em 1em;
  width: 16em;
}

.footer-sec h3 {
  margin-bottom: 0;
}

.footer-sec {
  margin-bottom: 1em;
}

footer h3 {
  margin-bottom: 1em;
}

footer a {
  font-family: P22;
}

.csu-page {
  max-width: 1350px;
  padding: 3em;
  margin: 0 auto;
  position: relative;
}

.csu-page-image {
  float: left;
  width: 500px;
  max-width: 100%;
  margin: 1em;
  margin-left: 0;
  max-height: 100%;
}

.csu-front-page {
  max-width: 2000px;
  margin: auto;
}

.csu-banner {
  background: #0080C8;
  padding: 1em;
}

.csu-banner p {
  color: #fff;
}

.banner-content {
  display: flex;
  justify-content: space-between;
  max-width: 1350px;
  margin: auto;
  color: #fff;
  flex-wrap: wrap;
}

.themen {
  max-width: 1350px;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0 -1em;
}

.thema {
  margin: 1em;
  border: 1em solid #C3DDF3;
  flex-basis: 24em;
  flex-grow: 1;
  box-sizing: border-box;
}

.thema-content {
  padding: 1em;
}

.btn {
  display: inline-block;
  padding: .3em .7em;
  color: #fff;
  background: #0080C8;
  font-family: P22;
}

.thema .btn {
  margin-top: 1em;
}

.fraktion {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: -1em;
  margin-top: 1em;
}

.person {
  border: .5em solid #C3DDF3;
  margin: 1em;
  display: flex;
  justify-content: space-between;
  flex-basis: 16em;
}

.person-image, .person-text {
  width: 50%;
}
/*
.person-image img {
  width:auto;
  height:258px!important;
}
*/

.person-text {
  padding: 1em;
}

.navigation {
  display: none;
}

.mobile-menu {
  display: none;
}

.desktop-menu {
  display: flex;
  align-self: stretch;
}

.person-detail {
  display: flex;
  border: 1em solid #C3DDF3;
  margin-top: 2em;
}

.person-detail p {
  margin: 1em 0;
}

.person-detail-bild {
  flex-basis: 25em;
  flex-grow: 1;
  flex-shrink: 0;
/* Änderung WR:
  background-size: cover;
  background-repeat: repeat;
  background-position: center;
	*/
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: top;
  align-self: stretch;
}

.person-detail-text {
  padding: 2em;
}

.person-detail-header {
  max-width: 2000px;
  margin: auto;
  background: url('assets/images/hintergrund-nbg.jpg');
  min-height: 15em;
  padding-top: 2em;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
}

.person-header-detail {
  color: #fff;
  margin: 0;
  width: 100%;
  max-width: 1350px;
  margin: 0 auto;
}

.person-header-detail-text {
  margin: 1em;
  position: relative;
  margin-left: 22.5em;
}

.person-header-detail img {
  width: 100%;
  max-width: 20em;
}

.person-header-detail-image-mobile {
  display: none;
}

.person-header-detail h2 {
  font-size: 3em;
  font-variant: small-caps;
  color: #fff;
}

.person-header-detail h3 {
  color: #fff;
  position: relative;
}

.person-breite {
  max-width: 1350px;
  margin: auto;
  position: relative;
}

.person-detail-banner {
  background-color: #0080C8;
  padding: 1em;
  color: #fff;
  max-width: 2000px;
  margin: auto;
  box-sizing: border-box;
}

.person-detail-banner-wrapper {
  display: flex;
  justify-content: flex-start;
  margin: -1em;
  position: relative;
  margin-left: 20.5em;
}

.person-detail-banner-wrapper .info {
  margin: 1em 2em;
}

.info a {
  display: inline-block;
}

.person-header-detail-image {
  position: absolute;
  bottom: 0;
  margin: 0;
  width: 20em;
}

.csu-page-person p {
  margin-bottom: 1em;
}

.csu-page-person p:last-child {
  margin-bottom: 0;
}

.antraege {
  width: 100%;
  border-collapse:separate;
 border-spacing:0 5px;
}

.antraege td, .antraege th {
  color: #707070;
}

.antraege th {
  border-bottom: 1px solid #707070;
  border-collapse:separate;
  border-spacing: 3px 5px;
}

.antraege td {
  border-bottom: 1px solid #707070;
  border-collapse:separate;
  border-spacing:5px 5px;
  padding: .5em;
}

.antraege tr {
  padding: .5em 0;
  vertical-align: middle;
}

.antraege .unterlagen, .antraege .status {
  text-align: right;
}

.antraege .unterlagen {
  padding-right: 1em;
}

.status span {
  display: inline-block;
  padding: .25em;
  min-width: 5em;
  text-align: left;
}

.offen {
  background-color: #ffdf58;
}

.behandelt {
  background-color: #c3ddf3;
}

.erledigt {
  background-color: #C5E1A5;
}

.unterlagen a {
  text-decoration: underline;
}

.antraege thead {
  text-align: left;
  border-bottom: 1px solid #000;
}

.antraege-liste a {
  font-family: P22;
}

.antrag-wrapper {
  display: flex;
  justify-content: space-between;
}

.antrag-details-wrapper {
  display: block;
  padding: 1em 3em;
  flex-basis: 40em;
  position: -webkit-sticky;
  position: sticky;
  top: 7em;
  align-self: flex-start;
  flex-wrap: wrap;
}

.antrag-details-wrapper h2 {
  margin-bottom: 1em;
}

.antrag-details-wrapper h3 {
  margin-top: .5em;
}

.antrag-details-bild {
  display: inline-block;
  max-width: 5em;
}

.steller-namen span {
  font-family: P22;
  color: #707070;
  font-size: 1.1em;
}

.steller-namen span a {
  font-family: P22;
  font-size: inherit;
}

.steller-namen span:after {
  content: ', ';
}

.steller-namen span:last-child:after {
  content: '';
}

.display-none {
  display: none;
}

.pagination-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2em;
  color: #0080C8;
}

.page-numbers {
  padding: .25em;
}

.stadtratskuriere {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.stadtratskurier {
  flex-basis: 35em;
  border: 1em solid #C3DDF3;
  margin: 1em;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.ausgabe {
  flex-basis: 10em;
  margin: 1em;
  flex-shrink: 0;
}

.ausgabe-content {
  margin: 1em;
  flex-basis: 21em;
}

.stadtratskurier li {
  margin:0;
  margin-left:1em;
}

.antrag-slider {
  display: flex;
  justify-content: center;
}

.antrag-year {
  display: block;
  padding: .5em 1em;
  color: #fff;
  background-color: #0080C8;
  margin: 0 .25em;
}

.sucheintrag {
  margin: 1em 0;
}

#searchform input {
  padding: .5em;
  border: solid 1px #0080C8;
  font-size: 1.1em;
}

#searchform input[type=submit]{
  color: #fff;
  background: #0080C8;
  font-family: P22M;
}

.suchen-liste {
  margin: 1em 0;
}

.map-detail {
  position: absolute;
  border-radius: 15px;
  border-top-left-radius: 0;
  background: #fff;
  border: 2px solid #0080C8;
  display: none;
  max-width: 10em;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
  box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
  overflow: hidden;
}

.map-detail-active {
  display: block;
}

.karte {
  position: relative;
}

.karte svg {
  width: 100%;
  max-width: 100%;
}

.karte p{

}

.map-detail p:first-child {
  display: block;
  background: #0080C8;
  padding: .5em;
  color: #fff;
}

.ansprech {
  font-family: P22M;
  padding: .5em;
}

.quelle {
  font-size: .5rem;
  color: #333;
}

.karte-text {
  position: absolute;
  right: 0;
  max-width: 30em;
  text-align: right;
}

@media only screen and (max-width : 1024px) {

  header {
    position: absolute;
  }

  .desktop-menu {
    display: none;
  }

  .mobile-menu {
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translateY(100%);
    color: #fff;
    background: #0080C8;
    -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
    font-family: P22;
    min-width: 12em;
  }

  .mob-menu {
    width: 100%;
  }

  .mob-menu a {
    font-family: P22;
  }

  .mob-menu .sub-menu {
    width: 90%;
    margin-left: auto;
    display: none;
  }

  .mob-menu .sub-menu a {
    font-size: 1em;
  }

  .mob-menu li {
    display: block;
  }

  .mob-menu > li {
    border-bottom: 1px solid #fff;
    padding: .5em 1em;
  }

  .mob-menu a {
    padding: .5em 0;
    display: block;
  }

  .mob-menu > li:last-child {
    border-bottom: 0;
  }

  .header-wrapper{
    padding: 0 2em;
  }

  .person-header-detail-text {
    background: #0080C8;
    padding: 1em 3em;
    margin: 0;
  }

  .person-header-detail-image {
    display: none;
  }

  .person-header-detail-image-mobile {
    display: block;
  }

  .person-header-detail-image-mobile img {
    margin-left: auto;
  }

  .person-detail-banner-wrapper {
    margin-left: 0;
    flex-wrap: wrap;
  }

  .navigation {
    display: block;
  }

  .footer-element {
    padding: 3em;
  }

}

@media only screen and (max-width : 850px) {
  .csu-page-image {
    display: block;
    float: none;
    margin: 1em auto;
  }

  .karte-text {
    position: relative;
    right: inherit;
    text-align: left;
  }
}

@media only screen and (max-width : 700px) {
  .person-detail {
    flex-wrap: wrap;
  }

  .person-detail-bild {
    width: 100%;
    height: 20em;
    flex-shrink: 1;
    background-position: center 15%;
  }

  .antrag-wrapper {
    flex-wrap: wrap;
  }

  .antrag-details-wrapper {
    padding: 1em 0;
  }

  .antraege {
    width: 100%;
    overflow-y: auto;
  }

  .antraege td, .antraege th {
    font-size: .5em;
  }

}
