*,*:before,*:after {
  box-sizing:border-box;
}
:root {
  --orange:#f0b423;
  --main:#005050;
  --main-light:#347273;
  --main-lighter:#bfcece;
  --footer-dark:#324146;
  --footer-light:#5b676b;
  --gray-light:#f1efed;
}

html,body {
  height:100%;
}
body {
  margin:0;
  padding:0;
  background:#fff;
}
body,table,input,textarea,button,select {
  font-family:'Roboto','HelveticaNeue-Light','Helvetica Neue Light','Helvetica Neue',Arial,Helvetica,sans-serif;
  font-size:1rem;
  line-height:1.4;
  font-weight:400;
  color:#000;
}
h1,h2,h3,h4,h5,h6,p,ol,ul,dl,table,form,fieldset,object {
  margin:0 0 1.5rem 0;
}
:last-child {
  margin-bottom:0;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
  display: block;
}
audio,canvas,video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

h1,.h1 {
  font-size:1.625rem;
  line-height:1.25;
  font-weight:700;
  color:var(--orange);
}
h2,.h2 {
  font-size:1.125rem;
  line-height:1.3;
  font-weight:700;
}
h3,.h3 {
  font-size:1rem;
  line-height:1.3;
  font-weight:700;
  margin:0 0 .375rem 0;
}
h4,.h4,
h5,.h5,
h6,.h6 {
  font-size:1rem;
  line-height:1.3em;
  font-weight:bold;
  margin:0;
}
.subheadline {
  font-weight:500;
}

a:link {
  text-decoration:none;
  color:var(--main);
}
a:visited {
  color:var(--main);
}
a:hover {
  text-decoration:underline;
}
a:active {}

img {
  border:0;
  max-width:100%;
  height:auto;
}

table {
  border-spacing:0;
  border-collapse: collapse;
}
table th,
table td {
  padding:.5em;
  text-align:left;
  vertical-align:top;
  background:#fff;
  border:solid var(--gray-light) 1px;
}
table th {
  font-weight:600;
  vertical-align:bottom;
  background:var(--main);
  color:#fff;
}

main ul {
  margin-left:0;
  padding:0;
  list-style:none;
}
main ul li {
  margin:0;
  padding:0 0 0 1.5rem;
  position:relative;
}
main ul li::before {
  content:'-';
  display:inline-block;
  position:absolute;
  left:.25rem;
}
ul li p {
  margin:0 0 .5em 0 !important;
}

figure {
  margin:0 0 1.3em 0;
  padding:0;
}
figure img {
  display:block;
}
figure figcaption {
  background:#fff;
  margin:0;
  padding:.5em 0;
  font-style:italic;
  font-size:.8em;
}
figure figcaption:empty {
  display:none;
}
.sep {
  margin-left:.3em;
  margin-right:.3em;
}

.video-container {
  position: relative;
	padding-bottom: 56.25%; /* 16:9 */
  /*padding-bottom: 42.86%;*/
  height:0;
  margin:0 0 1.5rem 0;
  background:var(--gray-light);
}
.video-container video,
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* clearfix
********************************/
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  zoom: 1; /* ie 6/7 */
}

/* Grid
********************************/

.container {
  padding:0 1rem;
  margin:0 auto;
}
@media only screen and (min-width : 600px) {
  .container {
    width:580px;
  }
}
@media only screen and (min-width : 768px) {
  .container {
    width:740px;
  }
}
@media only screen and (min-width : 900px) {
  .container {
    width:884px;
  }
}
@media only screen and (min-width : 1200px) {
  html {
    /*font-size:20px;*/
  }
  .container {
    width:1140px;
    width:1184px;
  }
}
.row {
  display:flex;
  flex-wrap:wrap;
  margin:0 -1rem;
}
.row .col {
  padding:0 1rem;
}
/* Seitenelemente (Master)
********************************/
#header {
  position:relative;
}
#header .header-top {
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
  align-items: center;
  padding:1.5rem 0;
}
#logo {
  order:2;
  display:flex;
  align-items: center;
  justify-content: flex-start;
}
#logo a {
  display:block;
  width:12.5rem;
}
#logo a img {
  display:block;
  width:50%;
  height:auto;
}

