@keyframes pulse {
  0% {
    -moz-box-shadow: 0 0 0 0 rgba(8, 221, 97, 0.3);
    box-shadow: 0 0 0 0 rgba(8, 221, 97, 0.3);
  }
  70% {
    -moz-box-shadow: 0 0 0 10px rgba(8, 221, 97, 0);
    box-shadow: 0 0 0 10px rgba(8, 221, 97, 0);
  }
  100% {
    -moz-box-shadow: 0 0 0 0 rgba(8, 221, 97, 0);
    box-shadow: 0 0 0 0 rgba(8, 221, 97, 0);
  }
}
@font-face {
  font-family: "museo-sans";
  src: url("../fonts/museosans_100_italic-webfont.eot");
  src: url("../fonts/museosans_100_italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/museosans_100_italic-webfont.woff2") format("woff2"), url("../fonts/museosans_100_italic-webfont.woff") format("woff"), url("../fonts/museosans_100_italic-webfont.ttf") format("truetype"), url("../fonts/museosans_100_italic-webfont.svg#museo_sans_100italic") format("svg");
  font-display: auto;
  font-style: italic;
  font-weight: 100;
}
@font-face {
  font-family: "museo-sans";
  src: url("../fonts/museosans_100-webfont.eot");
  src: url("../fonts/museosans_100-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/museosans_100-webfont.woff2") format("woff2"), url("../fonts/museosans_100-webfont.woff") format("woff"), url("../fonts/museosans_100-webfont.ttf") format("truetype"), url("../fonts/museosans_100-webfont.svg#museo_sans_100regular") format("svg");
  font-display: auto;
  font-style: normal;
  font-weight: 100;
}
@font-face {
  font-family: "museo-sans";
  src: url("../fonts/museosans_300-webfont.eot");
  src: url("../fonts/museosans_300-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/museosans_300-webfont.woff2") format("woff2"), url("../fonts/museosans_300-webfont.woff") format("woff"), url("../fonts/museosans_300-webfont.ttf") format("truetype"), url("../fonts/museosans_300-webfont.svg#museo_sans_300regular") format("svg");
  font-display: auto;
  font-style: normal;
  font-weight: 300;
}
@font-face {
  font-family: "museo-sans";
  src: url("../fonts/museosans_500-webfont.eot");
  src: url("../fonts/museosans_500-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/museosans_500-webfont.woff2") format("woff2"), url("../fonts/museosans_500-webfont.woff") format("woff"), url("../fonts/museosans_500-webfont.ttf") format("truetype"), url("../fonts/museosans_500-webfont.svg#museo_sans_500regular") format("svg");
  font-display: auto;
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "museo-sans";
  src: url("../fonts/museosans_700-webfont.eot");
  src: url("../fonts/museosans_700-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/museosans_700-webfont.woff2") format("woff2"), url("../fonts/museosans_700-webfont.woff") format("woff"), url("../fonts/museosans_700-webfont.ttf") format("truetype"), url("../fonts/museosans_700-webfont.svg#museo_sans_700regular") format("svg");
  font-display: auto;
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: "museo-sans";
  src: url("../fonts/museosans_900-webfont.eot");
  src: url("../fonts/museosans_900-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/museosans_900-webfont.woff2") format("woff2"), url("../fonts/museosans_900-webfont.woff") format("woff"), url("../fonts/museosans_900-webfont.ttf") format("truetype"), url("../fonts/museosans_900-webfont.svg#museo_sans_900regular") format("svg");
  font-display: auto;
  font-style: normal;
  font-weight: 900;
}
html {
  font-family: "museo-sans";
  font-size: 16px;
  text-rendering: geometricPrecision;
}

.button, .author .author-portrait, .author .author-meta, #header #menu-bar .menu-list a,
#header #menu-bar .menu-list a:visited, .site-logo .go-icon, .meta a,
.meta a:visited, .breadcrumb a,
.breadcrumb a:visited {
  transition: all 300ms ease-out;
}
.button:hover, .author .author-portrait:hover, .author .author-meta:hover, #header #menu-bar .menu-list a:hover, .site-logo .go-icon:hover, .meta a:hover, .breadcrumb a:hover {
  transition: none;
}

.breadcrumb {
  font-size: var(--font_xs);
  font-weight: 700;
  line-height: 1.5;
}
.breadcrumb .current {
  font-weight: 300;
}
.breadcrumb .separator {
  color: #3ac6e9;
}

