/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

body {
  --color--black: #141414;
  --color--grey: #747474;
  --color--lightgrey: #F7F7F7;
  --color--white: #FFFFFF;
  --color--cyan: #009EE3;
  --color--yellow: #FFE209;
  --color--magenta: #FF0078;
  --color--violet: #A5027D;
  --color--turquoise: #00ABAE;
  --font-stack: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --content-width: 1220px;
  --content-gutter: 2rem;
  --transition-time: 0.25s;
  --transition-time--longer: 0.5s;
}
@media only screen and (max-width: 1319px) {
  body {
    --content-width: 900px;
  }
}
@media only screen and (max-width: 999px) {
  body {
    --content-width: 720px;
    --content-gutter: 1.5rem;
  }
}
@media only screen and (max-width: 739px) {
  body {
    --content-width: calc( 100% - 2 * var( --content-gutter ) );
  }
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("https://static.fdphost.de/fonts/helvetica-neue.woff2") format("woff2"), url("https://static.fdphost.de/fonts/helvetica-neue.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  text-rendering: optimizeLegibility;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("https://static.fdphost.de/fonts/helvetica-neue-bold.woff2") format("woff2"), url("https://static.fdphost.de/fonts/helvetica-neue-bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
  text-rendering: optimizeLegibility;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("https://static.fdphost.de/fonts/helvetica-neue-italic.woff2") format("woff2"), url("https://static.fdphost.de/fonts/helvetica-neue-italic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
  text-rendering: optimizeLegibility;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("https://static.fdphost.de/fonts/helvetica-neue-bold-italic.woff2") format("woff2"), url("https://static.fdphost.de/fonts/helvetica-neue-bold-italic.woff") format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
  text-rendering: optimizeLegibility;
}
/****************************
****** BASE STYLES **********
****************************/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  width: 100%;
  height: 100%;
  scroll-padding-top: 10rem;
}

.content-container {
  overflow-x: hidden;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--font-stack);
}

body {
  font-size: 1.7rem;
  line-height: 1.65;
}
@media only screen and (max-width: 599px) {
  body {
    font-size: 1.6rem;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.15;
  color: var(--color--magenta);
}

h1 {
  font-size: 6.4rem;
  line-height: 1;
  margin-top: 4rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 1319px) {
  h1 {
    font-size: 5.4rem;
  }
}
@media only screen and (max-width: 999px) {
  h1 {
    font-size: 4.6rem;
  }
}
@media only screen and (max-width: 739px) {
  h1 {
    font-size: 3.8rem;
  }
}

h2 {
  font-size: 3.2rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 999px) {
  h2 {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 599px) {
  h2 {
    font-size: 2.6rem;
  }
}

h3 {
  font-size: 2.4rem;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 999px) {
  h3 {
    font-size: 2.2rem;
  }
}
@media only screen and (max-width: 599px) {
  h3 {
    font-size: 2rem;
  }
}

h4 {
  font-size: 2.4rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

h5 {
  font-size: 2.2rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

h6 {
  font-size: 2rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

p + p,
p + ul {
  margin-top: var(--content-gutter);
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 2rem;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

ul li,
ol li {
  margin-bottom: 0.5rem;
}

ul ul,
ol ol,
ul ol,
ol ul {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1rem 1rem;
}

b,
strong {
  font-weight: bold;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

sup,
sub {
  font-size: 66%;
  height: 0;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

small {
  font-size: 75%;
}

big {
  font-size: 125%;
}

table {
  margin: 0 0 2rem 0;
  width: 100%;
  border-collapse: collapse;
}

th {
  font-weight: bold;
}

th,
td {
  border: 0.1rem solid grey;
  padding: 0.4rem 0.8rem;
}

figure {
  margin-top: 0;
  margin-bottom: 0;
}
figure img {
  display: block;
}

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

hr {
  border: 0;
  height: 0.1rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
}

a {
  color: inherit;
}

.screen-reader-text {
  display: none;
  visibility: hidden;
}

::placeholder {
  color: var(--color--grey);
}

form fieldset {
  border: none;
  padding: 0;
}
form fieldset > legend {
  display: none;
}
form input[type=text],
form input[type=search],
form input[type=number],
form input[type=tel],
form input[type=email],
form input[type=password],
form input[type=submit],
form input[type=button],
form select,
form textarea,
form button {
  appearance: none;
  width: 100%;
  padding: 0.75rem 1.5rem;
  line-height: 1.5;
  margin: 1rem 0;
  border: none;
  border-bottom: 0.2rem solid var(--color--grey);
  background-color: var(--color--lightgrey);
  border-radius: 0;
}
form input[type=text]:focus,
form input[type=search]:focus,
form input[type=number]:focus,
form input[type=tel]:focus,
form input[type=email]:focus,
form input[type=password]:focus,
form input[type=submit]:focus,
form input[type=button]:focus,
form select:focus,
form textarea:focus,
form button:focus {
  outline: none;
  border-color: var(--color--magenta);
}
form input[type=submit],
form input[type=button],
form button[type=submit] {
  appearance: none;
  border: none;
  line-height: inherit;
  display: inline-block;
  width: auto;
  padding: 0.75rem 3rem;
  font-weight: bold;
  text-decoration: none;
  background-color: var(--color--magenta);
  color: var(--color--yellow);
  cursor: pointer;
}
.form-row {
  display: flex;
  gap: var(--content-gutter);
}
@media only screen and (max-width: 739px) {
  .form-row {
    flex-direction: column;
  }
}
.form-row + .form-row {
  margin-top: 1rem;
}

.form-cell {
  flex-basis: 50%;
  flex-grow: 1;
}
@media only screen and (max-width: 739px) {
  .form-cell {
    flex-basis: 100%;
  }
}

.wpcf7 form.wpcf7-form .wpcf7-response-output {
  line-height: 1.4;
  padding: 1rem 2rem;
  margin: 1rem 0 0;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background-color: #feffec;
}

/******************************
********** HEADER *************
******************************/
#header {
  width: 100%;
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 100;
}

#header__content {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  z-index: 470;
  width: 100%;
  height: 100%;
  background-color: var(--color--white);
  padding: 1.5rem 2.5rem;
  position: relative;
  box-shadow: 0 0.5rem 3rem rgba(0, 0, 0, 0.03), 0 0.25rem 1.5rem rgba(0, 0, 0, 0.03);
}
@media only screen and (max-width: 999px) {
  #header__content {
    padding: var(--content-gutter);
  }
}

#header__logo-link {
  text-decoration: none;
  line-height: 0;
  display: block;
  z-index: 465;
}

#header__logo {
  width: 10rem;
}

#header__nav-container {
  display: flex;
  align-items: center;
  --gap: 2rem;
}
@media only screen and (max-width: 1319px) {
  #header__nav-container {
    --gap: 1rem;
  }
}
#header__nav-container ul {
  padding: 0;
  margin: 0;
  list-style: none;
  width: 100%;
  display: flex;
  gap: var(--gap);
  color: var(--color--grey);
}
#header__nav-container ul li {
  padding: 0;
  margin: 0;
}
#header__nav-container ul li a {
  display: inline-block;
  text-decoration: none;
  position: relative;
}
@media (hover: hover) {
  #header__nav-container ul li a:hover {
    color: var(--color--magenta);
  }
  #header__nav-container ul li a:hover::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 0.3rem;
    top: 100%;
    left: 0;
    background-color: var(--color--magenta);
  }
}
#header__nav-container ul li:not(:first-of-type)::before {
  content: "/";
  padding-right: var(--gap);
}
@media only screen and (max-width: 739px) {
  #header__nav-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 450;
    overscroll-behavior: contain;
    visibility: hidden;
    opacity: 0;
    display: block;
    padding: 15rem var(--content-gutter);
    background-color: var(--color--white);
    transition: var(--transition-time--longer) ease clip-path, var(--transition-time--longer) ease visibility, var(--transition-time--longer) ease opacity, var(--transition-time--longer) ease top;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  body.header-menu--visible #header__nav-container {
    visibility: visible;
    opacity: 1;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% + 5rem), 0 calc(100% + 5rem));
  }
  #header__nav-container ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
  }
  #header__nav-container ul li {
    display: block;
    margin: 0;
    padding: 0;
  }
  #header__nav-container ul li:not(:first-of-type)::before {
    content: none;
  }
  #header__nav-container ul li a {
    display: block;
    font-size: 2.4rem;
    padding: 0.5rem 0;
    text-decoration: none;
    text-transform: uppercase;
  }
}