#nv-toggle {
  order:2;
}
#nv-toggle button {
  padding:.5rem;
  margin:0;
  border:0;
  background:transparent;
}
#nv-toggle button svg {
  width:2rem;
  height:2rem;
  fill:var(--main);
  display:block;
}

#header .nv-meta {
  font-size:.813rem;
  display:flex;
  flex-direction:column;
  justify-content: flex-end;
  flex-wrap:wrap;
  order:1;
  flex:0 0 100%;
  display:none;
}
@media only screen and (max-width : 600px) {
  #nv-mobile .nv-meta > .container {
    margin:0;
  }
}
#header .nv-meta .site-tools {
  display:flex;
  justify-content: flex-end;
  flex:0 0 100%;
  padding-bottom:.75rem;
  margin-bottom:.75rem;
  border-bottom:solid var(--gray-light) 1px;
}
#header .nv-meta .site-tools ul {
  margin:0 .75rem 0 0;
  padding:0;
  list-style:none;
  border-right:solid var(--gray-light) 1px;
  display:flex;
}
#header .nv-meta .site-tools ul:last-child {
  margin-right:0;
  border-right:0;
}
#header .nv-meta .site-tools ul li {
  margin:0 .75rem 0 0;
  padding:0;
}

#header .nv-meta .nv-icons {
  flex:0 0 100%;
  justify-content: space-between;
  margin:0;
  padding:0;
  list-style: none;
  display:flex;
  justify-content:space-between;
}
#header .nv-icons li a {
  display:block;
  text-decoration:none;
  color:#8a8a8a;
  text-align:center;
  font-size:.8125rem;
  line-height:1.3125rem;
  width:4.5rem;
  transition:color .2s ease;
}
#header .nv-icons li a::before {
  font: normal normal normal 14px/1 FontAwesome;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  content:'\f121';
  width: 3rem;
  height: 3rem;
  font-size: 2em;
  background:#ecf0f1;
  color: #475d64;
  display: block;
  margin: 0 auto;
  margin-bottom: .625rem;
  border-radius: 50%;
  vertical-align: text-top !important;
  line-height: 1.8;
  transition:color .2s ease, background .2s ease;
}

#header .nv-icons li a:hover {
  color:var(--main);
  font-weight:700;
}
#header .nv-icons li a:hover::before {
  background:var(--main);
  color:#fff;
}

#header .nv-icons li.start a::before {
  content:'\f015';
}
#header .nv-icons li.mediathek a::before {
  content:'\f008';
}
#header .nv-icons li.stadtplaene a::before {
  content:'\f278';
}
#header .nv-icons li.webcam a::before {
  content:'\f06e';
}
#header .nv-icons li.events a::before {
  content:'\f133';
}
#header .nv-icons li.suche a::before {
  content:'\f002';
}


#header .nv-meta ul:last-child li:last-child {
  margin-right:0;
}
#header .nv-meta ul.nv-lang li img {
  height:1.25rem;
  width:auto;
  display:block;
}
[lang=en] ul.nv-lang [lang=de] img {
  filter:grayscale(1) opacity(.5);
}
[lang=de] ul.nv-lang [lang=en] img {
  filter:grayscale(1) opacity(.5);
}

header .header-banner {
  margin:0 0 1rem 1.5rem;
  display:none;
}

#nv-mobile {
  background:var(--main);
  color:#fff;
  display:none;
}
#nv-mobile a {
  color:#fff;
}
#nv-mobile .nv-meta {
  display:flex;
}
#nv-mobile .site-tools {
  background:#008383;
  padding:.475rem 1rem;
  margin:0 0 1rem 0;
}
#nv-mobile .nv-icons {
  display:flex;
}
#nv-mobile .nv-icons li a {
  color:#ecf0f1;
}
#nv-mobile .nv-icons li a::before {
  background:#ecf0f1;
}
#nv-mobile .nv-icons li a:hover {
  color:#ecf0f1;
  font-weight:400;
}
#nv-mobile .nv-icons li a:hover::before {
  background:#ecf0f1;
  color:#475d64;
}