.card .card-meta .kicker {
  font-size: var(--font_sm);
  font-weight: 700;
  display: block;
}

.card .card-meta .title, .search-form .search-field::placeholder, .search-form .search-field {
  font-weight: 700;
  font-size: var(--font_l);
  line-height: 1.25;
  display: block;
}

.card .card-meta .lead {
  font-weight: 300;
  display: block;
  margin-bottom: 12px;
  font-size: var(--font_l);
  font-weight: 100;
  line-height: 1.5;
}

.opticians .author-testimonial {
  font-size: var(--font_l);
  font-weight: 100;
  line-height: 1.25;
}

.meta, .author .author-meta {
  font-size: var(--font_xs);
  font-weight: 300;
  line-height: 1.5;
}

.card.service-teaser .card-content .service-meta {
  font-size: var(--font_s);
  font-weight: 300;
  line-height: 1.5;
}

.meta-title {
  font-size: var(--font_m);
  font-weight: 700;
}

.meta-subtitle {
  font-size: var(--font_sm);
  font-weight: 700;
}

.meta a,
.meta a:visited, .breadcrumb a,
.breadcrumb a:visited {
  text-decoration: none;
  border-bottom: 1px solid #13476C;
}
.meta a:hover, .breadcrumb a:hover {
  color: #3ac6e9;
  border-bottom-color: #3ac6e9;
}

strong {
  font-weight: 500;
}

em {
  font-style: italic;
}

:root {
  --font_xl: 3rem;
  --font_lx: 2.5rem;
  --font_l: 1.7rem;
  --font_mml: 1.4rem;
  --font_ml: 1.25rem;
  --font_m: 1.375rem;
  --font_sm: 1rem;
  --font_s: 0.875rem;
  --font_xs: 0.75rem;
}

@media screen and (max-width: 1280px) {
  html {
    font-size: 15px;
  }
}
@media screen and (max-width: 760px) {
  html {
    font-size: 13px;
  }
  :root {
    --font_s: 0.9rem;
    --font_xs: 0.9rem;
  }
}
@keyframes pulse {
  0% {
    -moz-box-shadow: 0 0 0 0 rgba(8, 221, 97, 0.3);
    box-shadow: 0 0 0 0 rgba(8, 221, 97, 0.3);
  }
  70% {
    -moz-box-shadow: 0 0 0 10px rgba(8, 221, 97, 0);
    box-shadow: 0 0 0 10px rgba(8, 221, 97, 0);
  }
  100% {
    -moz-box-shadow: 0 0 0 0 rgba(8, 221, 97, 0);
    box-shadow: 0 0 0 0 rgba(8, 221, 97, 0);
  }
}
:root {
  --left_site_margin: 40px;
  --middle_site_margin: 20px;
  --right_site_margin: 40px;
  --card_aspect_ratio: 55.2%;
  --card_aspect_ratio_small: 36%;
  --card_aspect_ratio_large: 45%;
}

body {
  margin: 0;
}

.author-box-centered-wrapper, .opticians {
  width: 760px;
  max-width: 100vw;
  margin: 0 auto;
}

