:root {
  --lighter-brown: #e2d5ba;
  --light-brown: #cfba8e;
  --form-brown: #998766; /* Forms */
  --medium-brown:#594830;
  --dark-brown: #3d3121;
  --violett: #77384e;
  --dark-violett: #4f2534;

  --text-color: var(--dark-brown);
  --accent-1: var(--violett);
  --accent-2: var(--light-brown);
  --table-border-color: var(--text-color);

  --gutter: 2.625rem;
  --section-padding: 3.5rem;
}

*,*:before,*:after {
  box-sizing:border-box;
}
html,body {
  height:100%;
}
body {
  margin:0;
  padding:0;
  background:#fff;
}
body,table,input,textarea,button,select {
  font-family:'montserrat',arial,sans-serif;
  font-size:1.125rem;
  line-height:1.5em;
  font-weight:400;
  color: var(--text-color);
}
h1,h2,h3,h4,h5,h6,p,ol,ul,dl,table,form,fieldset,object {
  margin:0 0 1.3rem 0;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
  display: block;
}

h1,.h1 {
  font-size:3rem;
  line-height:1.3em;
  font-weight:400;
  text-transform:uppercase;
}
h2,.h2 {
  font-size:2.125rem;
  line-height:1.3;
  font-weight:200;
  text-transform:uppercase;
  color:#3d3121;
  margin-bottom: 1.8rem;
}
h3,.h3 {
  font-size:1rem;
  line-height:1.3em;
  font-weight:700;
  text-transform:uppercase;
  margin:0 0 .3rem 0;
}
h4,.h4,
h5,.h5,
h6,.h6 {
  font-size:1rem;
  line-height:1.3em;
  font-weight:bold;
  margin:0;
}
a:link {
  text-decoration:none;
  color:#77384e;
}
a:visited {
  /* color:#3d3121; */
  color:#77384e;
}
a:hover {
  text-decoration:underline;
}

strong {
  font-weight:700;
}
.sep {
  margin:0 .5em;
}
img {
  border:0;
  max-width:100%;
  height:auto;
}

table {
  border-spacing:0;
  border-collapse: collapse;
}
table th,
table td {
  padding:.3em 0;
  text-align:left;
  vertical-align:top;
  background:transparent;
  border:dotted var(--table-border-color);
  border-width:1px 0;
}
table th:not(:last-child),
table td:not(:last-child) {
  padding-right: 1.5em;
}
table th {
  font-weight:600;
  vertical-align:bottom;
}

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

#main ul:not([class]) {
  padding:0;
  list-style:none;
}
#main ul:not([class]) li {
  margin:0 0 0 .75em;
  padding:0;
  position:relative;
}
#main ul:not([class]) li::before {
  content:'\203a';
  position:absolute;
  left:-.75em;
  font-weight:700;
}

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

/* Grid
********************************/
.container {
  width:100%;
  margin:0 auto;
  padding:0 1rem;
}
.row {
  margin:0 -.3125rem;
}
@media only screen and (min-width : 768px) {
  .container {
    width:768px;
    margin:0 auto;
  }
}
@media only screen and (min-width : 992px) {
  .container {
    width:992px;
    margin:0 auto;
  }
}
@media only screen and (min-width : 1200px) {
  .container {
    width:1100px;
    margin:0 auto;
  }
}

/* Master
 * *****************************/
#header-wrapper {
  background-position:calc(50% - 70px) 0;
  background-size:auto 100%;
  background-repeat:no-repeat;
  padding:2.5rem 0 0 0;
  min-height:16rem;
  .container {
    position: relative;
  }
}
@media only screen and (max-width : 991px) {
  #header-wrapper {
    background-image: none !important;
  }
}
@media only screen and (min-width : 992px) {
  #header-wrapper {
    background-position:calc(50% - 35px) 0;
    height:23.125rem;
  }
}
@media only screen and (min-width : 1200px) {
  #header-wrapper {
    background-position:calc(50% - 15px) 0;
  }
}
#logo {
  margin:0 3.125rem 2rem 0;
  float:left;
}
#logo-20-jahre {
  position: absolute;
  right: 1rem;
  top: -2.5rem;
  display: none;
}
@media only screen and (min-width : 992px) {
  #logo-20-jahre {
    display: block;
  }
}

#nv-toggle {
  float:right;
}
#nv-toggle button {
  margin:0;
  padding:.5rem;
  border:0;
  background:transparent;
  width:auto;
}
#nv-toggle button:focus {
  outline:#4f2534 auto .125rem;
}
#nv-toggle button img {
  display:block;
  width:2rem;
  height:2rem;
}

#nv {
  float:left;
  display:none;
  text-transform:uppercase;
}
#nv ul {
  margin:0;
  padding:0;
  list-style:none;
}
#nv ul li {
  display:block;
  margin:0 1.75rem 0 0;
  padding:0;
  float:left;
  position:relative;
}
#nv ul li a {
  display:block;
  text-decoration:none;
  font-size:.875rem;
  color:#3d3121;
  border-top:solid .25rem #cfba8e;
  padding:.25rem 0;
  margin:0 0 .25rem 0;
  transition:border-color .3s ease;
}