/**********************************
********** MOBILE NAV BUTTON ******
**********************************/
#header__nav-link {
  width: 4rem;
  height: 4rem;
  position: relative;
  cursor: pointer;
  text-decoration: none;
  appearance: none;
  text-indent: 9999px;
  z-index: 465;
  display: none;
}
@media only screen and (max-width: 739px) {
  #header__nav-link {
    display: block;
  }
}

#header__nav-link span {
  display: block;
  position: absolute;
  height: 0.2rem;
  width: 100%;
  background-color: var(--color--magenta);
  left: 0;
  transform: rotate(0deg);
  transform-origin: left center;
  transition: var(--transition-time--longer) ease top, var(--transition-time--longer) ease left, var(--transition-time--longer) ease opacity, var(--transition-time--longer) ease transform, var(--transition-time--longer) ease width;
}

#header__nav-link span:nth-child(1) {
  top: 0.8rem;
}

#header__nav-link span:nth-child(2) {
  top: 1.9rem;
}

#header__nav-link span:nth-child(3) {
  top: 3rem;
}

body.header-menu--visible #header__nav-link span:nth-child(1) {
  transform: rotate(45deg);
  top: 0.45rem;
  left: 0.7rem;
}

body.header-menu--visible #header__nav-link span:nth-child(2) {
  left: 50%;
  width: 0%;
  opacity: 0;
}

body.header-menu--visible #header__nav-link span:nth-child(3) {
  transform: rotate(-45deg);
  top: 3.35rem;
  left: 0.7rem;
}

#footer {
  background-color: var(--color--yellow);
  color: var(--color--magenta);
  display: flex;
  justify-content: flex-end;
  padding: 1rem var(--content-gutter);
}
@media only screen and (max-width: 599px) {
  #footer {
    justify-content: center;
  }
}

.footer__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: var(--content-gutter);
}
.footer__menu li {
  margin: 0;
  padding: 0;
}
.footer__menu li a {
  text-decoration: none;
}
.footer__menu li:not(:first-of-type)::before {
  content: "/";
  padding-right: var(--content-gutter);
}

#visibility {
  position: fixed;
  z-index: 9999;
  bottom: 0;
  left: calc(50% - 25rem);
  width: 50rem;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
  padding: 1.5rem 2rem;
  background-color: var(--color--magenta);
  color: var(--color--yellow);
}
@media only screen and (max-width: 739px) {
  #visibility {
    left: 0;
    width: 100%;
  }
}

body:not(.home, .blog) main {
  max-width: var(--content-width);
  margin: 0 auto;
  padding-bottom: 7.5rem;
}

body.single-post main {
  padding-left: var(--content-gutter);
  padding-right: var(--content-gutter);
  max-width: 72rem;
}