.site-logo .go-icon {
  width: 225px;
  height: 40px;
  fill: #13476C;
  margin-left: var(--left_site_margin);
}
.site-logo .go-icon:hover {
  fill: #3ac6e9;
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  min-height: 100px;
  background-color: rgb(255, 255, 255);
  transition: box-shadow 1s ease-out;
  box-shadow: none;
  z-index: 11;
}
#header.not-top, #header.has-shadow {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
#header #header-container {
  max-width: 1280px;
  margin: 0 auto;
  padding-top: 30px;
  position: relative;
}
#header #menu-label {
  display: none;
  margin-right: var(--right_site_margin);
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 32px;
}
#header #menu-label .go-icon {
  width: 35px;
  height: 35px;
  fill: #13476C;
  transition: fill 250ms ease-out;
}
#header #menu-label .go-icon .dash-1,
#header #menu-label .go-icon .dash-2,
#header #menu-label .go-icon .dash-3 {
  transition: transform 300ms ease, rotate 300ms ease;
}
#header #menu-label .go-icon .dash-1 {
  transform-origin: 8px 16px;
}
#header #menu-label .go-icon .dash-3 {
  transform-origin: 9px 21px;
}
#header #menu-label.active .go-icon .dash-1 {
  transform: rotate(45deg);
}
#header #menu-label.active .go-icon .dash-2 {
  opacity: 0;
}
#header #menu-label.active .go-icon .dash-3 {
  transform: rotate(-45deg);
}
#header #menu-label:hover .go-icon {
  fill: #3ac6e9;
  transition: none;
}
#header #menu-toggle {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
}
#header #menu-bar {
  border-top: 1px solid #F4F6F8;
}
#header #menu-bar .menu-list {
  margin: 0 var(--right_site_margin) 0 var(--left_site_margin);
  padding: 20px 0;
  height: 100%;
  text-align: end;
}
#header #menu-bar .menu-list .menu-item {
  display: inline-block;
  margin-left: 40px;
  user-select: none;
}
#header #menu-bar .menu-list a,
#header #menu-bar .menu-list a:visited {
  text-decoration: none;
  font-weight: 700;
  color: #13476C;
}
#header #menu-bar .menu-list a:hover,
#header #menu-bar .menu-list a:visited:hover {
  color: #3ac6e9;
}
#header #menu-bar .search-form {
  display: none;
}
#header #search-label {
  cursor: pointer;
  position: absolute;
  right: 40px;
  top: 32px;
}
#header #search-label .go-icon {
  width: 35px;
  height: 35px;
  fill: #13476C;
  transform: rotate(0);
  transform-origin: 55% 55%;
  transition: all 250ms ease-out;
}
#header #search-label.active .go-icon {
  fill: #3ac6e9;
  transform: rotate(80deg);
}
#header #search-label:hover .go-icon {
  fill: #3ac6e9;
  transition: fill 0ms, transform 250ms ease-out;
}
#header #search-toggle {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
}
#header #search-bar {
  overflow: hidden;
  margin-top: 20px;
  border-top: 1px solid #F4F6F8;
  max-height: 0;
  opacity: 0;
  transition: max-height 150ms ease-out, opacity 500ms ease-out 100ms;
}
#header #search-bar .search-panel {
  margin: 0 var(--right_site_margin) 0 var(--left_site_margin);
  padding: 20px;
}
#header #search-bar .search-field {
  margin: auto;
}
#header #search-toggle:checked + #search-bar {
  opacity: 1;
  max-height: 260px;
}

.search-form .search-field {
  border: 1px solid #13476C;
  border-radius: 50px;
  padding: 15px 30px;
  width: 100%;
  outline: none;
  color: #13476C;
  font-size: var(--font_l);
  caret-color: #3ac6e9;
  font-family: "museo-sans";
}
.search-form .search-field:focus {
  border-color: #13476C;
}
.search-form .search-field::placeholder {
  color: #e2e9ef;
}
.search-form .search-container {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
}
.search-form:hover .search-field {
  border-color: #3ac6e9;
}

#container {
  position: relative;
  margin: 100px auto 0;
  overflow: hidden;
}

#content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  padding-top: 50px;
}

#void-left {
  flex-grow: 1;
  background-color: #F8F9FA;
}

#void-right {
  flex-grow: 1;
  background-color: #e2e9ef;
}

#posts {
  width: 1280px;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}

#posts-new {
  order: 1;
  background-color: #F8F9FA;
  align-self: stretch;
  flex-basis: 66%;
  flex-grow: 1;
  padding-bottom: 48px;
}
#posts-new #posts-new-container {
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: stretch;
  margin: 20px var(--middle_site_margin) 20px var(--left_site_margin);
}

#posts-trending {
  order: 2;
  background-color: #e2e9ef;
  align-self: stretch;
  flex-basis: 33%;
  flex-grow: 1;
  flex-shrink: 1;
  display: flex;
  justify-content: stretch;
  flex-direction: column;
  min-width: 342.4px;
  padding-bottom: 48px;
}
#posts-trending #posts-trending-container {
  flex-grow: 1;
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  align-content: flex-start;
  border-radius: 8px;
  min-width: 270px;
  margin: 0 var(--right_site_margin) 40px var(--left_site_margin);
}

.category #content {
  background-color: #F8F9FA;
}

#posts-archive,
#posts-search,
#archive {
  align-self: stretch;
  flex-grow: 1;
}
#posts-archive .section-heading,
#posts-search .section-heading,
#archive .section-heading {
  margin-top: 20px;
}
#posts-archive .article-meta,
#posts-search .article-meta,
#archive .article-meta {
  margin-top: 48px;
  margin-left: var(--left_site_margin);
}
#posts-archive #posts-container,
#posts-search #posts-container,
#archive #posts-container {
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
}