@media only screen and (max-width : 767px) {
  #nv-mobile {
    display:none;
    clear:both;
    margin:0 -1rem 5.3rem -1rem;
  }
  #nv-mobile ul {
    margin:0;
    padding:0;
    list-style: none;
    text-transform:uppercase;
  }
  #nv-mobile ul li {
    margin:0;
  }
  #nv-mobile ul li a {
    display:block;
    background:#77384e;
    color:#fff;
    border:0;
    border-bottom:solid #fff 1px;
    margin:0;
    padding:.625rem 1rem;
    text-decoration:none;
  }
  #nv-mobile ul li.a1 a,
  #nv-mobile ul li.s1 a {
    background:#4f2534;
  }

  #nv-mobile ul ul {
    text-transform:none;
    display:none;
  }


}

@media only screen and (min-width : 768px) {
  #nv-toggle {
    display:none;
  }
  #nv-mobile {
    display:none !important;
  }
  #nv {
    display:block !important;
  }
  #nv ul li a:hover {
    border-color:#4f2534;
  }

  #nv ul li.a1 > a,
  #nv ul li.s1 > a {
    border-color:#4f2534;
  }
  /* 2nd level *******/
  #nv ul ul {
    display:none;
    position:absolute;
    left:0;
    top:100%;
    width:16.5rem;
    opacity:0;
    transition:opacity .2s ease;
  }
  #nv ul ul::before {
    content:'';
    display:block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 14px 0 0 12px;
    border-color: transparent transparent transparent #3d3121;
    position:absolute;
    left:0;
    top:-14px;
  }
  #nv ul li:hover > ul {
    display:block;
    opacity:1;
  }
  #nv ul ul li {
    margin:0 0 1px 0;
    float:none;
  }
  #nv ul ul li a {
    border:0;
    color:#fff;
    background:#3d3121;
    margin:0;
    padding:.25rem 1rem;
    transition:background .2s ease;
  }
  #nv ul ul li a:hover {
    background:#cfba8e;
  }
}

#main {
  position:relative;
}
#main-jiggy {
  background:#77384e;
  display:none;
}
@media only screen and (min-width : 768px) {
  #main-jiggy {
    display:block;
  }
}
@media only screen and (min-width : 992px) {
  #main-jiggy {
    background:transparent;
    position:absolute;
    left:0;
    right:0;
    top:-5rem;
  }
  #main-jiggy .container {
    position:relative;
  }
}

/* #jiggys {
  padding:6rem 0 0 0;
} */

/* #top-link {
  position:fixed;
  right:1.375rem;
  bottom:1.375rem;
}
#top-link a {
  display:block;
  font-size:3.75rem;
  text-decoration:none;
  color:#77384e;
  transition:color .2s ease;
}
#top-link a:hover {
  color:#4f2534;
}
@media only screen and (max-width : 767px) {
  #top-link {
    width:auto;
    margin:0;
    width:3rem;
    height:3rem;
    padding:0;
    background: #fff;
    border-radius: 100%;
  }
  #top-link a {
    color:#4f2534;
    position:relative;
    left:-.375rem;
    top:-.375rem;
  }
}
@media only screen and (min-width : 768px) {
  #top-link {
    position:relative;
    right:auto;
    bottom:auto;
  }
  #top-link a {
    position:absolute;
    right:1rem;
    top:2.09375rem;
    background: #fff;
    border-radius: 100%;
  }

} */

#footer-contact {
  background:#3d3121;
  color:#fff;
  padding:2rem 0;
}
#footer-contact h4 {
  font-size:2.125rem;
  line-height:1.3em;
  font-weight:200;
  margin:0 0 1em 0;
  text-transform:uppercase;
  color:#cfba8e;
}
#footer-contact a {
  color:#cfba8e;
}

#footer-map {
  height:20rem;
  background:#ccc;
}
#footer-meta {
  text-align:center;
  color: #cfba8e;
  font-size:.75rem;
  padding:3.5rem 0;
}
#footer-meta a {
  color: #cfba8e;
}
#footer-meta .social {
  margin:1.5rem 0 0 0;
}
#footer-meta .social a {
  font-size:3.75rem;
  text-decoration:none;
  display:inline-block;
  margin:0 .5rem;
  transition:color .2s ease;
}
#footer-meta .social a:hover {
  color:#3d3121;
}

#top-link {
  position: fixed;
  right:1em;
  bottom: 4rem;
  width: 3.75rem;
  height: 3.75rem;
  a {
    position: relative;
    display:block;
    font-size:3.75rem;
    text-decoration:none;
    color:#77384e;
    transform: translateY(-50%);
    transition:color .2s ease;
    border-radius: 50%;
    box-shadow: 2px 2px 5px -2px rgba(0,0,0,.3),2px 2px 12px -2px rgba(0,0,0,.2);
    &::after {
      content: '';
      background-color: #fff;
      width: 3rem;
      height: 3rem;
      position: absolute;
      z-index: -1;
      left: 50%;
      top: 50%;
      border-radius: 50%;
      transform: translate(-50%, -50%);
    }
  }
}
#top-link {
  a:hover {
    color:#4f2534;
  }
}