section {
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 12.5rem;
}
@media only screen and (max-width: 999px) {
  section {
    margin-bottom: 10rem;
  }
}
@media only screen and (max-width: 599px) {
  section {
    margin-bottom: 7.5rem;
  }
}

.button {
  display: inline-block;
  padding: 0.75rem 3rem;
  font-weight: bold;
  text-decoration: none;
  background-color: var(--color--magenta);
  color: var(--color--yellow);
}

.module-title {
  color: var(--color--yellow);
  font-style: italic;
  padding-right: 2.5rem;
  z-index: 50;
}
.module-title span {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 0.75rem 2rem;
  isolation: isolate;
}
.module-title span::before, .module-title span::after {
  content: "";
  position: absolute;
  transform: skew(-10deg);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.module-title span::before {
  z-index: -1;
  background-color: var(--color--magenta);
}
.module-title span::after {
  z-index: -2;
  background-color: var(--color--violet);
  transform: skew(-10deg) translateX(-4rem) translateY(-2rem);
}
@media only screen and (max-width: 599px) {
  .module-title {
    margin-left: 1rem;
  }
}

.module-title--expand-left span::after {
  left: calc(-1 * (100vw - var(--content-width)) / 2);
}

.module-title--centered {
  text-align: center;
  padding-right: 0;
}
@media only screen and (max-width: 599px) {
  .module-title--centered {
    text-align: left;
  }
}

.module-subtitle {
  color: var(--color--magenta);
  font-style: italic;
  transform: translateX(-2rem);
}
.module-subtitle span {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 0.75rem 1.75rem;
  isolation: isolate;
}
.module-subtitle span::before {
  content: "";
  position: absolute;
  transform: skew(-10deg);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: var(--color--yellow);
}

.float-buttons {
  position: fixed;
  z-index: 50;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 739px) {
  .float-buttons {
    left: auto;
    right: 0;
    top: auto;
    bottom: 7.5rem;
    transform: none;
  }
}

.float-buttons__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.float-buttons__item {
  margin: 0;
  padding: 0;
}
.float-buttons__item + .float-buttons__item {
  margin-top: 0.5rem;
}

.float-buttons__link {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 7.5rem;
  height: 7.5rem;
  background-color: var(--color--magenta);
  background-position: 50% 30%;
  background-repeat: no-repeat;
  background-size: 35%;
  color: var(--color--white);
  text-decoration: none;
  padding-bottom: 1.25rem;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.15;
}
@media (hover: hover) {
  .float-buttons__link:hover {
    background-color: var(--color--violet);
  }
}
@media only screen and (max-width: 739px) {
  .float-buttons__link {
    width: 6rem;
    height: 6rem;
    font-size: 1rem;
    padding-bottom: 1rem;
  }
}

.float-buttons__donate-link {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M29.6 28.8h-28.8c-0.442 0-0.8-0.358-0.8-0.8v-16c0-0.442 0.358-0.8 0.8-0.8h28.8c0.442 0 0.8 0.358 0.8 0.8v16c0 0.442-0.358 0.8-0.8 0.8zM1.6 27.2h27.2v-14.4h-27.2v14.4zM28 9.6h-25.6c-0.442 0-0.8-0.358-0.8-0.8s0.358-0.8 0.8-0.8h25.6c0.442 0 0.8 0.358 0.8 0.8s-0.358 0.8-0.8 0.8zM26.4 6.4h-22.4c-0.442 0-0.8-0.358-0.8-0.8s0.358-0.8 0.8-0.8h22.4c0.442 0 0.8 0.358 0.8 0.8s-0.358 0.8-0.8 0.8zM18.8 22.507c-0.382-0.221-0.872-0.091-1.093 0.291-0.403 0.696-1.366 1.2-2.293 1.2-1.091 0-2.075-0.688-2.453-1.6h2.238c0.442 0 0.8-0.358 0.8-0.8s-0.358-0.8-0.8-0.8h-2.4v-1.6h2.4c0.442 0 0.8-0.358 0.8-0.8s-0.358-0.8-0.8-0.8h-2.238c0.376-0.912 1.362-1.6 2.453-1.6 0.926 0 1.891 0.506 2.293 1.2 0.221 0.382 0.71 0.514 1.093 0.291s0.514-0.71 0.291-1.093c-0.682-1.178-2.194-1.998-3.678-1.998-1.053 0-2.114 0.418-2.91 1.147-0.627 0.574-1.045 1.285-1.216 2.053h-0.888c-0.442 0-0.8 0.358-0.8 0.8s0.358 0.8 0.8 0.8h0.8v1.6h-0.8c-0.442 0-0.8 0.358-0.8 0.8s0.358 0.8 0.8 0.8h0.888c0.171 0.768 0.589 1.478 1.216 2.053 0.797 0.73 1.858 1.147 2.91 1.147 1.485 0 2.997-0.822 3.678-2 0.221-0.382 0.091-0.872-0.291-1.093z'/%3E%3C/svg%3E%0A");
}

.float-buttons__member-link {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m20.8 10.347c-6e-3 -0.266-0.061-1.454-0.562-2.654-0.342-0.822-0.822-1.485-1.426-1.966-0.154-0.123-0.317-0.234-0.485-0.333 0.541-0.573 0.872-1.344 0.872-2.192 0-1.765-1.435-3.2-3.2-3.2s-3.2 1.435-3.2 3.2c0 0.848 0.333 1.619 0.872 2.192-0.168 0.099-0.33 0.21-0.485 0.333-0.603 0.483-1.083 1.146-1.426 1.966-0.555 1.333-0.562 2.653-0.562 2.707 0 0.442 0.358 0.8 0.8 0.8h8 2e-3c0.442 0 0.8-0.358 0.8-0.8 0-0.018 0-0.035-2e-3 -0.053zm-6.4-7.147c0-0.882 0.718-1.6 1.6-1.6s1.6 0.718 1.6 1.6-0.718 1.6-1.6 1.6-1.6-0.718-1.6-1.6zm-1.52 6.4c0.061-0.374 0.17-0.837 0.358-1.293 0.534-1.283 1.438-1.907 2.762-1.907 2.286 0 2.939 2.029 3.125 3.2h-6.246zm-3.28 18.347c-6e-3 -0.266-0.061-1.454-0.562-2.654-0.342-0.822-0.822-1.483-1.426-1.966-0.154-0.123-0.317-0.234-0.485-0.333 0.541-0.573 0.872-1.344 0.872-2.192 0-1.765-1.435-3.2-3.2-3.2s-3.2 1.435-3.2 3.2c0 0.848 0.333 1.619 0.872 2.192-0.168 0.099-0.33 0.21-0.485 0.333-0.603 0.483-1.083 1.146-1.426 1.966-0.555 1.333-0.562 2.653-0.562 2.707 0 0.442 0.358 0.8 0.8 0.8h8 2e-3c0.442 0 0.8-0.358 0.8-0.8 0-0.018 0-0.035-2e-3 -0.053zm-6.4-7.147c0-0.882 0.718-1.6 1.6-1.6s1.6 0.718 1.6 1.6-0.718 1.6-1.6 1.6-1.6-0.718-1.6-1.6zm-1.52 6.4c0.061-0.374 0.17-0.837 0.358-1.293 0.534-1.283 1.438-1.907 2.762-1.907 2.286 0 2.939 2.029 3.125 3.2h-6.246zm30.32 0.747c-6e-3 -0.266-0.061-1.454-0.562-2.654-0.342-0.822-0.822-1.483-1.426-1.966-0.154-0.123-0.317-0.234-0.485-0.333 0.541-0.573 0.872-1.344 0.872-2.192 0-1.765-1.435-3.2-3.2-3.2s-3.2 1.435-3.2 3.2c0 0.848 0.333 1.619 0.872 2.192-0.168 0.099-0.33 0.21-0.485 0.333-0.603 0.483-1.083 1.146-1.426 1.966-0.555 1.333-0.562 2.653-0.562 2.707 0 0.442 0.358 0.8 0.8 0.8h8 2e-3c0.442 0 0.8-0.358 0.8-0.8 0-0.018 0-0.035-2e-3 -0.053zm-6.4-7.147c0-0.882 0.718-1.6 1.6-1.6s1.6 0.718 1.6 1.6-0.718 1.6-1.6 1.6-1.6-0.718-1.6-1.6zm-1.52 6.4c0.061-0.374 0.17-0.837 0.358-1.293 0.534-1.283 1.438-1.907 2.762-1.907 2.286 0 2.939 2.029 3.125 3.2h-6.246zm-8.08 4.8c-2.08 0-4.146-0.51-5.974-1.477-0.39-0.206-0.539-0.691-0.333-1.082s0.691-0.539 1.082-0.333c1.598 0.845 3.405 1.291 5.226 1.291s3.627-0.446 5.226-1.291c0.39-0.206 0.875-0.058 1.082 0.333s0.058 0.875-0.333 1.082c-1.827 0.966-3.893 1.477-5.974 1.477zm11.568-15.2c-0.35 0-0.674-0.232-0.771-0.587-0.742-2.688-2.456-4.992-4.824-6.49-0.373-0.237-0.485-0.73-0.25-1.104s0.73-0.485 1.104-0.25c2.707 1.71 4.664 4.344 5.512 7.416 0.117 0.426-0.133 0.867-0.558 0.984-0.07 0.019-0.142 0.029-0.213 0.029zm-23.136 0c-0.07 0-0.142-0.01-0.213-0.029-0.426-0.117-0.675-0.558-0.558-0.984 0.848-3.072 2.806-5.706 5.512-7.416 0.373-0.235 0.867-0.125 1.104 0.25s0.125 0.867-0.25 1.104c-2.37 1.496-4.083 3.802-4.824 6.49-0.098 0.355-0.419 0.587-0.771 0.587z'/%3E%3C/svg%3E%0A");
  background-position: 50% 20%;
  padding-bottom: 0.75rem;
}
@media only screen and (max-width: 739px) {
  .float-buttons__member-link {
    padding-bottom: 0.5rem;
  }
}

.float-buttons__poster-link {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23ffffff' d='M29.6 32h-27.2c-1.323 0-2.4-1.077-2.4-2.4v-27.2c0-1.323 1.077-2.4 2.4-2.4h27.2c1.323 0 2.4 1.077 2.4 2.4v27.2c0 1.323-1.077 2.4-2.4 2.4zM2.4 1.6c-0.442 0-0.8 0.358-0.8 0.8v27.2c0 0.442 0.358 0.8 0.8 0.8h27.2c0.442 0 0.8-0.358 0.8-0.8v-27.2c0-0.442-0.358-0.8-0.8-0.8h-27.2zM28 3.2h-24c-0.442 0-0.8 0.358-0.8 0.8v19.2c0 0.442 0.358 0.8 0.8 0.8h17.27c0.002 0 0.003 0 0.005 0s0.003 0 0.005 0h6.72c0.442 0 0.8-0.358 0.8-0.8v-19.2c0-0.442-0.358-0.8-0.8-0.8zM12.058 22.4c0.81-1.062 2.13-1.6 3.942-1.6s3.134 0.538 3.942 1.6h-7.885zM27.2 22.4h-5.397c-0.669-1.382-2.229-3.2-5.803-3.2s-5.134 1.818-5.803 3.2h-5.397v-17.6h22.4v17.6zM16 17.6c-2.646 0-4.8-2.154-4.8-4.8s2.154-4.8 4.8-4.8 4.8 2.154 4.8 4.8-2.154 4.8-4.8 4.8zM16 9.6c-1.765 0-3.2 1.435-3.2 3.2s1.435 3.2 3.2 3.2c1.765 0 3.2-1.435 3.2-3.2s-1.435-3.2-3.2-3.2z'%3E%3C/path%3E%3C/svg%3E%0A");
  background-position: 50% 20%;
  padding-bottom: 0.75rem;
}
@media only screen and (max-width: 739px) {
  .float-buttons__poster-link {
    padding-bottom: 0.5rem;
  }
}

body.blog main {
  background-color: var(--color--lightgrey);
  padding: 5rem 0;
}
@media only screen and (max-width: 739px) {
  body.blog main {
    padding: var(--content-gutter) 0;
  }
}

.posts-archive__title {
  font-size: 3.6rem;
  text-align: center;
}

.posts-archive__content-container {
  max-width: var(--content-width);
  margin: 5rem auto;
}

.posts-archive__item-container {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--content-gutter);
}