#nv-mobile .nv-main {
  padding:1.5rem 0;
  font-weight:700;
}
#nv-mobile .nv-main ul {
  margin:0;
  padding:0;
  list-style:none;
}
#nv-mobile .nv-main ul li {
  margin:0;
  padding:0;
}
#nv-mobile .nv-main ul li a {
  display:block;
  padding:.375rem 1.25rem .375rem 0;
  text-decoration:none;
}
#nv-mobile .nv-main li.a1 a {
  color:var(--orange);
}
#nv-mobile .nv-main li.a1 a::before {
  color:var(--orange);
}

#nv-mobile .nv-main ul ul {
  font-weight:400;
  margin:0 0 1rem 0;
}
#nv-mobile .nv-main ul ul li a {
  font-weight:400;
  padding:.375rem 1.25rem .375rem 1.5rem;
  text-decoration: none;
  border-top:solid #fff 1px;
}
#nv-mobile .nv-main ul ul li a::before {
  content:'\f0da';
  margin-left:-.875rem;
  width:.875rem;
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#nv {
  order:3;
  flex:0 0 100%;
  display:none;
  font-size:1.125rem;
}
#nv ul {
  margin:0;
  padding:0;
  list-style: none;
}
#nv ul li {
  margin:0;
  padding:0;
}
#nv ul li a {
  display:block;
  padding:.5rem .75rem;
  font-weight:700;
  text-decoration: none;
}
#nv ul li a:hover {
  color:var(--orange);
}

#nv ul li.a1 > a,
#nv ul li.s1 > a {
  color:var(--orange);
}

#banner > .container {
  width:100%;
  max-width:1184px;
  padding:0;
}
#banner .banner-inner {
  border-top:solid var(--main) 4px;
  height:50vh;
  max-height:34rem;
  height:34.6875rem;
  max-height:34.6875rem;
  background:var(--footer-light);
  position:relative;
}
#banner .banner-image {
  background-size:cover;
  background-position:50% 50%;
  background-repeat:no-repeat;
  height:100%;
}
#banner .logo-lutherhochzeit {
  position:absolute;
  z-index:1090;
  right:4rem;
  top:2rem;
  max-width:30%;
}
#banner .logo-lutherhochzeit img {
  width:100%;
  height:auto;
}


#main-container {
  padding-top:3rem;
  padding-bottom:3rem;
}

.page-tools {
  border-bottom:solid var(--gray-light) 1px;
  margin-bottom:1.5rem;
  font-size:.875rem;
  display:flex;
  justify-content:space-between;
}
.page-tools .path {
  margin:0 0 .75rem 0;
}
.page-tools .page-print {
  margin:0 0 .75rem 0;
  display:none;
}
.page-tools .page-print a {
  color:#000;
}

.jiggy-nv {
  display:none;
}

#footer h4 {
  margin-bottom:.438rem;
}
#footer p {
  margin-bottom:.438rem;
}
#footer a {
  color:#fff;
  text-decoration:none;
}
#footer .footer-top {
  padding:2.5rem 0;
  background:var(--footer-dark);
  color:#fff;
  border-top:solid var(--main-light) 5px;
}
#footer .col.logo {
  flex:0 0 100%;
}
#footer .col.contact {
  flex:0 0 100%;
}
#footer .col.social {
  flex:0 0 100%;
}

#footer .footer-bottom {
  padding:1.25rem 0;
  background:var(--footer-light);
  color:#fff;
  border-top:solid #fff 3px;
}
#footer .footer-bottom .row {
  justify-content: space-between;
}
#footer .footer-bottom .nv-meta a:not(:last-child) {
  margin-right:1.5rem;
}

#footer .footer-top .col:not(:last-child) {
  margin-bottom:1rem;
}
#footer ul.social-logos {
  margin:0 -.5rem;
  padding:0;
  list-style:none;
  display:flex;
}
#footer ul.social-logos li {
  margin:0;
  padding:0 .5rem;
}
#footer ul.social-logos li .fa {
  font-size:1.3rem;
}