@media screen and (min-width: 880px) {
  #posts-archive .card,
  #posts-search .card {
    flex-basis: 30%;
    padding-top: var(--card_aspect_ratio_small);
  }
  #posts-archive .card .lead,
  #posts-search .card .lead {
    display: none;
  }
  #posts-archive .card:nth-of-type(1),
  #posts-archive .card:nth-of-type(2),
  #posts-search .card:nth-of-type(1),
  #posts-search .card:nth-of-type(2) {
    flex-basis: 45%;
    padding-top: var(--card_aspect_ratio_large);
  }
  #posts-archive .card:nth-of-type(1) .lead,
  #posts-archive .card:nth-of-type(2) .lead,
  #posts-search .card:nth-of-type(1) .lead,
  #posts-search .card:nth-of-type(2) .lead {
    display: inline-block;
  }
  #posts-archive .card:nth-of-type(9),
  #posts-search .card:nth-of-type(9) {
    flex-basis: 90%;
  }
  #posts-archive .card:nth-of-type(9) .card-content,
  #posts-search .card:nth-of-type(9) .card-content {
    flex-direction: column;
    flex-wrap: wrap;
  }
  #posts-archive .card:nth-of-type(9) .lead,
  #posts-search .card:nth-of-type(9) .lead {
    display: inline-block;
  }
  #posts-archive .card:nth-of-type(9) .card-image,
  #posts-search .card:nth-of-type(9) .card-image {
    width: 67.8%;
    flex-basis: 100%;
  }
  #posts-archive .card:nth-of-type(9) .card-meta,
  #posts-search .card:nth-of-type(9) .card-meta {
    width: 35.5%;
    flex-basis: 70%;
  }
  #posts-archive .card:nth-of-type(9) .author,
  #posts-search .card:nth-of-type(9) .author {
    width: 35.5%;
    flex-basis: 25%;
  }
}
.section {
  width: 100vw;
  float: left;
}

.section-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.section-heading {
  display: block;
  margin: 100px var(--right_site_margin) 48px var(--left_site_margin);
  color: #13476C;
  font-size: var(--font_xl);
  font-weight: 700;
}

.card.service-teaser.lines {
  border-radius: 0;
  border-top: 2px solid #F8F9FA;
  border-bottom: 2px solid #F8F9FA;
  box-sizing: content-box;
}
.card.service-teaser.lines:hover {
  background-color: #F8F9FA;
  cursor: pointer;
}