.posts-archive__item {
  padding: 0;
  margin: 0;
  background-color: var(--color--white);
  box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.05);
  width: calc(33.3333333333% - var(--content-gutter) / 3 * 2);
}
@media only screen and (max-width: 999px) {
  .posts-archive__item {
    width: calc(50% - var(--content-gutter) / 2);
  }
}
@media only screen and (max-width: 739px) {
  .posts-archive__item {
    width: 100%;
  }
}

.posts-archive__item-link {
  text-decoration: none;
  display: block;
  height: 100%;
}

.posts-archive__item__thumbnail-container {
  width: 100%;
  aspect-ratio: 2/1;
  background-color: #e0e0e0;
}

.posts-archive__item__thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  vertical-align: middle;
}

.posts-archive__item__title {
  font-size: 2.4rem;
  margin: 0;
  padding: 2rem 3rem 1rem;
}
@media only screen and (max-width: 999px) {
  .posts-archive__item__title {
    font-size: 2.2rem;
  }
}
@media only screen and (max-width: 599px) {
  .posts-archive__item__title {
    font-size: 2rem;
  }
}

.posts-archive__item__excerpt {
  margin: 0;
  padding: 0 3rem 3rem 3rem;
  color: var(--color--grey);
  font-size: 1.5rem;
}

