@import 'normalize.css';
@font-face {
  font-display: swap;
  font-family: 'open-sans-light';
  src: url("fonts/open-sans-v15-latin-300.woff2") format("woff2"), url("fonts/open-sans-v15-latin-300.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: 'open-sans-regular';
  src: url("fonts/open-sans-v15-latin-regular.woff2") format("woff2"), url("fonts/open-sans-v15-latin-regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: 'open-sans-medium';
  src: url("fonts/open-sans-v15-latin-600.woff2") format("woff2"), url("fonts/open-sans-v15-latin-600.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: 'open-sans-bold';
  src: url("fonts/open-sans-v15-latin-700.woff2") format("woff2"), url("fonts/open-sans-v15-latin-700.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: 'open-sans-italic';
  src: url("fonts/open-sans-v17-latin-italic.woff2") format("woff2"), url("fonts/open-sans-v17-latin-italic.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-display: block;
  font-family: 'iconset';
  src: url("fonts/wdf-iconset.woff2") format("woff2"), url("fonts/wdf-iconset.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
.open-sans-regular {
  font-family: 'open-sans-regular', sans-serif;
}
.open-sans-medium {
  font-family: 'open-sans-medium', sans-serif;
}
.open-sans-bold {
  font-family: 'open-sans-bold', sans-serif;
}
.open-sans-light {
  font-family: 'open-sans-light', sans-serif;
}
.open-sans-italic {
  font-family: 'open-sans-italic', sans-serif;
}
.hyphenate {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -epub-hyphens: auto;
  -o-hyphens: auto;
  hyphens: auto;
}
@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
html {
  font-size: 74%;
}
body {
  animation: fadein 0.8s;
  background: hsl(0, 0%, 99%);
  color: hsl(0, 0%, 16%);
  font-family: 'open-sans-regular', sans-serif;
  font-size: 1.25rem;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -epub-hyphens: auto;
  -o-hyphens: auto;
  hyphens: auto;
  line-height: 1.3;
  overscroll-behavior: none;
}
* {
  box-sizing: border-box;
}
/* Headlines */
h1 {
  font-family: 'open-sans-bold', sans-serif;
  font-size: 2rem;
  line-height: 1.1;
  margin-top: 0;
  text-transform: uppercase;
}
h2 {
  font-family: 'open-sans-bold', sans-serif;
  font-size: 1.8rem;
  margin-top: 1.2em;
  margin-bottom: 0.3996em;
  line-height: 1.2;
}
h3 {
  font-family: 'open-sans-medium', sans-serif;
  font-size: 1.7rem;
  margin-top: 1em;
  margin-bottom: 0.333em;
  line-height: 1.2;
}
h4 {
  font-family: 'open-sans-medium', sans-serif;
  font-size: 1.5rem;
  margin-top: 1em;
  margin-bottom: 0.333em;
}
h5 {
  font-family: 'open-sans-medium', sans-serif;
  font-size: 1.4rem;
  margin-top: 1em;
  margin-bottom: 0.333em;
}
h6 {
  font-family: 'open-sans-medium', sans-serif;
  font-size: 1.25rem;
  margin-top: 1em;
  margin-bottom: 0.333em;
}
p {
  margin: 0 0 1.3em 0;
}
a {
  color: hsl(0, 0%, 16%);
  text-decoration: none;
}
a:hover,
a:active,
a:focus {
  text-decoration: underline;
}
strong {
  font-family: 'open-sans-medium', sans-serif;
}
dl {
  margin: 0;
}
strong {
  font-family: 'open-sans-bold', sans-serif;
}
i,
em {
  font-family: 'open-sans-italic', sans-serif;
}
.preface {
  font-family: 'open-sans-medium', sans-serif;
  font-size: 1.4rem;
  margin-bottom: 3.75rem;
}
.event-summary {
  border-bottom: solid 1px hsl(0, 0%, 16%);
  margin: 0 6% 1.25rem 6%;
  padding-bottom: 0.5em;
}
.event-summary .dateto:before {
  content: '–';
}
.event-summary .kat {
  margin-top: 0.3em;
}
a[download]:before,
a.download:before {
  content: "\e821";
  display: inline-block;
  font-family: 'iconset';
  padding-right: 0.5em;
}
.downloads a[download],
.downloads a.download {
  margin-left: -1.666em;
}
a[href*="//"]:not([href*="wullersdorf.gv.at"]):not([href*="wullersdorf.at"]):not([href*="app.wullersdorf.at"]):before {
  content: "\f08e";
  display: inline-block;
  font-family: 'iconset';
  padding-right: 0.5em;
}
.downloads a[href*="//"]:not([href*="wullersdorf.gv.at"]):not([href*="wullersdorf.at"]):not([href*="app.wullersdorf.at"]) {
  margin-left: -1.666em;
}
a[href*="link.aspx?"]:before {
  content: "\f08e";
  display: inline-block;
  font-family: 'iconset';
  padding-right: 0.5em;
}
.downloads a[href*="link.aspx?"] {
  margin-left: -1.666em;
}
.preface a:not([href*="tel:"]),
.content-element--pt a:not([href*="tel:"]),
.content-element--iwt a:not([href*="tel:"]),
.content-element--accordeon a:not([href*="tel:"]),
.aside-container a:not([href*="tel:"]) {
  text-decoration: underline;
}
.preface a:not([href*="tel:"]):hover,
.content-element--pt a:not([href*="tel:"]):hover,
.content-element--iwt a:not([href*="tel:"]):hover,
.content-element--accordeon a:not([href*="tel:"]):hover,
.aside-container a:not([href*="tel:"]):hover,
.preface a:not([href*="tel:"]):active,
.content-element--pt a:not([href*="tel:"]):active,
.content-element--iwt a:not([href*="tel:"]):active,
.content-element--accordeon a:not([href*="tel:"]):active,
.aside-container a:not([href*="tel:"]):active,
.preface a:not([href*="tel:"]):focus,
.content-element--pt a:not([href*="tel:"]):focus,
.content-element--iwt a:not([href*="tel:"]):focus,
.content-element--accordeon a:not([href*="tel:"]):focus,
.aside-container a:not([href*="tel:"]):focus {
  text-decoration: none;
}
#fixed-bg-image {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: -1;
}
#fixed-bg-image img {
  height: 100%;
  object-fit: cover;
  object-position: 80% 75%;
  width: 100%;
}
#scroll-effect {
  background: hsl(0, 0%, 16%);
  mix-blend-mode: multiply;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  right: 0;
  top: 0;
  z-index: 0;
}
body:not(.home):not(.portal) #page-head {
  position: relative;
}
body:not(.home):not(.portal) #page-head.high-head {
  min-height: 24rem;
}
body:not(.home):not(.portal) #page-head.high-head #page-bulletin {
  padding-bottom: 4rem;
}
[role="banner"] {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding: 0.5rem 6%;
  position: absolute;
  width: 100%;
}
.logo-container {
  width: 66.666%;
}
.logo-container #svg-logo {
  fill: hsl(0, 0%, 16%);
}
#toggle-search {
  background: transparent;
  border: none;
  box-sizing: content-box;
  color: hsl(0, 0%, 16%);
  cursor: pointer;
  font-family: 'iconset';
  font-size: 2.5rem;
  margin: 0;
  padding: 0;
}
#page-bulletin {
  padding-bottom: 0;
  padding-top: 8rem;
}
.page__title {
  z-index: 10;
}
#breadcrumb-navigation {
  font-size: 1.2rem;
  padding: 0 0 0.4rem 0;
}
#breadcrumb-navigation ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#breadcrumb-navigation ul li {
  display: inline-block;
}
#breadcrumb-navigation ul li:before {
  content: "/";
  margin-left: 0.2em;
  margin-right: 0.4em;
}
#breadcrumb-navigation ul li:first-child:before {
  content: "";
  margin: 0;
}
#breadcrumb-navigation * a {
  color: hsl(0, 0%, 16%);
  text-decoration: none;
}
#breadcrumb-navigation * a:hover,
#breadcrumb-navigation * a:active,
#breadcrumb-navigation * a:focus {
  text-decoration: underline;
}
.page__image {
  margin: 0;
}
.page__image img {
  height: 24rem;
  left: 0;
  object-fit: cover;
  object-position: 50% 33.333%;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
#site-search {
  transition: all ease-in-out 0.2s;
}
.service #site-search {
  background-color: hsl(359, 86%, 72%);
}
.leisure #site-search {
  background-color: hsl(326, 38%, 75%);
}
.health #site-search {
  background-color: hsl(181, 43%, 56%);
}
.communal #site-search {
  background-color: hsl(38, 94%, 62%);
}
#site-search[aria-expanded="false"] {
  height: 0;
}
#site-search[aria-expanded="false"] .site-search__form {
  opacity: 0;
  transition: all ease-in-out 0.2s;
}
#site-search[aria-expanded="true"] {
  height: 100vh;
}
#site-search[aria-expanded="true"] .site-search__form {
  opacity: 1;
  transition: all ease-in-out 0.2s;
}
.portal #site-search {
  background: transparent;
}
.site-search__form {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  padding: 0 6%;
}
.site-search__wrap {
  background: hsl(0, 0%, 99%);
  display: flex;
  font-size: 1.666em;
  margin-top: -3.333em;
  width: 100%;
}
.site-search__wrap .site-search__word {
  background: transparent;
  border: none;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 0.2em 0.4em;
  width: 100%;
}
.site-search__wrap .site-search__submit {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.4em 0.4em 0.2em 0.2em;
}
.search-word {
  font-family: 'open-sans-light', sans-serif;
}
.search-word:before {
  content: '\201e';
  margin-right: 0.1em;
}
.search-word:after {
  content: '\201c';
  margin-left: 0.1em;
}
.search-result__list {
  list-style-type: none;
  margin: 3rem 0 0 0;
  padding: 0;
}
.search-result__list li {
  margin-bottom: 3rem;
}
.search-result__list p {
  margin-bottom: 0.5em;
}
.pagination__list {
  background: hsl(0, 0%, 95%);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  list-style-type: none;
  margin: 0;
  padding: 1em;
}
.pagination__list a:hover,
.pagination__list a:active,
.pagination__list a:focus {
  text-decoration: none;
}
.page-selector {
  background: hsl(0, 0%, 16%);
  color: hsl(0, 0%, 99%);
  display: block;
  font-family: 'open-sans-medium', sans-serif;
  font-size: 1.1rem;
  margin: 0 0.2em;
  padding: 0.5em 0;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: all ease-in-out 0.2s;
  width: 2.5em;
}
.page-selector:hover,
.page-selector:focus,
.current-page .page-selector {
  background: hsl(0, 0%, 75%);
}
.previous-page .page-selector .icon-indicator {
  fill: hsl(0, 0%, 99%);
  height: 1em;
}
.next-page .page-selector .icon-indicator {
  fill: hsl(0, 0%, 99%);
  height: 1em;
  transform: rotate(180deg);
}
.page-selector .text-indicator {
  display: none;
}
.home-section {
  padding: 2rem 6%;
}
.home-section__header {
  color: hsl(0, 0%, 99%);
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -epub-hyphens: none;
  -o-hyphens: none;
  hyphens: none;
  margin-bottom: 2rem;
}
.home-section__header a {
  color: hsl(0, 0%, 99%);
  text-decoration: none;
}
.home-section__header a:hover,
.home-section__header a:active,
.home-section__header a:focus {
  text-decoration: underline;
}
.page-grid:not(.home-section) {
  padding: 2rem 0 0 0;
}
.page__title,
.preface {
  padding: 0 6%;
}
.section-grid {
  margin-bottom: 2rem;
  padding: 0 6%;
}
.section-grid__text h2:first-of-type {
  margin-top: 0;
}
.section-grid__text h3:first-of-type {
  margin-top: 0;
}
.section-grid .preface {
  padding: 0;
}
.section-grid .event-summary {
  margin: 0 0 1.25rem 0;
}
.section-grid .h-card-article {
  margin: 2rem 0 0 0;
}
.content-element--accordeon {
  border-top: solid 1px hsl(0, 0%, 16%);
  margin: 0 6% 4rem 6%;
}
.section-grid__figure {
  margin: 4rem 0;
}
.section-grid__figure.publication-cover {
  margin-bottom: 1rem;
}
.section-grid__figure.publication-cover img {
  max-height: 20rem;
}
.embed-full-width {
  margin: 0 0 2rem 0;
}
.aside-container {
  border-top-style: solid;
  border-top-width: 4px;
  margin: 4rem 6%;
  padding-top: 0.666rem;
}
.service .aside-container {
  border-color: hsl(359, 86%, 72%);
}
.leisure .aside-container {
  border-color: hsl(326, 38%, 75%);
}
.health .aside-container {
  border-color: hsl(181, 43%, 56%);
}
.communal .aside-container {
  border-color: hsl(38, 94%, 62%);
}
.downloads {
  margin-bottom: 4rem;
}
.downloads .download__list {
  list-style-type: none;
  margin: 0;
}
.downloads .download__list li {
  margin-bottom: 0.333em;
}
.aside-container :last-child {
  margin-bottom: 0;
}
.page-aside__header {
  margin-top: 0;
}
#sub-navigation {
  border-bottom: solid 3px hsl(0, 0%, 16%);
  border-top: solid 3px hsl(0, 0%, 16%);
  padding: 0.4em 0;
  text-align: center;
}
#sub-navigation .navigation__list {
  margin-top: 1em;
}
#sub-navigation a {
  text-decoration: none;
}
#toggle-menu {
  background: none;
  color: hsl(0, 0%, 16%);
  padding: 0.2em;
  width: 100%;
}
#sub-navigation a:hover,
#sub-navigation a:active,
#sub-navigation a:focus {
  text-decoration: underline;
}
main label {
  display: block;
  font-family: 'open-sans-bold', sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  margin: 0 0 0.5em 0;
  text-transform: uppercase;
}
main input:not([type='checkbox']):not([type='radio']),
main select,
main textarea {
  background: transparent;
  border-bottom: solid 1px hsl(0, 0%, 44%);
  border-left: none;
  border-right: none;
  border-top: none;
  font-size: 1.25rem;
  width: 100%;
}
main textarea {
  min-height: 8em;
}
main input[type='checkbox'],
main input[type='radio'] {
  float: left;
  margin-right: 1em;
}
main button,
.button {
  background: hsl(0, 0%, 16%);
  border: none;
  color: hsl(0, 0%, 99%);
  cursor: pointer;
  display: block;
  font-family: 'open-sans-medium', sans-serif;
  font-size: 1.1rem;
  margin: 0 auto;
  padding: 1em 2em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: all ease-in-out 0.2s;
}
button[type="submit"]:focus,
button[type="submit"]:hover,
a.button:hover,
a.button:focus {
  background: hsl(0, 0%, 44%);
}
.load-more__button {
  border-bottom: solid 1px hsl(0, 0%, 44%);
  color: hsl(0, 0%, 44%);
  cursor: pointer;
  display: block;
  font-family: 'open-sans-medium', sans-serif;
  margin: 3rem 0 0 0;
  padding: 1em 0 0.5em 0;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: all ease-in-out 0.2s;
}
.load-more__button:hover,
.load-more__button:focus {
  border-bottom-color: hsl(0, 0%, 75%);
  color: hsl(0, 0%, 75%);
  text-decoration: none;
}
.form-help {
  display: block;
  font-size: 1.1rem;
}
.form-field {
  background: hsl(0, 0%, 95%);
  margin-bottom: 1em;
  padding: 0.6rem;
  transition: all 0.1s ease-in-out;
}
.filter {
  background: hsl(0, 0%, 95%);
  margin-bottom: 4rem;
  padding: 1em 0;
}
.filter__header {
  font-family: 'open-sans-bold', sans-serif;
  letter-spacing: 0.05em;
  margin: 0 0.6rem 1em 0.6rem;
  text-transform: uppercase;
}
.section-grid__table {
  border-top-style: solid;
  border-top-width: 4px;
  margin: 0 0 2em 0;
  text-align: left;
  width: 100%;
}
.service .section-grid__table {
  border-color: hsl(359, 86%, 72%);
}
.leisure .section-grid__table {
  border-color: hsl(326, 38%, 75%);
}
.health .section-grid__table {
  border-color: hsl(181, 43%, 56%);
}
.communal .section-grid__table {
  border-color: hsl(38, 94%, 62%);
}
.section-grid__table tbody tr:hover,
.section-grid__table tbody tr:active,
.section-grid__table tbody tr:focus {
  background: hsl(0, 0%, 95%);
}
.section-grid__table th {
  font-family: 'open-sans-medium', sans-serif;
  padding: 0.5em 0.666em;
  vertical-align: top;
}
.section-grid__table td {
  border-top: solid 1px hsl(0, 0%, 75%);
  padding: 0.5em 0.666em;
  vertical-align: top;
}
.section-grid__table td table {
  margin: -0.5em -0.666em;
  width: 100%;
}
.section-grid__table td table tr td {
  border: none;
}
.section-grid__table td table tr:not(:last-child) th,
.section-grid__table td table tr:not(:last-child) td {
  border-bottom: solid 1px #bfbfbf;
}
.section-grid__table .align-right {
  text-align: right;
}
.five-percent {
  width: 5%;
}
.ten-percent {
  width: 10%;
}
.fifteen-percent {
  width: 15%;
}
.twenty-percent {
  width: 20%;
}
.thirty-percent {
  width: 30%;
}
.one-third {
  width: 33.333%;
}
.fourty-percent {
  width: 40%;
}
.fifty-percent {
  width: 50%;
}
.sixty-percent {
  width: 60%;
}
.two-third {
  width: 66.666%;
}
.section-grid__definition-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 0 1em 0;
}
.section-grid__definition-list dt {
  align-self: flex-end;
  flex-basis: 38%;
  margin: 0 0 0.333em 0;
}
.section-grid__definition-list dd {
  align-self: flex-end;
  flex-basis: 60%;
  margin: 0 0 0.333em 2%;
}
.section-grid__definition-list.seven-three dt {
  flex-basis: 68%;
}
.section-grid__definition-list.seven-three dd {
  align-self: flex-end;
  flex-basis: 30%;
}
.cards-grid {
  margin: 0;
  padding: 0;
}
.card {
  background: hsl(0, 0%, 99%);
  box-shadow: 0rem 0.2rem 1.2rem 0.2rem rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  margin-bottom: 4vh;
  overflow: hidden;
  position: relative;
  transition: all 0.2s ease-in-out;
}
.card a {
  color: hsl(0, 0%, 16%);
  text-decoration: none;
}
.card__content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-end;
}
.card__image {
  display: flex;
  height: 22vh;
  flex-grow: 1;
  margin: 0;
}
.card__image img {
  width: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.card__icon {
  color: hsl(0, 0%, 99%);
  font-family: 'iconset';
  font-size: 10em;
  padding: 12%;
  text-align: center;
}
.home .card__icon {
  color: hsl(0, 0%, 99%);
}
.card__link:after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.icon-card {
  justify-content: space-between;
}
.icon-card.category-service {
  background: hsl(359, 86%, 72%);
}
.icon-card.category-leisure {
  background: hsl(326, 38%, 75%);
}
.icon-card.category-health {
  background: hsl(181, 43%, 56%);
}
.icon-card.category-communal {
  background: hsl(38, 94%, 62%);
}
.icon-card .card__image {
  display: flex;
  min-height: 20rem;
}
.icon-card .card__image img {
  height: 66.666%;
  margin: auto;
  object-fit: contain;
  object-position: 50% 50%;
  width: 66.666%;
}
.icon-card .card__title {
  background: hsl(0, 0%, 99%);
  font-family: 'open-sans-medium', sans-serif;
  padding: 0.666rem 1rem;
  text-transform: uppercase;
}
.card__header {
  padding: 1rem;
}
.card__header h2 {
  font-family: 'open-sans-medium', sans-serif;
  font-size: 1.6rem;
  margin-top: 0;
}
.card__date,
.card__tag {
  font-family: 'open-sans-medium', sans-serif;
  margin: 0 1rem;
  padding: 0.666rem 0;
  text-transform: uppercase;
}
.category-service .card__tag,
.category-service .card__date {
  border-top: solid 4px hsl(359, 86%, 72%);
}
.category-leisure .card__tag,
.category-leisure .card__date {
  border-top: solid 4px hsl(326, 38%, 75%);
}
.category-health .card__tag,
.category-health .card__date {
  border-top: solid 4px hsl(181, 43%, 56%);
}
.category-communal .card__tag,
.category-communal .card__date {
  border-top: solid 4px hsl(38, 94%, 62%);
}
.category__link {
  position: relative;
}
.card:focus-within {
  transform: scale(1.06);
}
.card:focus-within a:focus {
  color: hsl(0, 0%, 16%);
  text-decoration: underline;
}
.card a:hover,
a.card__link:focus {
  color: hsl(0, 0%, 16%);
  text-decoration: underline;
}
@media only screen and (min-width: 35em) {
  @supports (display: grid) {
    .cards-grid {
      align-content: stretch;
      display: grid;
      grid-column: text / end2;
      grid-template-columns: repeat(auto-fill, minmax(40%, 1fr));
      grid-column-gap: 2rem;
    }
    .card {
      min-height: 28vh;
      width: 100%;
    }
    #page-bulletin .cards-grid {
      grid-column: 2;
      grid-row: 2 / span 100;
    }
  }
}
@media only screen and (min-width: 64em) {
  @supports (display: grid) {
    .cards-grid {
      grid-template-columns: repeat(auto-fill, minmax(32%, 1fr));
    }
  }
}
@media only screen and (min-width: 76em) {
  .card__header h2 {
    font-size: 1.5rem;
  }
  @supports (display: grid) {
    #page-bulletin .cards-grid {
      grid-column: 2 / span 2;
    }
    .cards-grid {
      grid-column: text / end2;
      grid-template-columns: repeat(auto-fill, minmax(23%, 1fr));
      grid-column-gap: 2.4rem;
    }
    .section-grid .cards-grid {
      grid-template-columns: repeat(auto-fill, minmax(40%, 1fr));
    }
    .card {
      min-height: 28vh;
    }
  }
}
@media only screen and (min-width: 124em) {
  .card__image {
    height: 16vh;
  }
}
.cards-grid__container {
  margin: 0 6% 4rem 6%;
}
.goals__header {
  margin-top: 0;
  text-align: center;
  width: 100%;
}
.goal {
  display: inline-block;
  width: 32%;
  padding: 0.5em;
  position: relative;
  text-align: center;
  transition: all 0.2s ease-in-out;
}
.goal:only-child {
  margin: 0 auto;
}
.goal p {
  display: none;
}
.goal__icon {
  font-family: 'iconset';
  font-size: 3.2em;
  transition: all 0.2s ease-in-out;
}
.goal__headline {
  font-size: 1.3rem;
  margin-top: 0;
}
.goal__link {
  color: hsl(0, 0%, 16%);
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.goal__link:after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.goal:focus-within {
  transform: scale(1.06);
}
.goal:focus-within a:focus {
  color: hsl(0, 0%, 16%);
  text-decoration: underline;
}
a.goal__link:focus {
  color: hsl(0, 0%, 16%);
  text-decoration: underline;
}
#favoured {
  padding: 2rem 6%;
}
.service #favoured {
  background-color: hsl(359, 86%, 72%);
}
.leisure #favoured {
  background-color: hsl(326, 38%, 75%);
}
.health #favoured {
  background-color: hsl(181, 43%, 56%);
}
.communal #favoured {
  background-color: hsl(38, 94%, 62%);
}
#favoured .goal__icon {
  color: hsl(0, 0%, 99%);
}
#favoured .goal:focus-within .goal__icon {
  color: hsl(0, 0%, 16%);
}
#favoured .goal:hover .goal__icon {
  color: hsl(0, 0%, 16%);
}
.favoured-flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-evenly;
}
#goals {
  background: hsl(0, 0%, 99%);
  padding: 2rem 6%;
}
.service #goals .goal__icon {
  color: hsl(359, 86%, 72%);
}
.leisure #goals .goal__icon {
  color: hsl(326, 38%, 75%);
}
.health #goals .goal__icon {
  color: hsl(181, 43%, 56%);
}
.communal #goals .goal__icon {
  color: hsl(38, 94%, 62%);
}
#goals .goal:focus-within .goal__icon {
  color: hsl(0, 0%, 16%);
}
#goals .goal:hover .goal__icon {
  color: hsl(0, 0%, 16%);
}
.goals-flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-evenly;
  padding: 1rem 0;
}
@media only screen and (min-width: 35em) {
  .goal p {
    display: block;
  }
  .goals__footer {
    margin-bottom: 2rem;
  }
  .goals__footer .button {
    width: 48%;
  }
  #goals {
    background: hsl(0, 0%, 99%);
    padding: 2rem 2%;
  }
}
@media only screen and (min-width: 64em) {
  .goal__icon {
    font-size: 4.6em;
  }
  #favoured {
    padding: 2rem 12%;
  }
  .favoured-flex {
    padding: 2rem 0;
  }
  #goals {
    padding: 2rem 6%;
  }
  #goals .goal {
    width: 24%;
  }
}
@media only screen and (min-width: 76em) {
  .goals-flex {
    padding: 2rem 4%;
  }
  .goal__headline {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 124em) {
  #favoured {
    padding: 2rem 24%;
  }
  #goals {
    padding: 2rem 18%;
  }
}
.collapsible-section {
  border-bottom: solid 1px hsl(0, 0%, 16%);
  transition: all 0.1s ease-in-out;
}
.collapsible-section .collapsible-section__summary {
  margin: 0;
}
.collapsible-section .collapsible-section__summary button {
  all: inherit;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 0.5em 0;
}
.collapsible-section .collapsible-section__summary button svg {
  height: 1em;
  margin-left: 0.5em;
}
/*
.collapsible-section__summary button[aria-expanded="true"] {
  text-decoration: underline;
}
*/
.collapsible-section__summary button[aria-expanded="true"] .vert {
  display: none;
}
[aria-expanded] rect {
  fill: currentColor;
}
.collapsible-section__summary button:focus {
  outline-width: 2px;
  outline-style: solid;
  outline-color: Highlight;
}
.collapsible-section__summary button:hover {
  text-decoration: underline;
}
@media (-webkit-min-device-pixel-ratio: 0) {
  .collapsible-section__summary button:focus {
    outline-color: -webkit-focus-ring-color;
    outline-style: auto;
    outline-width: 5px;
  }
}
.collapsible-section__detail {
  opacity: 1;
  transition: all ease-in-out 0.2s;
}
.collapsible-section__detail .h-card-article {
  margin: 2em 0 0 0;
}
.collapsible-section__detail[hidden] {
  opacity: 0;
}
@media only screen and (min-width: 35em) {
  @supports (display: grid) {
    .collapsible-section__detail .h-card-article {
      display: grid;
      grid-column: sidebar / end;
      grid-template-columns: 36.5% 63.5%;
      margin: 2em 0 0 -57%;
    }
    .h-card__photo,
    .h-card__logo {
      grid-column: 1;
      width: 88.5%;
    }
    .h-card__data {
      grid-column: 2;
    }
  }
}
@media only screen and (min-width: 76em) {
  @supports (display: grid) {
    .collapsible-section__detail .h-card-article {
      grid-column: sidebar / right;
      grid-template-columns: 37.5% 62.5%;
      margin: 2em 0 0 -60%;
    }
    .h-card__photo,
    .h-card__logo {
      text-align: right;
      width: 83.5%;
    }
  }
}
.event-card {
  display: flex;
  flex-direction: column;
  margin-bottom: 2em;
}
.service .event-card:nth-child(even) .dt-start {
  background-color: hsl(359, 86%, 82%);
}
.leisure .event-card:nth-child(even) .dt-start {
  background-color: hsl(326, 38%, 85%);
}
.health .event-card:nth-child(even) .dt-start {
  background-color: hsl(181, 43%, 66%);
}
.communal .event-card:nth-child(even) .dt-start {
  background-color: hsl(38, 94%, 72%);
}
.event-card:nth-child(even) .event-card__content {
  background: hsl(0, 0%, 95%);
}
.dt-start {
  display: flex;
  flex-direction: row;
  font-family: 'open-sans-bold', sans-serif;
  font-size: 1.6rem;
  padding: 0.5rem;
  width: 100%;
}
.service .dt-start {
  background-color: hsl(359, 86%, 72%);
}
.leisure .dt-start {
  background-color: hsl(326, 38%, 75%);
}
.health .dt-start {
  background-color: hsl(181, 43%, 56%);
}
.communal .dt-start {
  background-color: hsl(38, 94%, 62%);
}
.dt-day {
  margin-right: 0.333em;
}
.dt-month {
  text-transform: uppercase;
}
.event-card__content {
  padding: 0.5rem;
}
.event-card__header {
  font-family: 'open-sans-medium', sans-serif;
  font-size: 1.4rem;
  margin: 0 0 0.5em 0;
}
.event-card__category {
  font-size: 1.1rem;
}
@media only screen and (min-width: 35em) {
  .event-card {
    flex-direction: row;
    margin-bottom: 2px;
  }
  .dt-start {
    flex-basis: 20%;
    flex-direction: column-reverse;
    justify-content: flex-end;
    padding: 1rem 0.5rem;
    min-width: 10rem;
  }
  .dt-day {
    display: block;
    font-size: 2.8rem;
    line-height: 1.2;
    margin-right: 0;
    text-align: right;
  }
  .dt-m-and-y {
    border-bottom: solid 1px hsl(0, 0%, 16%);
  }
  .dt-month {
    display: block;
    float: left;
    font-family: 'open-sans-medium', sans-serif;
    text-transform: uppercase;
  }
  .dt-year {
    display: block;
    font-family: 'open-sans-medium', sans-serif;
    text-align: right;
  }
  .event-card__header {
    font-size: 1.6rem;
  }
  .event-card__content {
    flex-basis: 80%;
    padding: 1rem;
  }
}
.calendar-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr;
  padding: 2rem 6%;
}
.calendar-grid__header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 0 0 1rem 0;
}
.calendar-grid__header h2 {
  margin: 0.4em 0;
}
.calendar-grid__header button {
  margin: 0;
  padding: 0.666em 1em 0.5em 1em;
}
.calendar-grid__header button use {
  fill: hsl(0, 0%, 99%);
}
.calendar-grid__header button:hover,
.calendar-grid__header button:focus {
  background: hsl(0, 0%, 75%);
}
.calendar-grid__header button#next .arrow-left {
  transform: rotate(180deg);
}
.day__list {
  border-bottom: solid 1px hsl(0, 0%, 16%);
  display: grid;
  font-family: 'open-sans-medium', sans-serif;
  grid-template-columns: repeat(7, 1fr);
  justify-items: center;
  list-style-type: none;
  margin: 0.5em 0 0 0;
  padding: 0 0 0.5em 0;
}
.calendar__screen {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 1fr;
}
.calendar__screen > .day {
  border-bottom: solid 1px hsl(0, 0%, 87%);
  margin-bottom: -1px;
}
.day {
  cursor: default;
  min-height: 3.5em;
  padding: 0.3em 0 0.5em 0;
  text-align: center;
}
.day .today--indicator {
  display: inline-block;
  margin: 0 0 0.2em 0;
  padding: 0.1em 0.5em 0.15em 0.5em;
}
.day .category--indicator {
  border-radius: 50%;
  display: block;
  font-family: 'open-sans-medium', sans-serif;
  height: 1rem;
  margin: 0 auto;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 1rem;
}
.day .category--indicator.ap {
  background: hsl(0, 98%, 60%);
  color: hsl(0, 0%, 16%);
}
.day .category--indicator.rm {
  background: hsl(0, 0%, 16%);
  color: hsl(0, 0%, 99%);
}
.day .category--indicator.bio {
  background: hsl(22, 70%, 55%);
  color: hsl(0, 0%, 16%);
}
.day .category--indicator.gs {
  background: hsl(50, 100%, 50%);
  color: hsl(0, 0%, 16%);
}
.sunday {
  color: hsl(0, 0%, 44%);
}
.today {
  color: hsl(0, 0%, 99%);
  font-family: 'open-sans-medium', sans-serif;
}
.today .today--indicator {
  background: hsl(0, 0%, 44%);
  border-radius: 0.5em;
}
#event-detail {
  padding: 0 6%;
}
#detail-block {
  border-bottom: solid 1px hsl(0, 0%, 87%);
  padding-bottom: 2rem;
}
#detail-block .category--indicator {
  border-radius: 0.2em;
  display: block;
  font-family: 'open-sans-medium', sans-serif;
  padding: 0.2em 1em;
}
#detail-block .category--indicator.empty {
  color: hsl(0, 0%, 75%);
}
#detail-block .category--indicator.ap {
  background: hsl(0, 98%, 60%);
  color: hsl(0, 0%, 16%);
}
#detail-block .category--indicator.rm {
  background: hsl(0, 0%, 16%);
  color: hsl(0, 0%, 99%);
}
#detail-block .category--indicator.bio {
  background: hsl(22, 70%, 55%);
  color: hsl(0, 0%, 16%);
}
#detail-block .category--indicator.gs {
  background: hsl(50, 100%, 50%);
  color: hsl(0, 0%, 16%);
}
@media only screen and (min-width: 35em) {
  .calendar-grid {
    padding: 4rem 2%;
  }
  .calendar-grid__header button {
    padding: 0.666em 1.4em 0.5em 1.4em;
  }
  .day {
    min-height: 4.5em;
    padding: 0.5em;
  }
  .day .category--indicator {
    border-radius: 0.2em;
    display: block;
    height: auto;
    margin: 0 auto;
    overflow: auto;
    text-indent: 0;
    white-space: normal;
    width: 100%;
  }
}
@media only screen and (min-width: 76em) {
  .calendar-grid {
    padding: 4rem 6%;
  }
}
@media only screen and (min-width: 124em) {
  .calendar-grid {
    padding: 4rem 18%;
  }
}
.weather {
  display: flex;
  flex-direction: column;
  margin: 0 0 4rem 0;
}
.weather .weather__report {
  align-items: center;
  border-bottom: solid 3px hsl(0, 0%, 16%);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 1em;
}
.weather__temperature {
  font-family: 'open-sans-medium', sans-serif;
  font-size: 2.4rem;
  text-align: right;
  text-transform: uppercase;
  margin: 0;
}
.weather__data dt {
  float: left;
  width: 43%;
  padding-bottom: 0;
}
.weather__data dd {
  margin-left: 43%;
  text-align: right;
}
.weather__data dd:after {
  content: "";
  display: block;
  clear: both;
}
.weather__icon {
  font-family: 'iconset';
  font-size: 7.2rem;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}
