@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 400;
  src: local(""), url("/fonts/titillium-web-v15-latin-regular.woff2") format("woff2"), url("/fonts/titillium-web-v15-latin-regular.woff") format("woff");
}
@font-face {
  font-family: 'Titillium Web';
  font-style: italic;
  font-weight: 400;
  src: local(""), url("/fonts/titillium-web-v15-latin-italic.woff2") format("woff2"), url("/fonts/titillium-web-v15-latin-italic.woff") format("woff");
}
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 600;
  src: local(""), url("/fonts/titillium-web-v15-latin-600.woff2") format("woff2"), url("/fonts/titillium-web-v15-latin-600.woff") format("woff");
}

@media screen, projection {
  html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
  }

  *, *:before, *:after {
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit;
  }

  body {
    position: relative;
    min-height: 100vh;
    width: 64em;
    margin: 0 auto;
    padding: 0 20px;
    padding-left: 12px;
    padding-right: 12px;
    color: #555;
    font: 93.75%/1.5 "Titillium Web", "Helvetica Neue", sans-serif;
    background: #fff;
    overflow-x: hidden;
  }

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

  h1 {
    font-size: 125%;
    margin: 3em 0 1.5em;
  }
  main > h1:first-child {
    margin-top: 0;
  }

  h2 {
    font-size: 100%;
    margin: 0;
  }

  p {
    max-width: 52em;
  }

  ul {
    list-style: square;
  }

  figure {
    margin: 0 0 1.5em;
  }

  a {
    color: #568d33;
    text-decoration: none;
  }
  a:hover {
    color: #000;
  }
  a:link[href^="http:"]:after {
    content: " " url("/assets/out.gif");
  }
  a:visited[href^="http:"]:after {
    color: #999;
    content: "  \221A";
  }
  a[href$=".pdf"]:after {
    content: " " url("/assets/pdf.gif");
  }

  img {
    max-width: 100%;
    height: auto;
    border: 0;
    -ms-interpolation-mode: bicubic;
  }

  dt {
    float: left;
    min-width: 7em;
    padding: 0 1em 0 0;
    color: #666;
  }

  dd {
    padding: 0;
    margin: 0 0 0.375em 7em;
  }

  hr {
    max-width: 32em;
    height: 0;
    margin: 3em auto;
    border: 1px solid #d4e8c8;
  }

  /* */
  #top {
    position: relative;
    left: 50%;
    margin-left: -50vw;
    width: 100vw;
    padding: 100px 12px 10px;
    background: no-repeat #6db340;
    background-image: url("/assets/logo.png");
    background-image: -webkit-linear-gradient(transparent, transparent), url("/assets/logo.svg");
    background-image: linear-gradient(transparent, transparent), url("/assets/logo.svg");
    background-position: center 10px;
    background-size: 80px;
  }
  #top #logo {
    display: block;
    max-width: 100%;
    height: 32px;
    margin: 0 auto;
    text-indent: -999px;
    background: no-repeat;
    background-image: url("/assets/dr_buechner.png");
    background-image: -webkit-linear-gradient(transparent, transparent), url("/assets/dr_buechner.svg");
    background-image: linear-gradient(transparent, transparent), url("/assets/dr_buechner.svg");
    background-position: center;
    background-size: contain;
  }
  #top p {
    margin: 0.75em 0 0;
    text-align: center;
    line-height: 1;
  }
  #top p a {
    display: inline-block;
    overflow: hidden;
    width: 36px;
    height: 36px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36px' height='72px' viewBox='0 0 36 72'%3E%3Cg style='fill:%23fff'%3E%3Cpath d='M24.1,56.6c-1.7,1.7-1.7,3.5-3.5,3.5c-1.7,0-3.5-1.7-5.2-3.5c-1.7-1.7-3.5-3.5-3.5-5.2 c0-1.7,1.7-1.7,3.5-3.5c1.7-1.7-3.5-6.9-5.2-6.9C8.5,41,5,46.2,5,46.2c0,3.5,3.6,10.5,6.9,13.9c3.4,3.4,10.4,6.9,13.9,6.9 c0,0,5.2-3.5,5.2-5.2C31,60.1,25.8,54.9,24.1,56.6z'/%3E%3Cpath d='M3,6.8v22.5h30V6.8H3z M5.7,8.6h24.7L18,21L5.7,8.6z M4.9,10.5l7.5,7.5l-7.5,7.5V10.5z M31.1,10.5v15L23.6,18L31.1,10.5z M13.7,19.3l4.3,4.3l4.3-4.3l8,8H5.7L13.7,19.3z'/%3E%3C/g%3E%3C/svg%3E") no-repeat center -36px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 5px;
  }
  #top p a:before {
    content: '';
    display: block;
    width: 0;
    height: 150%;
  }
  #top p a[href^="tel"] {
    background-position: center -36px;
  }
  #top p a[href^="mailto"] {
    background-position: center top;
  }
  #top p a + a {
    margin-left: 1em;
  }

  header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  header #banner {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }

  #banner {
    min-width: 100%;
    position: relative;
    margin-left: -12px;
    margin-right: -12px;
    background: no-repeat 10% center;
    background-size: cover;
    outline: 1px solid #f0f7ec;
  }
  #banner:before {
    content: '';
    display: block;
    height: 0;
    width: 100%;
    padding-bottom: 35.95%;
  }

  #navbar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 2.75;
  }

  #info {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    overflow: hidden;
    padding-left: 4.5em;
    white-space: nowrap;
    text-align: center;
    font-weight: normal;
    text-transform: lowercase;
  }

  #skip {
    width: 5em;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    text-align: right;
  }
  #skip:before {
    content: 'Mehr';
    display: inline-block;
    padding-right: .8em;
    color: #6db340;
    font-size: 87.5%;
    text-transform: lowercase;
    line-height: 3.1428571429em;
  }

  .icon, .icon:before, .icon:after {
    height: 4px;
    width: 28px;
    background: #6db340;
    border-radius: 1px;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out;
  }

  .icon {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin-top: -.2em;
    -webkit-transition-duration: .1s;
            transition-duration: .1s;
    -webkit-transition-delay: 0;
            transition-delay: 0;
    -webkit-transition-property: background;
            transition-property: background;
  }
  .icon:before, .icon:after {
    content: '';
    position: absolute;
    left: 0;
    -webkit-transition-duration: .1s, .1s;
            transition-duration: .1s, .1s;
    -webkit-transition-delay: .1s, 0;
            transition-delay: .1s, 0;
  }
  .icon:before {
    top: -9px;
    -webkit-transition-property: top, -webkit-transform;
            transition-property: top, transform;
  }
  .icon:after {
    bottom: -9px;
    -webkit-transition-property: bottom, -webkit-transform;
            transition-property: bottom, transform;
  }

  .nav-open #menu {
    display: block;
    max-height: 40em;
  }
  .nav-open #info {
    opacity: .4;
  }
  .nav-open #skip:before {
    opacity: .4;
  }
  .nav-open .icon {
    background-color: transparent;
  }
  .nav-open .icon:before, .nav-open .icon:after {
    -webkit-transition-delay: 0, .1s;
            transition-delay: 0, .1s;
  }
  .nav-open .icon:before {
    top: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .nav-open .icon:after {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .nav-open #home {
    opacity: .1;
  }

  #menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
    max-height: 0;
    -webkit-transition: max-height .4s;
            transition: max-height .4s;
  }
  #menu a, #menu em {
    display: block;
    padding: 0.5em 20px;
    color: #6db340;
    font-family: "Titillium Web", "Helvetica Neue", sans-serif;
    font-style: normal;
    line-height: 1;
    text-transform: lowercase;
    background-color: #fff;
    border: none;
    border-left: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  #menu a:hover {
    color: #555;
    background: #f0f7ec;
    border-left-color: #6db340;
    border-right-color: #6db340;
  }
  #menu .current a {
    color: #555;
    background-color: #f5f5f5;
    border-left-color: #ddd;
    border-right-color: #ddd;
  }
  #menu .active a {
    color: #555;
    background-color: #f5f5f5;
  }
  #menu li + li {
    border-top: 1px solid #f0f7ec;
  }
  #menu > li:last-child {
    border-bottom: 0.75em solid transparent;
  }

  #submenu {
    margin: 0;
    padding: .25em 0;
    text-align: center;
  }
  #submenu a {
    display: inline-block;
    margin: 0 .25em;
    color: #666;
    border-color: rgba(109, 179, 64, 0.5);
  }
  #submenu a.current {
    color: #6db340;
    font-weight: bold;
    border-color: transparent;
  }

  main {
    min-height: 400px;
    margin-top: 2.25em;
    background: url("/assets/bg.svg") no-repeat center top #fff;
    background-size: contain;
  }

  main a {
    border-bottom: 1px solid #6db340;
    -webkit-transition: color .2s, border-color .2s, background .2s;
            transition: color .2s, border-color .2s, background .2s;
  }
  main a:hover {
    background: #f0f7ec;
    border-bottom-color: #000;
  }

  .team {
    margin: 0 0 3em;
  }
  .team:first-child figure {
    display: none;
  }
  .team h1 {
    margin-top: 0;
  }

  .js .team {
    display: none;
  }
  .js .team figure {
    display: none;
  }
  .js .team.current {
    display: block;
  }

  footer {
    margin: 3em 0 0;
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 12px;
    padding-right: 12px;
    text-align: center;
    text-transform: lowercase;
    border-top: 1px solid #f0f7ec;
  }
  footer address {
    color: #6db340;
    font-family: "Titillium Web", "Helvetica Neue", sans-serif;
    font-style: normal;
  }
  footer a {
    border: none;
  }
  footer p {
    margin: 0;
  }
  footer p a {
    color: #555;
  }

  /* */
  .slideshow {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .slideshow > div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    background: no-repeat center;
    background-size: cover;
    -webkit-transition: opacity 1.2s ease-in-out;
            transition: opacity 1.2s ease-in-out;
  }
  .slideshow .current {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .slideshow ol {
    position: absolute;
    z-index: 100;
    bottom: 6px;
    right: 6px;
    margin: 0;
    padding: 0;
    line-height: 1;
  }
  .slideshow li {
    cursor: pointer;
    display: inline-block;
    width: 18px;
    height: 12px;
    padding: 0;
    margin: 0 6px;
    background: #999;
    background: rgba(240, 247, 236, 0.5);
    -webkit-transition: background .4s ease-in-out;
            transition: background .4s ease-in-out;
  }
  .slideshow li:hover {
    background: #fff;
  }
  .slideshow .active {
    background: #fff;
  }

  .label {
    float: left;
    width: 4em;
  }

  #hours {
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 1.5em 0 3em;
  }
  #hours dl {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    min-width: 6em;
  }
  #hours dl {
    padding: 0 0.5em 0 1em;
    border-left: 3px solid #6db340;
  }
  #hours dl:first-child {
    border: none;
    padding-left: 0;
  }
  #hours dt, #hours dd {
    display: block;
    float: none;
    margin: 0;
  }
  #hours dt {
    font-weight: bold;
    border-bottom: 1px solid #f0f7ec;
  }
  #hours dd {
    white-space: nowrap;
  }
  #hours hr {
    display: none;
  }

  .outline {
    border: 1px solid #ababab;
    border-top-color: #707070;
    border-bottom-color: #cecece;
    background: #fff;
    background: rgba(255, 255, 255, 0.7);
  }

  .no-flex header {
    display: block;
    overflow: hidden;
  }
  .no-flex header nav {
    display: block !important;
    float: left;
    width: 20%;
  }
  .no-flex header #menu {
    max-height: none;
    width: 100%;
  }
  .no-flex header #banner {
    display: block;
    float: left;
    width: 80%;
    min-width: 0;
    margin: 0;
  }
  .no-flex #navbar {
    display: none;
  }
  .no-flex #submenu {
    padding-left: 0;
    text-align: left;
  }
}
@media only screen {
  body {
    width: auto;
    max-width: 65.565rem;
  }
}
@media only screen and (max-width: 19.8rem) {
  #skip:before {
    content: none;
  }
}
@media only screen and (min-width: 39em) {
  #top {
    margin-bottom: 1.5em;
    padding: 100px 12px 20px;
    background-position: 10px center;
    background-size: auto;
  }
  #top p {
    position: relative;
    z-index: 1;
    float: right;
    text-align: right;
    margin-top: -36px;
  }

  header {
    margin-left: -12px;
    margin-right: -12px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  header nav {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 20%;
            flex: 1 0 20%;
  }

  #banner {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 80%;
            flex: 1 0 80%;
    min-width: auto;
    margin-left: 0;
    margin-right: 0;
  }
  #banner:before {
    content: '';
    display: block;
    height: 0;
    width: 100%;
    padding-bottom: 32%;
  }

  #navbar {
    display: none;
  }

  #menu {
    max-height: none;
    overflow: visible;
  }
  #menu a, #menu em {
    padding: 0.5em 10px;
    border-right-width: 0;
  }
  #menu li + li {
    border-top-width: 0;
  }
  #menu > li:last-child {
    border-bottom: 0;
  }

  .nav-open #menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (min-width: 50em) {
  body {
    padding-bottom: 8em;
  }

  #top {
    padding-left: calc(20% + 20px);
  }
  #top #logo {
    background-position: left;
  }

  header {
    margin-left: 0;
    margin-right: 0;
  }

  .banner:before {
    padding-bottom: 30%;
  }

  main {
    padding-left: 20%;
  }

  #submenu {
    padding-left: 20%;
  }

  footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    height: 4.5em;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: left;
  }
  footer address {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  footer p {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
  }

  .no-flex footer {
    text-align: center;
  }
}
@media only screen and (min-width: 65.565rem) {
  #top {
    padding-left: calc(50vw - 32.7825rem + 20% + 12px);
    padding-right: calc(50vw - 32.7825rem + 12px);
    background-position: calc(50vw - 32.7825rem) center;
  }
}
@media \0screen\,screen\9 {
  #top {
    margin-left: -50%;
    padding-top: 140px;
    padding-bottom: 0;
    width: 100%;
  }
}
/* IE 10+ */
@media print {
  * {
    background-color: transparent !important;
    color: #000 !important;
    text-shadow: none !important;
    -webkit-filter: none !important;
            filter: none !important;
    -ms-filter: none !important;
  }

  @page {
    margin: 1cm;
  }
  body {
    font: 11pt/1.2 'Helvetica Neue',sans-serif;
  }

  article {
    page-break-before: always;
  }

  h1 {
    font-size: 140%;
  }

  h2 {
    font-size: 120%;
    margin: 0 0 1em;
  }

  h3, h4, h5, h6 {
    font-size: 100%;
    margin: 0;
  }

  h2, h3 {
    page-break-after: avoid;
  }

  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }

  p {
    margin: 0 0 1em;
  }

  ul, ol {
    margin: 1em 0;
  }

  li {
    margin: 0 0 0 1em;
    padding: 0;
  }

  a, a:visited {
    text-decoration: underline;
  }

  img {
    max-width: 100% !important;
  }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  hr {
    margin: 2em 0;
    border: 0;
    border-bottom: 1px solid #000;
  }

  table {
    page-break-inside: auto;
  }

  tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }

  thead {
    display: table-header-group;
  }

  tfoot {
    display: table-footer-group;
  }

  /*
  #divs {
  display : none;
  }
  */
}