@media only screen and (max-width : 767px) {
  #nv {
    margin:0 -1rem;
  }
  #nv ul {}
  #nv ul li {
    border-bottom:solid var(--main-light) 1px;
  }
  #nv ul li a {
    display:block;
    background:var(--main);
    color:#fff;
    padding:.5rem 1rem;
  }
  #nv ul li.s1 > a {
    color:#fff;
  }
  #nv ul ul li {
    border:0;
  }
  #nv ul ul li a {
    font-weight:400;
    padding-left:2.25rem;
  }
  #nv ul ul li:last-child a {
    border-bottom:0;
  }
  #nv ul ul li a::before {
    content:'\f0da';
    margin-left:-.875rem;
    width:.875rem;
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@media only screen and (min-width : 768px) {
  #footer .col.logo {
    flex:0 0 50%;
  }
  #footer .col.contact {
    flex:0 0 50%;
  }
}

@media only screen and (min-width : 992px) {
  #header {
    padding-bottom:0;
  }
  #logo {
    flex:0 0 100%;
    order:2;
    margin-bottom:1.5rem;
  }
  #logo a {
    width:25rem;
  }
  #nv-toggle {
    display:none;
  }
  #header .nv-meta {
    display:flex;
    flex:0 0 100%;
    order:1;
  }
  #nv {
    display:block !important;
    width:80%;
  }
  #nv ul {
    display:flex;
    align-items: flex-start;
    justify-content:space-between;
  }
  #nv ul li {
    flex:0 0 auto;
    position:relative;
  }

  #nv ul ul {
    display:none;
    position:absolute;
    left:-1rem;
    top:100%;
    z-index:1020;
    background:#fff;
    padding:0 1rem 1rem 1rem;
  }
  #nv ul ul li {
    white-space:nowrap;
  }
  #nv ul ul li a {
    font-size:.875rem;
    font-weight:400;
    color:#000;
    border-top:solid var(--gray-light) 1px;
    padding:.375rem 1.25rem .375rem 2.25rem;
    padding:.375rem 1.25rem .375rem 1.75rem;
  }
  #nv ul ul li a::before {
    content:'\f0da';
    margin-left:-.875rem;
    width:.875rem;
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  #nv ul ul li a:hover {
    background:var(--main);
    color:#fff;
  }

  #nv ul li:hover > ul {
    display:block;
  }
}

@media only screen and (min-width : 992px) {
  #logo {
    order:1;
    flex:0 0 60%;
    margin-top:1.975rem;
  }
  #header .nv-meta {
    margin-left:auto;
    flex:0 0 40%;
    order:2;
    align-self: flex-start;
  }
  #header .nv-meta .nv-icons {

  }
  header .header-banner {
    display:block;
    order:3;
  }
  #main-container > .container {
    display:flex;
    justify-content: space-between;
  }
  #main {
    flex:0 0 60%;
  }
  .page-tools .page-print {
    display:block;
  }
  #rightbar {
    flex:0 0 30%;
  }
  .jiggy-nv {
    display:block;
  }
  #footer .col.logo {
    flex:0 0 40%;
    max-width:40%;
  }
  #footer .col.contact {
    flex:0 0 40%;
  }
  #footer .col.social {
    flex:0 0 20%;
  }
}
@media only screen and (min-width : 1140px) {
  #banner > .container {
    padding:0;
  }
  #banner .banner-inner {
    height:60vh;
  }
  #nv {
    width:70%;
  }
}



/* Lutherhochzeit, Overrides
 * **************************************/
#header .header-top {
  flex-wrap:nowrap;
}
#logo a {
  width:auto;
  margin-right:1rem;
}
#logo a img {
  width:auto;
  height:auto;
  max-height:2.5rem;
}
@media only screen and (min-width: 992px) {
  #logo {
    flex:0 0 66.6666%;
  }
  #logo a {
    margin:0;
    flex:0 0 50%;
    display:flex;
  }
  #logo a img {
    max-height:6rem;
  }
  #logo a.logo-wittenberg {}
  #logo a.logo-lutherhochzeit {
    justify-content: center;
  }
  #logo a.logo-lutherhochzeit img {
    max-height:6rem;
  }
  #header .nv-meta {
      flex: 0 0 33.3333%;
  }
  #header .nv-meta .nv-icons {
    justify-content: flex-end;
  }
}

@media only screen and (min-width: 1200px) {
  #logo a.logo-lutherhochzeit img {
    max-height:8rem;
  }
}