.posts-archive__pagination {
  text-align: center;
  padding: 0 0 5rem;
}
@media only screen and (max-width: 739px) {
  .posts-archive__pagination {
    padding: 2.5rem 0 5rem;
  }
}
.posts-archive__pagination .page-numbers {
  display: inline-block;
  padding: 0.25rem 1.25rem;
  background-color: white;
  box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.05);
}
.posts-archive__pagination .page-numbers.current {
  color: var(--color--grey);
}

.module-intro {
  max-width: 100%;
  width: 100%;
  display: flex;
  min-height: 50rem;
}
@media only screen and (max-width: 999px) {
  .module-intro {
    min-height: 40rem;
  }
}
@media only screen and (max-width: 599px) {
  .module-intro {
    flex-direction: column-reverse;
    min-height: 0;
  }
}

.module-intro__column {
  width: 50%;
}
@media only screen and (max-width: 599px) {
  .module-intro__column {
    width: 100%;
  }
}

.module-intro__content-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background-color: var(--color--yellow);
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  padding-left: calc((100vw - var(--content-width)) / 2);
  padding-right: 10rem;
}
@media only screen and (max-width: 999px) {
  .module-intro__content-column {
    padding-right: 5rem;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media only screen and (max-width: 739px) {
  .module-intro__content-column {
    padding-left: var(--content-gutter);
    padding-right: var(--content-gutter);
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}

.module-intro__name {
  margin: 0;
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--color--magenta);
}

.module-intro__statement {
  margin: 1rem 0 2rem;
}

.module-intro__subline {
  margin: 0;
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--color--magenta);
}

.module-intro__image-column {
  background-color: var(--color--yellow);
}
@media only screen and (max-width: 599px) {
  .module-intro__image-column {
    height: 60vw;
  }
}

.module-intro__image {
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
}

.module-intro__default-image {
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
}
.module-intro__default-image::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15%;
  height: 70%;
  width: 0.4rem;
  background-color: var(--color--magenta);
}
@media only screen and (max-width: 599px) {
  .module-intro__default-image::before {
    top: auto;
    bottom: 0;
    left: var(--content-gutter);
    height: 0.4rem;
    width: calc(100% - 2 * var(--content-gutter));
  }
}

.module-text {
  display: flex;
}
@media only screen and (max-width: 599px) {
  .module-text {
    flex-direction: column;
  }
}

.module-text__title-column {
  width: 25%;
}
@media only screen and (max-width: 999px) {
  .module-text__title-column {
    width: 33.33%;
  }
}
@media only screen and (max-width: 599px) {
  .module-text__title-column {
    width: 100%;
  }
}

.module-text__content-column {
  width: 60%;
}
@media only screen and (max-width: 999px) {
  .module-text__content-column {
    width: 66.66%;
  }
}
@media only screen and (max-width: 599px) {
  .module-text__content-column {
    width: 100%;
  }
}

.module-text__profile-picture-container {
  width: 15rem;
  height: 15rem;
  float: left;
  margin-right: 3rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 739px) {
  .module-text__profile-picture-container {
    width: 12.5rem;
    height: 12.5rem;
  }
}

.module-text__profile-picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: 25rem;
}

.module-text__buttons {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.5rem;
  row-gap: 1rem;
}