.card {
  min-width: 270px;
  min-height: 470px;
  background-color: rgb(255, 255, 255);
  border-radius: 8px;
  overflow: hidden;
  margin: 0 20px 29px 0;
  flex-basis: 40%;
  flex-grow: 1;
  position: relative;
  padding-top: var(--card_aspect_ratio);
  transition: box-shadow 300ms ease-out;
}
.card:hover {
  transition: none;
}
.card .card-content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.card .card-image {
  width: 100%;
  height: 38.2%;
  min-height: 38.2%;
  overflow: hidden;
  background-color: #e2e9ef;
  background: linear-gradient(45deg, #ececec, #d5f7ff);
}
.card .card-meta {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 24px;
}
.card .card-meta .kicker {
  color: #3ac6e9;
}
.card .card-meta .title {
  color: #13476C;
  margin-top: 10px;
  padding-left: 0;
}
.card .card-meta .lead {
  font-size: var(--font_sm);
  color: #13476C;
}
.card .author {
  padding: 0 24px 48px 24px;
  text-align: left;
}
.card.tiny {
  min-height: 135px;
  height: 135px;
  background-color: transparent;
  background-color: rgb(255, 255, 255);
  margin: 0 4px 4px 0;
  padding-top: 0;
}
.card.tiny .card-content {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
  padding: 24px;
}
.card.tiny .card-image {
  flex-grow: 0;
  flex-shrink: 0;
  width: 88px;
  height: 88px;
  box-sizing: border-box;
  border-radius: 8px;
}
.card.tiny .card-meta {
  flex-grow: 1;
  padding: 0 24px;
  font-weight: 700;
  hyphens: auto;
  -webkit-hyphens: auto;
}
.card.tiny .card-meta .title {
  font-size: var(--font_s);
  margin-top: 5px;
}
.card.tiny .card-meta .kicker {
  font-size: var(--font_s);
}
.card:hover {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.card.post-teaser {
  min-height: 240px;
  margin: 48px 0;
}
.card.post-teaser .card-content {
  padding: 0;
}
.card.post-teaser .card-meta {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  border-top: 2px solid;
  border-right: 2px solid;
  border-bottom: 2px solid;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-color: #F4F6F8;
  padding: 20px 40px 20px 20px;
}
.card.post-teaser .card-meta .kicker {
  font-size: initial;
}
.card.post-teaser .card-meta .title {
  font-size: var(--font_m);
  flex-grow: 1;
}
.card.post-teaser .card-meta .author {
  padding: 0;
  margin-top: 40px;
}
.card.post-teaser .card-image {
  height: 100%;
  width: 240px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.card.post-teaser .card-image img {
  max-width: 240px;
}
.card.service-teaser {
  min-height: 200px;
  margin: 48px 0;
}
.card.service-teaser .card-content {
  padding: 20px 0;
}
.card.service-teaser .card-content .card-meta {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  font-size: var(--font_s);
}
.card.service-teaser .card-content .kicker,
.card.service-teaser .card-content .title {
  font-size: var(--font_m);
  margin-top: 0;
}
.card.service-teaser .card-content .service-meta {
  color: #13476C;
}
.card.service-teaser .card-content .single-line {
  margin-top: 10px;
}
.card.service-teaser .card-content .stretch {
  flex-grow: 1;
}
.card.service-teaser .card-content .cta {
  align-self: flex-end;
  color: #3ac6e9;
  font-weight: 700;
}
.card.service-teaser .card-content .cta:hover {
  text-decoration: underline;
}
.card.service-teaser .newrow {
  margin-top: 0;
}
.card.service-teaser .card-image img {
  max-width: 160px;
}
.card.service-teaser.lines {
  border-width: 1px;
  border-color: #a3c6d4;
}
.card.service-teaser.lines .card-image {
  width: auto;
  height: 100%;
}
.card.service-teaser.lines:hover {
  box-shadow: none;
  margin-left: -20px;
  margin-right: -20px;
}
.card.service-teaser.lines:hover .card-content {
  padding: 20px;
}

.single-line {
  overflow: hidden;
  white-space: nowrap;
}
.single-line .meta {
  display: inline;
}

.sidescroller {
  padding: 20px 0 48px 20px;
  min-height: 470px;
  max-height: 600px;
  width: 100%;
  text-align: center;
  overflow: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.sidescroller .card {
  display: inline-block;
  width: 400px;
  max-width: 80vw;
  scroll-snap-align: center;
  white-space: normal;
  padding-top: 0;
  margin: 0 10px;
}

.author {
  display: inline-flex;
}
.author .author-meta {
  color: #13476C;
}
.author .author-meta .author-detail {
  display: block;
}
.author .author-meta .author-name {
  display: inline;
  font-weight: 700;
}
.author .author-portrait {
  margin-right: 16px;
  width: 52px;
  height: 52px;
  border-radius: 26px;
  overflow: hidden;
}
.author .author-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  box-sizing: border-box;
}
.author .author-portrait {
  transform: scale(1);
}
.author.with-link:hover .author-portrait {
  transform: scale(1.05);
}
.author.with-link:hover .author-meta {
  color: #3ac6e9;
}

.button {
  position: relative;
  display: inline-block;
  border: 1px solid #13476C;
  border-radius: 19px;
  padding: 0 18px;
  min-height: 38px;
  margin-right: 10px;
  margin-top: 20px;
  color: #13476C;
  background-color: rgb(255, 255, 255);
  font-size: var(--font_s);
  font-weight: 700;
  vertical-align: middle;
}
.button.button-inverted {
  border-color: rgb(255, 255, 255);
  background-color: transparent;
  color: rgb(255, 255, 255);
}
.button.button-inverted .go-icon {
  fill: rgb(255, 255, 255);
}
.button.button-inverted:hover {
  color: #13476C;
  background-color: rgb(255, 255, 255);
}
.button.button-inverted:hover .go-icon {
  fill: #13476C;
}
.button .go-icon {
  height: 28px;
  width: 28px;
  fill: #13476C;
  vertical-align: middle;
  margin-top: -2px;
  transition: fill 300ms ease-out;
}
.button .go-icon.spin {
  animation: spin infinite 2s ease;
}
.button .go-icon.done {
  margin-right: 0;
}
.button .go-icon.error {
  fill: red;
}
.button a,
.button a:visited {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: #13476C;
}
.button:hover {
  color: rgb(255, 255, 255);
  cursor: pointer;
  background-color: #13476C;
}
.button:hover .go-icon {
  fill: rgb(255, 255, 255);
  transition: none;
}
.button:hover a,
.button:hover a:visited {
  color: rgb(255, 255, 255);
}

.button-stacked {
  display: inline-flex;
}
.button-stacked .button {
  min-width: 80px;
}
.button-stacked .button.first {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: none;
  margin-right: 0;
}
.button-stacked .button.second {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

#finder .button {
  margin-left: var(--left_site_margin);
}
#finder .button .go-icon {
  margin-right: 3px;
}
#finder .button:hover .go-icon {
  animation: spin 10s infinite ease-in-out;
}

.center-button {
  margin: 0 auto;
  text-align: center;
}
.center-button .button {
  margin-left: 10px;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

a {
  text-decoration: none;
}

.appear {
  animation: appear 200ms ease-in;
}

.breadcrumb {
  display: block;
  max-width: 1280px;
  width: 100%;
  margin: 20px auto 72px auto;
  color: #6E6E6E;
}
.breadcrumb a,
.breadcrumb a:visited {
  color: #6E6E6E;
  border-bottom: none;
}
.breadcrumb a:hover,
.breadcrumb a:visited:hover {
  color: #3ac6e9;
}

.slider {
  position: relative;
  margin: 96px auto 0 auto;
  max-height: 100vh;
  max-width: 1660px;
}
.slider .slider-buttons {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.slider .slider-buttons .slider-button {
  height: 49.4px;
  width: 49.4px;
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 50%;
  top: calc(50% - 19px);
  border-radius: 50%;
  text-align: center;
  z-index: 1;
}
.slider .slider-buttons .slider-button:hover {
  background-color: rgba(255, 255, 255, 0.7);
}
.slider .slider-buttons .slider-button:hover .go-icon {
  fill: rgb(0, 0, 0);
}
.slider .slider-buttons .slider-button:hover {
  cursor: pointer;
}
.slider .slider-buttons .slider-button.hidden {
  display: none;
  visibility: hidden;
}
.slider .slider-buttons .slider-button.left {
  left: 20px;
}
.slider .slider-buttons .slider-button.right {
  right: 20px;
}
.slider .slider-buttons .slider-button .go-icon {
  opacity: 0.5;
  fill: rgba(0, 0, 0, 0.7);
  height: 90%;
  width: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
}
.slider .slides {
  position: relative;
  border-radius: 8px;
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.slider .slides.slim {
  height: 530px;
}
.slider .slides .slide {
  flex-shrink: 0;
  width: 1660px;
  max-width: 100vw;
  height: 100%;
  background-size: cover;
  background-position: center;
  float: left;
  scroll-snap-align: start;
}
.slider .slides::-webkit-scrollbar {
  display: none;
}

.opticians {
  margin: 100px auto;
}
.opticians .slides .slide {
  width: 760px;
}
.opticians .author {
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-content: center;
  height: auto;
  max-width: 760px;
}
.opticians .author:hover .author-portrait {
  transform: none;
}
.opticians .author:hover .author-testimonial {
  color: #13476C;
}
.opticians .author-portrait {
  height: 7vw;
  width: 7vw;
  max-width: 250px;
  margin-right: 40px;
}
.opticians .author-meta {
  max-width: 60%;
}
.opticians .author-meta .author-name {
  font-size: var(--font_s);
}
.opticians .author-testimonial {
  display: block;
  margin-top: 20px;
  color: #13476C;
}
.opticians .slider-buttons .slider-button.left {
  left: -60px;
}
.opticians .slider-buttons .slider-button.right {
  right: -60px;
}
.opticians .slider-buttons .slider-button:hover {
  background-color: #F8F9FA;
}
.opticians .slider-buttons .slider-button:hover .go-icon {
  opacity: 1;
  fill: #3ac6e9;
}

.meta {
  display: block;
  color: #13476C;
}
.meta a,
.meta a:visited {
  border-bottom: 0;
  color: #13476C;
}
.meta a:hover,
.meta a:visited:hover {
  color: #3ac6e9;
}
.meta.newrow {
  display: block;
  margin-top: 20px;
}

.meta-title {
  padding: 0;
}

.meta-subtitle {
  padding: 0;
}

#finder {
  background-color: #13476C;
  min-height: 470px;
}
#finder .section-heading {
  color: rgb(255, 255, 255);
}

#contact {
  background-color: #538FA8;
  min-height: 470px;
  padding: 96px var(--right_site_margin) 48px var(--left_site_margin);
}
#contact .meta {
  font-size: var(--font_mml);
  font-weight: 100;
  color: rgb(255, 255, 255);
  max-width: 50%;
}
#contact a {
  color: rgb(255, 255, 255);
}
#contact .site-logo .go-icon {
  fill: rgb(255, 255, 255);
  margin: 0;
  width: 202.5px;
}
#contact .site-logo .go-icon:hover {
  fill: rgb(255, 255, 255);
}
#contact .footer-elements {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#contact .footer-links .social-media-links {
  margin-top: 10px;
  margin-left: -7px;
}
#contact .footer-links .social-media-links .go-icon {
  fill: rgb(255, 255, 255);
  width: 28px;
  height: 28px;
  margin-right: 10px;
}