.icon01d:before {
  content: '\e800';
}
/* sunny '' */
.icon01n:before {
  content: '\e801';
}
/* clear night '' */
.icon02d:before {
  content: '\e802';
}
/* cloudy day '' */
.icon02n:before {
  content: '\e803';
}
/* cloudy night '' */
.icon03d:before,
.icon03n:before {
  content: '\e804';
}
/* mostly cloudy '' */
.icon04d:before,
.icon04n:before {
  content: '\e805';
}
/* cloudy '' */
.icon09d:before,
.icon09n:before {
  content: '\e806';
}
/* showers '' */
.icon10d:before {
  content: '\e807';
}
/* showers day '' */
.icon10n:before {
  content: '\e808';
}
/* showers night '' */
.icon11d:before,
.icon11n:before {
  content: '\e809';
}
/* thunderstorm '' */
.icon13d:before,
.icon13n:before {
  content: '\e80a';
}
/* snow '' */
.icon50d:before,
.icon50n:before {
  content: '\e80b';
}
/* fog '' */
.icon00:before {
  content: '\e80c';
}
/* windy '' */
#gallery {
  padding: 0 6% 4rem 6%;
}
.gallery__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.gallery__item {
  height: 6.5rem;
  margin: 0 2% 1rem 0;
  text-align: center;
}
.gallery__item figure {
  margin: 0;
}
.gallery__item img {
  max-height: 100%;
  min-width: 100%;
  object-fit: contain;
}
.h-card__logo,
.h-card__photo {
  margin: 0 0 1rem 0;
}
.collapsible-section__detail .h-card-article:not(:last-child) .h-card__data {
  margin-bottom: 2rem;
}
.related-person:not(:last-child) .related-person__data {
  margin-bottom: 2rem;
}
.h-card__header h3 {
  margin-top: 0;
}
.p-tel,
a[href^="tel:"] {
  hyphens: none;
  white-space: nowrap;
}
.opening-hours__list {
  line-height: 1.2;
  margin-bottom: 1em;
}
.opening-hours__list dt {
  margin: 0 0 0.333em 0;
  padding-bottom: 0;
}
.opening-hours__list dd {
  margin: 0 0 1em 0;
}
.contact-data__list {
  margin-bottom: 1em;
}
.contact-data__list dt {
  float: left;
  margin: 0;
  padding-bottom: 0;
  width: 5em;
}
.contact-data__list dd {
  margin: 0 0 0 5em;
}
.contact-data__list dd:after {
  clear: both;
  content: "";
  display: block;
}
.contact-position {
  font-family: 'open-sans-medium', sans-serif;
}
.contact-h-card {
  margin: 0 0 1em 0;
}
.tag-list {
  list-style-type: none;
  margin: 0 0 1em 0;
  padding: 0;
}
.tag-list li {
  display: inline-block;
}
.calendar__list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.related-person {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.related-person .page-aside__header {
  width: 100%;
}
.related-person__photo {
  margin: 0;
  max-width: 18rem;
}
.related-person p {
  margin-bottom: 0.5em;
}
#page-footer {
  background: transparent;
  color: hsl(0, 0%, 99%);
}
#page-footer a {
  color: hsl(0, 0%, 99%);
  text-decoration: none;
}
#page-footer a:hover,
#page-footer a:active,
#page-footer a:focus {
  text-decoration: underline;
}
#page-footer a[href*="mailto:"] {
  text-decoration: underline;
}
#page-footer a[href*="mailto:"]:hover,
#page-footer a[href*="mailto:"]:active,
#page-footer a[href*="mailto:"]:focus {
  text-decoration: none;
}
body:not(.home):not(.portal) #page-footer {
  background: hsl(0, 0%, 16%);
}
.footer-grid {
  padding: 4rem 6%;
}
.footer-grid .h-card {
  margin-bottom: 4rem;
}
.navigation__list {
  font-family: 'open-sans-bold', sans-serif;
  font-size: 1.4rem;
  margin-bottom: 2rem;
  text-transform: uppercase;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.navigation__list li {
  margin-bottom: 0.5em;
}
.footer__header {
  margin-top: 0;
}
.http-error {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-around;
  padding: 0 6% 8rem 6%;
  min-height: 100vh;
}
.content-syndication .helpgv-list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.content-syndication .helpgv-list .helpgv-list__item {
  margin: 0 0 1em 0;
  width: 100%;
}
.content-syndication .helpgv-list .helpgv-list__item a {
  align-items: center;
  background-repeat: no-repeat;
  background-size: 2.8em;
  display: flex;
  font-family: 'open-sans-medium', sans-serif;
  font-size: 1.4rem;
  line-height: 1.2;
  min-height: 2.8em;
  padding: 0 0 0 3.2em;
}
.content-syndication h1 {
  align-items: center;
  display: flex;
  flex-direction: row;
  text-transform: none;
}
.content-syndication h1 .h1_icon {
  margin-right: 4%;
}
.content-syndication a[href*="//"]:not([href*="wullersdorf.gv.at"]):not([href*="wullersdorf.at"]):not([href*="app.wullersdorf.at"]) {
  margin-left: 0;
}
.content-syndication a[href*="//"]:not([href*="wullersdorf.gv.at"]):not([href*="wullersdorf.at"]):not([href*="app.wullersdorf.at"]):before {
  content: '';
  display: inline;
  font-family: inherit;
  padding-right: 0;
}
.content-syndication ul {
  padding-left: 2em;
}
.content-syndication ul li {
  margin-bottom: 0.5em;
}
.content-syndication ul li ul li {
  margin-bottom: 0;
}
.content-syndication .acceptance,
.content-syndication .source {
  font-size: 1.1rem;
}
.hide-text {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.screen-reader,
.screen-reader-text {
  font-size: 1px;
  position: absolute!important;
  clip: rect(1px, 1px, 1px, 1px);
}
.hide-on-mobile {
  display: none;
}
@media only screen and (min-width: 35em) {
  html {
    font-size: 76%;
  }
  body {
    line-height: 1.4;
  }
  /* Headlines */
  h1 {
    font-size: 2.3rem;
  }
  h2 {
    font-size: 2.1rem;
  }
  h3 {
    font-size: 1.9rem;
  }
  p {
    margin: 0 0 1.4em 0;
  }
  body:not(.home):not(.portal) #page-head.high-head {
    min-height: 26rem;
  }
  [role="banner"] {
    padding: 2rem 2% 4rem 2%;
  }
  .logo-container {
    width: 50%;
  }
  #toggle-search {
    font-size: 3rem;
  }
  #page-bulletin {
    padding-top: 13rem;
  }
  #breadcrumb-navigation {
    margin-top: -2.5rem;
  }
  .page__image img {
    height: 26rem;
    object-position: 50% 62%;
  }
  @supports (display: grid) {
    .page__title {
      grid-column: sidebar;
    }
    body:not(.home):not(.portal) .page__title {
      grid-column: sidebar / end;
    }
  }
  .site-search__wrap {
    width: 80%;
  }
  .site-search__form {
    padding: 0 2%;
  }
  .previous-page .page-selector {
    padding: 0.5em 1em 0.5em 0;
    width: 8.8em;
  }
  .previous-page .page-selector .icon-indicator {
    margin-right: 0.333em;
  }
  .next-page .page-selector {
    padding: 0.5em 0 0.5em 1em;
    width: 8.8em;
  }
  .next-page .page-selector .icon-indicator {
    margin-left: 0.333em;
  }
  .page-selector .text-indicator {
    display: inline-block;
  }
  .page-grid {
    padding: 4rem 0 0 0;
  }
  .page__title,
  .section-grid,
  .preface {
    padding: 0;
  }
  .event-summary {
    margin: 0 0 1.25rem 0;
  }
  @supports (display: grid) {
    .home-section {
      padding: 2rem 0;
    }
    .home-section .cards-grid {
      grid-column: content / right;
    }
    .page-grid {
      display: grid;
      grid-template-columns: [start1] 2%
        [sidebar] 31%
        [gap] 4%
        [content] 61%
        [right] 2%
        [end1];
    }
    .page-grid .event-summary {
      grid-column: content / right;
    }
    .page-grid .preface {
      grid-column: content / right;
    }
    .page-grid .weather {
      grid-column: sidebar;
    }
    .page-grid .opening-hours {
      grid-column: sidebar;
    }
    .page-grid .home-section__header {
      grid-column: sidebar;
    }
    .section-grid {
      display: grid;
      grid-column: sidebar / right;
      grid-template-columns: [images] 32.29% [gap] 4.17% [text] 63.54% [end2];
    }
    .section-grid .h-card-article {
      display: grid;
      grid-column: images / end2;
      grid-template-columns: 36.5% 63.5%;
      margin: 2em 0 0 0;
    }
    .section-grid__text {
      grid-column: text / end2;
    }
    .section-grid__figure {
      grid-column: images / gap;
      margin: 0 0 4rem 0;
    }
    .section-grid__figure.publication-cover {
      text-align: right;
    }
    .embed-full-width {
      grid-column: text / end2;
    }
    .aside-container {
      grid-column: content / right;
      margin: 0 0 4rem 0;
    }
    .form-container {
      grid-column: text;
    }
    .content-element--accordeon {
      grid-column: content;
      margin: 0 0 4rem 0;
    }
    .cards-grid__container {
      grid-column: content / right;
    }
    .span-all-rows {
      grid-column: start1 / end1;
    }
    .content-syndication {
      grid-column: text;
    }
  }
  .cards-grid__container {
    margin: 0 0 4rem 0;
  }
  #sub-navigation {
    border: none;
    padding: 0;
    text-align: left;
  }
  #sub-navigation .navigation__list {
    margin-top: 0;
  }
  #toggle-menu {
    display: none;
  }
  @supports (display: grid) {
    #sub-navigation {
      grid-column: images / gap;
    }
  }
  main .form-field:focus-within {
    transform: scale(1.1);
  }
  #gallery {
    padding: 0 2% 4rem 2%;
  }
  .gallery__item {
    height: 10.8rem;
  }
  .related-person {
    flex-direction: row;
    justify-content: flex-start;
  }
  .related-person__photo {
    margin-right: 2rem;
    width: 30%;
  }
  .related-person__photo img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
  }
  @supports (display: grid) {
    .footer-grid {
      display: grid;
      grid-template-columns: [start1] 2%
        [sidebar] 31%
        [gap] 4%
        [content] 61%
        [right] 2%
        [end1];
      padding: 4rem 0;
    }
    .footer-grid nav {
      grid-column: sidebar / gap;
    }
    .footer-grid .cards-grid {
      grid-column: content / right;
    }
  }
  .http-error {
    padding: 0 12% 8rem 12%;
  }
  .content-syndication .helpgv-list {
    flex-direction: row;
  }
  .content-syndication .helpgv-list .helpgv-list__item {
    width: 48%;
  }
  .content-syndication h1 {
    margin-left: -8%;
  }
  .content-syndication h1 .h1_icon {
    margin-left: -51px;
    margin-right: 8%;
  }
  .hide-on-mobile {
    display: inline;
  }
}
@media only screen and (min-width: 64em) {
  body:not(.home):not(.portal) #page-head.high-head {
    min-height: 28rem;
  }
  .logo-container {
    width: 32%;
  }
  .page__image img {
    height: 28rem;
    object-position: 50% 68%;
  }
  .filter {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
  }
  .filter__header {
    text-align: center;
    width: 100%;
  }
  .filter .form-field {
    margin-bottom: 0;
    padding: 0 0.6rem;
  }
  .filter button {
    margin: 1em 0.6rem 0 0.6rem;
  }
}
@media only screen and (min-width: 76em) {
  html {
    font-size: 78%;
  }
  body {
    line-height: 1.5;
  }
  p {
    margin: 0 0 1.5em 0;
  }
  [role="banner"] {
    padding: 2rem 6%;
  }
  .logo-container {
    max-width: 30rem;
    width: 23%;
  }
  #toggle-search {
    font-size: 3rem;
  }
  .site-search__form {
    padding: 0 6%;
  }
  .site-search__wrap {
    width: 66.666%;
  }
  @supports (display: grid) {
    .page-grid {
      display: grid;
      grid-template-columns: [start1] 6%
        [sidebar] 20%
        [gap1] 4%
        [content] 40%
        [gap2] 4%
        [aside] 20%
        [right] 6%
        [end1];
    }
    .page-grid .event-summary {
      grid-column: content / gap2;
    }
    .page-grid .preface {
      grid-column: content / gap2;
    }
    .section-grid {
      display: grid;
      grid-column: sidebar / gap2;
      grid-template-columns: [images] 31.25% [gap] 6.25% [text] 62.5% [end2];
    }
    .section-grid .h-card-article {
      grid-template-columns: 37.5% 62.5%;
    }
    .aside-container {
      grid-column: aside / right;
      grid-row: 1 / span 100;
    }
  }
  #gallery {
    padding: 0 6% 4rem 6%;
  }
  .gallery__item {
    height: 13.5rem;
    margin: 0 1% 1rem 0;
  }
  .aside-container .related-person {
    flex-direction: column;
  }
  .aside-container .related-person .related-person__photo {
    margin-right: 0;
    width: 100%;
  }
  @supports (display: grid) {
    .footer-grid {
      display: grid;
      grid-template-columns: [start1] 6%
        [sidebar] 20%
        [gap1] 4%
        [content] 40%
        [gap2] 4%
        [aside] 20%
        [right] 6%
        [end1];
    }
    .footer-grid nav {
      grid-column: sidebar / gap1;
    }
    .footer-grid .h-card {
      grid-column: 2;
    }
    .footer-grid .opening-hours {
      grid-column: 3;
    }
  }
  .http-error {
    padding: 0 25% 16rem 25%;
  }
}
@media only screen and (min-width: 124em) {
  [role="banner"] {
    padding: 2rem 18%;
  }
  .site-search__form {
    padding: 0 18%;
  }
  @supports (display: grid) {
    .page-grid {
      grid-template-columns: [start1] 18%
        [sidebar] 15%
        [gap1] 2%
        [content] 30%
        [gap2] 2%
        [aside] 15%
        [right] 18%
        [end1];
    }
  }
  #gallery {
    padding: 0 18% 4rem 18%;
  }
  @supports (display: grid) {
    .footer-grid {
      grid-template-columns: [start1] 18%
        [sidebar] 15%
        [gap1] 2%
        [content] 30%
        [gap2] 2%
        [aside] 15%
        [right] 18%
        [end1];
    }
  }
}
@media print {
  *,
  *:after,
  *:before {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:not(.logo-container):after {
    content: " (" attr(href) ")";
    margin: 1em 0 0 0;
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  blockquote,
  pre {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  img,
  tr {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  h2,
  h3,
  p {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  #fixed-bg-image,
  #toggle-search {
    display: none;
  }
  .logo-container {
    max-width: 24rem;
  }
  .card {
    border: solid 1px black;
  }
  .card__link:after,
  .goal__link:after {
    position: relative;
  }
  @supports (display: grid) {
    .home-section {
      padding: 2rem 0;
    }
    .home-section .cards-grid {
      grid-column: content / right;
    }
    .page-grid {
      display: grid;
      grid-template-columns: [start1] 2%
      [sidebar] 31%
      [gap] 4%
      [content] 61%
      [right] 2%
      [end1];
    }
    .page-grid .preface {
      grid-column: content / right;
    }
    .page-grid .weather {
      grid-column: sidebar;
    }
    .page-grid .opening-hours {
      grid-column: sidebar;
    }
    .page-grid .home-section__header {
      grid-column: sidebar;
    }
    .section-grid {
      display: grid;
      grid-column: sidebar / right;
      grid-template-columns: [images] 32.29% [gap] 4.17% [text] 63.54% [end2];
    }
    .section-grid__text {
      grid-column: text / end2;
    }
    .section-grid__text h2:first-child {
      margin-top: 0;
    }
    .section-grid__figure {
      grid-column: images / gap;
      margin: 0 0 4rem 0;
    }
    .section-grid__figure.publication-cover {
      text-align: right;
    }
    .embed-full-width {
      grid-column: text / end2;
    }
    .aside-container {
      grid-column: content / right;
      margin: 0 0 4rem 0;
    }
    .form-container {
      grid-column: text;
    }
    .content-element--accordeon {
      grid-column: content;
      margin: 0 0 4rem 0;
    }
    .cards-grid__container {
      grid-column: content / right;
      margin: 0;
    }
    .span-all-rows {
      grid-column: start1 / end1;
    }
    .content-syndication {
      grid-column: text;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: [start1] 2%
      [sidebar] 31%
      [gap] 4%
      [content] 61%
      [right] 2%
      [end1];
      padding: 4rem 0;
    }
    .footer-grid .navigation__list {
      grid-column: sidebar / gap;
    }
    .footer-grid .cards-grid {
      grid-column: content / right;
    }
    .cards-grid__container {
      grid-column: content / right;
    }
    .cards-grid {
      align-content: stretch;
      display: grid;
      grid-column: text / end2;
      grid-template-columns: repeat(auto-fill, minmax(40%, 1fr));
      grid-column-gap: 2rem;
    }
    .card {
      min-height: 28vh;
      width: 100%;
    }
    #page-bulletin .cards-grid {
      grid-column: 2;
      grid-row: 2 / span 100;
    }
    .page__title {
      grid-column: sidebar;
    }
    body:not(.home):not(.portal) .page__title {
      grid-column: sidebar / end;
    }
  }
}