.module-text-grid__container {
  display: flex;
  flex-wrap: wrap;
  gap: var(--content-gutter);
}

.module-text-grid__item {
  width: calc(50% - var(--content-gutter) / 2);
  padding-right: 7.5rem;
}
@media only screen and (max-width: 999px) {
  .module-text-grid__item {
    padding-right: 3.5rem;
  }
}
@media only screen and (max-width: 739px) {
  .module-text-grid__item {
    width: 100%;
    padding-right: 0;
  }
}

.module-text-alternating__item {
  display: flex;
}
.module-text-alternating__item + .module-text-alternating__item {
  margin-top: 3rem;
}
@media only screen and (max-width: 739px) {
  .module-text-alternating__item {
    flex-direction: column;
  }
}

.module-text-alternating__item:nth-of-type(4n + 1) {
  padding-left: 10%;
}

.module-text-alternating__item:nth-of-type(4n + 2) {
  padding-left: 50%;
}
@media only screen and (max-width: 1319px) {
  .module-text-alternating__item:nth-of-type(4n + 2) {
    padding-left: 40%;
  }
}

.module-text-alternating__item:nth-of-type(4n + 4) {
  padding-left: 40%;
}
@media only screen and (max-width: 1319px) {
  .module-text-alternating__item:nth-of-type(4n + 4) {
    padding-left: 30%;
  }
}

@media only screen and (max-width: 739px) {
  .module-text-alternating__item:nth-of-type(4n + 1),
  .module-text-alternating__item:nth-of-type(4n + 2),
  .module-text-alternating__item:nth-of-type(4n + 3),
  .module-text-alternating__item:nth-of-type(4n + 4) {
    padding-left: 0;
  }
}

.module-text-alternating__item-title {
  margin-top: 0;
  margin-right: 1rem;
  flex-shrink: 0;
  max-width: min(30rem, 40%);
}
@media only screen and (max-width: 739px) {
  .module-text-alternating__item-title {
    max-width: 100%;
  }
}

.module-text-alternating__item-content {
  width: 100%;
  max-width: 50rem;
}
@media only screen and (max-width: 739px) {
  .module-text-alternating__item-content {
    max-width: 100%;
  }
}

.module-appointments__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.module-appointments__item {
  display: flex;
  max-width: 84rem;
  width: 100%;
  margin: 0;
  padding: 0;
  margin-bottom: var(--content-gutter);
}

.module-appointments__item-date__container {
  width: 9rem;
  min-height: 9rem;
  margin-right: var(--content-gutter);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--color--yellow);
  color: var(--color--magenta);
}
@media only screen and (max-width: 599px) {
  .module-appointments__item-date__container {
    width: 7.5rem;
    min-height: 7.5rem;
  }
}

.module-appointments__item-date__day {
  font-weight: bold;
  font-style: italic;
  font-size: 4.2rem;
  line-height: 1;
  padding-top: 0.5rem;
}
@media only screen and (max-width: 599px) {
  .module-appointments__item-date__day {
    font-size: 3.2rem;
  }
}

.module-appointments__item-date__month {
  font-weight: bold;
  font-style: italic;
}

.module-appointments__item-content__container {
  background-color: var(--color--lightgrey);
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.5;
  padding: 1rem 3rem;
}
@media only screen and (max-width: 599px) {
  .module-appointments__item-content__container {
    padding: 1rem 1.5rem;
  }
}

.module-appointments__item-content__title {
  color: var(--color--magenta);
  font-weight: bold;
  font-style: italic;
}

.module-appointments__item-content__subline {
  font-size: 1.5rem;
  font-style: italic;
  color: var(--color--grey);
}

.module-blog-posts {
  max-width: 100%;
  background-color: var(--color--yellow);
  background-image: url("../img/blog-posts-background.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.module-blog-posts__content-container {
  max-width: var(--content-width);
  margin: 0 auto;
  padding-top: 3rem;
}

.module-blog-posts__item-container {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: var(--content-gutter);
}
@media only screen and (max-width: 999px) {
  .module-blog-posts__item-container {
    flex-wrap: wrap;
  }
}

.module-blog-posts__item {
  padding: 0;
  margin: 0;
  background-color: var(--color--white);
  width: calc(33.3333333333% - var(--content-gutter) / 3 * 2);
}
@media only screen and (max-width: 999px) {
  .module-blog-posts__item {
    width: calc(50% - var(--content-gutter) / 2);
  }
}
@media only screen and (max-width: 739px) {
  .module-blog-posts__item {
    width: 100%;
  }
}

.module-blog-posts__item-link {
  text-decoration: none;
  display: block;
  height: 100%;
}

.module-blog-posts__item__thumbnail-container {
  width: 100%;
  aspect-ratio: 2/1;
  background-color: var(--color--lightgrey);
}

.module-blog-posts__item__thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  vertical-align: middle;
}

.module-blog-posts__item__title {
  margin: 0;
  padding: 2rem 3rem 1rem;
}

.module-blog-posts__item__excerpt {
  margin: 0;
  padding: 0 3rem 3rem 3rem;
  color: var(--color--grey);
  font-size: 1.5rem;
}

.module-blog-posts__all-posts-button-container {
  text-align: center;
  padding: 5rem 0;
}

.module-social-media-profiles {
  max-width: 100%;
  width: 100%;
  padding: 7.5rem 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.5rem 7.5rem;
  background-color: var(--color--yellow);
  background-image: url("../img/social-media-profiles-background.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.module-social-media-profiles__title {
  margin: 0;
  padding-bottom: 0.25rem;
  color: var(--color--yellow);
  font-style: italic;
  z-index: 50;
  text-align: center;
}
@media only screen and (max-width: 739px) {
  .module-social-media-profiles__title {
    padding-right: 0;
  }
}
.module-social-media-profiles__title span {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 0.75rem 2rem;
}
.module-social-media-profiles__title span::before {
  content: "";
  position: absolute;
  transform: skew(-10deg);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: var(--color--magenta);
}

.module-social-media-profiles__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}