#spinner-wrapper {
  width: 100%;
  margin: 20px auto;
  text-align: center;
  padding-right: 20px;
}

.spinner {
  display: inline-block;
  border: 2px solid #bcf2ff;
  border-top: 2px solid #3ac6e9;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  animation: spin 2s ease infinite;
}

#cookie-notice .cookie-notice-container {
  border-top: 1px solid #13476C;
}
#cookie-notice .cn-button {
  margin: 20px;
  border: 1px solid #13476C;
  padding-top: 7px;
}
#cookie-notice .cn-text-container a {
  color: #3ac6e9;
}

@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(360deg);
  }
}
@keyframes highlight {
  0% {
    background-color: #F8F9FA;
  }
  15% {
    background-color: #bcf2ff;
  }
  100% {
    background-color: #F8F9FA;
  }
}
@media screen and (max-width: 1660px) {
  .slider .slides {
    border-radius: 0;
  }
}
@media screen and (max-width: 1162px) {
  :root {
    --card_aspect_ratio: 40vw;
  }
}
@media screen and (max-width: 900px) {
  :root {
    --middle_site_margin: 0;
    --left_site_margin: 20px;
    --right_site_margin: 20px;
  }
}
@media screen and (max-width: 880px) {
  .hide-on-small-screens {
    display: none;
  }
  #header #menu-label {
    display: block;
    border: none;
  }
  #header #menu-bar {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 150ms ease-out, opacity 500ms ease-out 100ms;
  }
  #header #menu-toggle:checked + #menu-bar {
    max-height: 300px;
    opacity: 1;
  }
  #header #menu-toggle:checked + #menu-bar .menu-list .menu-item {
    line-height: 2;
  }
  #header #search-label {
    right: 65px;
  }
  .card {
    min-height: 470px;
  }
  .card.tiny {
    min-height: 135px;
  }
  .card .card-image {
    height: 45%;
    flex-shrink: 0;
  }
  .card.service-teaser {
    min-height: 140px;
    margin-right: 20px;
    margin-left: 20px;
  }
  .card.service-teaser .card-content .kicker,
  .card.service-teaser .card-content .title {
    font-size: var(--font_ml);
  }
  .card.service-teaser .card-content .single-line {
    margin-top: 0;
  }
  .card.service-teaser .card-image img {
    max-width: 100px;
  }
  .card.service-teaser .card-meta {
    padding-right: 0;
    min-width: 0;
  }
  .card.service-teaser.lines:hover {
    border-radius: 0;
  }
  .slider {
    margin-top: 0;
    max-width: 100vw;
  }
  .slider .slides.slim {
    height: 300px;
  }
  .opticians .slide {
    padding: 0 50px;
  }
  .opticians .slider-buttons .slider-button.left {
    left: 0;
  }
  .opticians .slider-buttons .slider-button.right {
    right: 0;
  }
  .section .section-heading {
    text-align: left;
    word-break: break-word;
  }
  #contact .meta {
    margin-left: 0;
    max-width: none;
  }
  #contact .footer-links {
    margin-top: 40px;
  }
}
@media screen and (max-width: 500px) {
  .site-logo .go-icon {
    width: 180px;
  }
  .opticians {
    margin: 96px auto;
    text-align: center;
  }
  .opticians .author {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    height: auto;
  }
  .opticians .author .author-portrait {
    display: inline;
    margin-right: 0;
    height: 40vw;
    width: 40vw;
  }
  .opticians .author .author-meta {
    max-width: 100%;
    text-align: center;
    margin-top: 20px;
  }
  .breadcrumb .current,
  .breadcrumb .separator:nth-of-type(2) {
    display: none;
  }
}
.go-sources {
  width: 532px;
  max-width: calc(100vw - 40px);
  margin-top: 48px;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem 2rem;
  background: #F4F6F8;
  border-radius: 8px;
}
.go-sources .go-sources-title {
  margin: 0 0 1rem 0;
  font-size: var(--font_s);
  font-weight: 700;
  color: #6E6E6E;
  line-height: 1.3;
  text-align: center;
}
.go-sources .go-sources-list {
  margin: 0;
  padding-left: 1.25rem;
  list-style: decimal;
}
.go-sources .go-sources-list .go-source-item {
  margin-bottom: 0.4rem;
  line-height: 1.5;
  font-size: var(--font_xs);
}
.go-sources .go-sources-list .go-source-item:last-child {
  margin-bottom: 0;
}
.go-sources .go-sources-list .go-source-item::marker {
  font-size: var(--font_xs);
  font-weight: 300;
  color: #6E6E6E;
}
.go-sources .go-sources-list .go-source-item .go-source-text,
.go-sources .go-sources-list .go-source-item .go-source-link {
  color: #6E6E6E;
  font-size: var(--font_xs);
  font-weight: 300;
  line-height: 1.5;
}
.go-sources .go-sources-list .go-source-item .go-source-text p,
.go-sources .go-sources-list .go-source-item .go-source-link p {
  margin-top: 0;
  margin-bottom: 0.4rem;
}
.go-sources .go-sources-list .go-source-item .go-source-text p:last-child,
.go-sources .go-sources-list .go-source-item .go-source-link p:last-child {
  margin-bottom: 0;
}
.go-sources .go-sources-list .go-source-item .go-source-link {
  text-decoration: none;
  transition: color 0.2s;
  display: inline;
}
.go-sources .go-sources-list .go-source-item .go-source-link:hover {
  color: #13476C;
  text-decoration: underline;
}
.go-sources .go-sources-list .go-source-item .go-source-text {
  display: inline;
}

@media screen and (max-width: 880px) {
  .go-sources {
    width: auto;
    padding: 20px;
    border-radius: 0;
  }
}
.author-box-centered-wrapper {
  width: 760px;
  margin-top: 48px;
  text-align: center;
  padding-bottom: 48px;
}
.author-box-centered-wrapper .text-small {
  display: block;
  font-size: var(--font_xs);
  font-weight: 300;
  color: #13476C;
  margin-bottom: 20px;
}
.author-box-centered-wrapper .author-box-separator {
  border: none;
  border-top: 1px solid #e2e9ef;
  margin: 0 0 48px 0;
}
.author-box-centered-wrapper .author.author-centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.author-box-centered-wrapper .author.author-centered .author-portrait {
  width: 150px;
  height: 150px;
  border-radius: 75px;
  margin-right: 0;
  margin-bottom: 20px;
  flex-shrink: 0;
}
.author-box-centered-wrapper .author.author-centered .author-meta {
  max-width: 100%;
  white-space: nowrap;
}
.author-box-centered-wrapper .author.author-centered .author-meta .author-name {
  display: inline;
  font-size: var(--font_l);
  font-style: normal;
  font-weight: 700;
  color: #13476C;
}
.author-box-centered-wrapper .author.author-centered .author-meta .author-title {
  display: block;
  font-size: var(--font_ml);
  font-weight: 300;
  color: #13476C;
  margin-top: 0.5rem;
  white-space: normal;
}
.author-box-centered-wrapper .author.author-centered .author-meta .author-business {
  display: block;
  font-size: var(--font_ml);
  font-weight: 300;
  color: #13476C;
  margin-top: 0.25rem;
  white-space: normal;
}

@media screen and (max-width: 880px) {
  .author-box-centered-wrapper {
    width: auto;
    padding: 0 20px 48px 20px;
  }
}
#map-title {
  margin-top: 48px;
}

/*# sourceMappingURL=sources.css.map */