.module-social-media-profiles__item {
  margin: 0;
  padding: 0;
}

.module-social-media-profiles__platform-link {
  display: inline-block;
  overflow: hidden;
  word-wrap: nowrap;
  text-indent: 9999px;
  vertical-align: middle;
  height: 5rem;
  width: 5rem;
  border-radius: 5rem;
  background-color: var(--color--magenta);
  background-repeat: no-repeat;
  background-size: 50%;
  background-position: 50% 50%;
}
@media only screen and (max-width: 739px) {
  .module-social-media-profiles__platform-link {
    height: 4rem;
    width: 4rem;
  }
}
@media (hover: hover) {
  .module-social-media-profiles__platform-link:hover {
    background-color: var(--color--violet);
  }
}

.module-social-media-profiles__platform-facebook {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385h-3.047v-3.47h3.047v-2.642c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953h-1.514c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385c5.738-.901 10.126-5.866 10.126-11.855z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-instagram {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m12 0c-3.26 0-3.667.015-4.947.072-1.278.06-2.148.261-2.913.558-.789.306-1.459.717-2.126 1.384s-1.079 1.336-1.384 2.126c-.297.765-.499 1.635-.558 2.913-.06 1.28-.072 1.687-.072 4.947s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558 1.28.06 1.687.072 4.947.072s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126-.667-.667-1.335-1.079-2.126-1.384-.765-.297-1.636-.499-2.913-.558-1.28-.06-1.687-.072-4.947-.072zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zm0 10.162c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44s.646-1.439 1.44-1.439c.793-.001 1.44.645 1.44 1.439z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-linkedin {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667h-3.554v-11.452h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zm-15.11-13.019c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019h-3.564v-11.452h3.564zm15.106-20.452h-20.454c-.979 0-1.771.774-1.771 1.729v20.542c0 .956.792 1.729 1.771 1.729h20.451c.978 0 1.778-.773 1.778-1.729v-20.542c0-.955-.8-1.729-1.778-1.729z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-mastodon {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004-.454-.067-2.172-.309-6.151-.309h-.03c-3.98 0-4.835.242-5.288.309-2.613.383-4.999 2.209-5.578 4.818-.277 1.285-.307 2.71-.256 4.016.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0 -.02-.041.053.053 0 0 0 -.046-.01 20.282 20.282 0 0 1 -4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1 -.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561v-6.218c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546v-3.404c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218h-2.557v-6.406c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-messenger {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m.001 11.639c0-6.69 5.24-11.639 12-11.639s11.999 4.95 11.999 11.639-5.24 11.638-12 11.638c-1.21 0-2.38-.16-3.47-.46a.96.96 0 0 0 -.64.05l-2.39 1.05a.96.96 0 0 1 -1.35-.85l-.07-2.14a.97.97 0 0 0 -.32-.68 11.39 11.389 0 0 1 -3.758-8.607zm8.32-2.19-3.52 5.6c-.35.53.32 1.139.82.75l3.79-2.87c.26-.2.6-.2.87 0l2.8 2.1c.84.63 2.04.4 2.6-.48l3.52-5.6c.35-.53-.32-1.13-.82-.75l-3.79 2.87c-.25.2-.6.2-.86 0l-2.8-2.1a1.8 1.8 0 0 0 -2.61.48z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-signal {
  background-image: url("data:image/svg+xml,%3Csvg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m9.12.35.27 1.09a10.845 10.845 0 0 0-3.015 1.248l-.578-.964A11.955 11.955 0 0 1 9.12.35zm5.76 0-.27 1.09a10.845 10.845 0 0 1 3.015 1.248l.581-.964A11.955 11.955 0 0 0 14.88.35zM1.725 5.797A11.955 11.955 0 0 0 .351 9.119l1.09.27A10.845 10.845 0 0 1 2.69 6.374zm-.6 6.202a10.856 10.856 0 0 1 .122-1.63l-1.112-.168a12.043 12.043 0 0 0 0 3.596l1.112-.169A10.856 10.856 0 0 1 1.125 12zm17.078 10.275-.578-.964a10.845 10.845 0 0 1-3.011 1.247l.27 1.091a11.955 11.955 0 0 0 3.319-1.374zM22.875 12a10.856 10.856 0 0 1-.122 1.63l1.112.168a12.043 12.043 0 0 0 0-3.596l-1.112.169a10.856 10.856 0 0 1 .122 1.63zm.774 2.88-1.09-.27a10.845 10.845 0 0 1-1.248 3.015l.964.581a11.955 11.955 0 0 0 1.374-3.326zm-10.02 7.875a10.952 10.952 0 0 1-3.258 0l-.17 1.112a12.043 12.043 0 0 0 3.597 0zm7.125-4.303a10.914 10.914 0 0 1-2.304 2.302l.668.906a12.019 12.019 0 0 0 2.542-2.535zM18.45 3.245a10.914 10.914 0 0 1 2.304 2.304l.906-.675a12.019 12.019 0 0 0-2.535-2.535zM3.246 5.549A10.914 10.914 0 0 1 5.55 3.245l-.675-.906A12.019 12.019 0 0 0 2.34 4.874zm19.029.248-.964.577a10.845 10.845 0 0 1 1.247 3.011l1.091-.27a11.955 11.955 0 0 0-1.374-3.318zM10.371 1.246a10.952 10.952 0 0 1 3.258 0L13.8.134a12.043 12.043 0 0 0-3.597 0zM3.823 21.957 1.5 22.5l.542-2.323-1.095-.257-.542 2.323a1.125 1.125 0 0 0 1.352 1.352l2.321-.532zm-2.642-3.041 1.095.255.375-1.61a10.828 10.828 0 0 1-1.21-2.952l-1.09.27a11.91 11.91 0 0 0 1.106 2.852zm5.25 2.437-1.61.375.255 1.095 1.185-.275a11.91 11.91 0 0 0 2.851 1.106l.27-1.091a10.828 10.828 0 0 1-2.943-1.217zM12 2.25a9.75 9.75 0 0 0-8.25 14.938l-.938 4 4-.938A9.75 9.75 0 1 0 12 2.25z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-telegram {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m11.944 0a12 12 0 0 0 -11.944 12 12 12 0 0 0 12 12 12 12 0 0 0 12-12 12 12 0 0 0 -12-12 12 12 0 0 0 -.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-tiktok {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-twitter {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m23.953 4.57a10 10 0 0 1 -2.825.775 4.958 4.958 0 0 0 2.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 0 0 -8.384 4.482c-4.09-.193-7.713-2.158-10.14-5.126a4.822 4.822 0 0 0 -.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 0 1 -2.228-.616v.06a4.923 4.923 0 0 0 3.946 4.827 4.996 4.996 0 0 1 -2.212.085 4.936 4.936 0 0 0 4.604 3.417 9.867 9.867 0 0 1 -6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 0 0 7.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63a9.935 9.935 0 0 0 2.46-2.548z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-whatsapp {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52s-.669-1.612-.916-2.207c-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413s.248-1.289.173-1.413c-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1 -5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1 -1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297a11.815 11.815 0 0 0 -8.413-3.488c-6.555 0-11.89 5.335-11.893 11.892 0 2.096.547 4.142 1.588 5.945l-1.688 6.163 6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0 -3.48-8.413z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-xing {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m18.188 0c-.517 0-.741.325-.927.66 0 0-7.455 13.224-7.702 13.657.015.024 4.919 9.023 4.919 9.023.17.308.436.66.967.66h3.454c.211 0 .375-.078.463-.22.089-.151.089-.346-.009-.536l-4.879-8.916c-.004-.006-.004-.016 0-.022l7.665-13.55c.095-.191.097-.387.006-.535-.089-.143-.251-.221-.459-.221zm-14.54 4.74c-.211 0-.385.074-.473.216-.09.149-.078.339.02.531l2.34 4.05c.004.01.004.016 0 .021l-3.675 6.493c-.099.188-.093.381 0 .529.085.142.239.234.45.234h3.461c.518 0 .766-.348.945-.667l3.734-6.609-2.378-4.155c-.172-.315-.434-.659-.962-.659h-3.462z'/%3E%3C/svg%3E");
}

.module-social-media-profiles__platform-youtube {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='m23.498 6.186a3.016 3.016 0 0 0 -2.122-2.136c-1.871-.505-9.376-.505-9.376-.505s-7.505 0-9.377.505a3.017 3.017 0 0 0 -2.121 2.136c-.502 1.884-.502 5.814-.502 5.814s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136c.501-1.884.501-5.814.501-5.814s0-3.93-.502-5.814zm-13.953 9.382v-7.136l6.273 3.568z'/%3E%3C/svg%3E");
}

.module-contact {
  display: flex;
}
@media only screen and (max-width: 599px) {
  .module-contact {
    flex-direction: column;
  }
}

.module-contact__title-column {
  width: 35%;
}
@media only screen and (max-width: 999px) {
  .module-contact__title-column {
    width: 45%;
  }
}
@media only screen and (max-width: 599px) {
  .module-contact__title-column {
    width: 100%;
  }
}

.module-contact__form-column {
  width: 50%;
}
@media only screen and (max-width: 999px) {
  .module-contact__form-column {
    width: 55%;
  }
}
@media only screen and (max-width: 599px) {
  .module-contact__form-column {
    width: 100%;
  }
}

.module-contact__data-table {
  margin: 5rem 0;
}
@media only screen and (max-width: 739px) {
  .module-contact__data-table {
    margin: 3rem 0;
  }
}
.module-contact__data-table th,
.module-contact__data-table td {
  border: none;
  vertical-align: top;
  line-height: 1.35;
  padding: 1rem 0;
}
.module-contact__data-table th {
  font-style: italic;
  text-align: left;
  width: 10rem;
}
.module-gallery {
  max-width: 100%;
  padding: var(--content-gutter);
  background: linear-gradient(white 12.5%, var(--color--yellow) 12.5%, var(--color--yellow) 72.5%, white 72.5%);
  --gallery-gap: var( --content-gutter );
}
@media only screen and (max-width: 739px) {
  .module-gallery {
    --gallery-gap: 1rem;
  }
}

.module-gallery__content-container {
  max-width: 84rem;
  margin: 0 auto;
  display: flex;
  gap: var(--gallery-gap);
}

.module-gallery__column {
  display: flex;
  flex-direction: column;
  gap: var(--gallery-gap);
}

.module-gallery__column-01 {
  width: 40%;
  align-items: flex-end;
}

.module-gallery__column-02 {
  width: 60%;
}

.module-gallery__image-container {
  aspect-ratio: 3/2;
  width: 100%;
}

.module-gallery__image-02-container {
  width: 80%;
}

.module-gallery__image-04-container {
  width: 50%;
}

.module-gallery__image {
  vertical-align: middle;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: 1rem;
}
@media only screen and (max-width: 739px) {
  .module-gallery__image {
    border-radius: 0.5rem;
  }
}

#module-gallery__image-storage {
  display: none;
  visibility: hidden;
}
