/* Typography – übernommen aus hfd-custom.css */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
  font-family: "Ciutadella", sans-serif;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

p, a, li, label, button {
  font-family: "Ciutadella", sans-serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 26px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000000;
}

@media (min-width: 1400px) {
  p, a, li, label, button {
    font-size: 22px;
    line-height: 26px;
  }
}

@media (max-width: 575px) {
  p, a, li, label, button {
    font-size: 17px;
    line-height: 22px;
  }
}

p strong, a strong, li strong, label strong, button strong {
  font-weight: 500;
}

p.text-white, a.text-white, li.text-white, label.text-white, button.text-white {
  color: #FFFFFF;
}

p {
  font-size: 18px;
  line-height: 26px;
  letter-spacing: 0.18px;
}

@media (max-width: 991px) {
  p {
    font-size: 17px;
    letter-spacing: normal;
    line-height: 1.3em;
  }
}

.font-h0 {
  font-family: "Ciutadella", sans-serif;
  font-size: 40px;
  line-height: 32px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000000;
}

@media (min-width: 1400px) {
  .font-h0 {
    font-size: 40px;
    line-height: 32px;
  }
}

@media (max-width: 575px) {
  .font-h0 {
    font-size: 40px;
    line-height: 32px;
  }
}

.font-h1, h1 {
  font-family: "Ciutadella", sans-serif;
  font-weight: 800;
  font-size: 36px;
  line-height: 43px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000000;
}

@media (min-width: 1400px) {
  .font-h1, h1 {
    font-size: 36px;
    line-height: 43px;
  }
}

@media (max-width: 575px) {
  .font-h1, h1 {
    font-size: 32px;
    line-height: normal;
  }
}

.font-h2, h2 {
  font-family: "Ciutadella", sans-serif;
  font-size: 26px;
  line-height: 31px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000000;
}

@media (min-width: 1400px) {
  .font-h2, h2 {
    font-size: 26px;
    line-height: 31px;
  }
}

@media (max-width: 575px) {
  .font-h2, h2 {
    font-size: 26px;
    line-height: 31px;
  }
}

.font-h3, h3 {
  font-family: "Ciutadella", sans-serif;
  font-size: 22px;
  line-height: 22px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000000;
  letter-spacing: 0.24px;
}

@media (min-width: 1400px) {
  .font-h3, h3 {
    font-size: 22px;
    line-height: 22px;
  }
}

@media (max-width: 575px) {
  .font-h3, h3 {
    font-size: 22px;
    line-height: 22px;
  }
}

.font-h4, h4 {
  font-family: "Ciutadella", sans-serif;
  font-size: 18px;
  line-height: 21px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000000;
  letter-spacing: 0.18px;
}

@media (min-width: 1400px) {
  .font-h4, h4 {
    font-size: 18px;
    line-height: 21px;
  }
}

@media (max-width: 575px) {
  .font-h4, h4 {
    font-size: 18px;
    line-height: 21px;
  }
}

.font-h5, h5 {
  font-family: "Ciutadella", sans-serif;
  font-size: 17px;
  line-height: 20px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000000;
}

@media (min-width: 1400px) {
  .font-h5, h5 {
    font-size: 17px;
    line-height: 20px;
  }
}

@media (max-width: 575px) {
  .font-h5, h5 {
    font-size: 17px;
    line-height: 20px;
  }
}

.font-h6, h6 {
  font-family: "Ciutadella", sans-serif;
  font-size: 14px;
  line-height: 26px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #525252;
  letter-spacing: 0.14px;
}

@media (min-width: 1400px) {
  .font-h6, h6 {
    font-size: 14px;
    line-height: 26px;
  }
}

@media (max-width: 575px) {
  .font-h6, h6 {
    font-size: 14px;
    line-height: 26px;
  }
}

/* Content-Bereich: Absätze, Links, Listen (Legacy #page + Kadence) */
#page p,
.entry-content p,
.content-wrap p,
.single-content p,
.wp-block-post-content p {
  color: #525252;
  margin-bottom: 0.5em;
}

#page p a,
.entry-content p a,
.content-wrap p a,
.single-content p a,
.wp-block-post-content p a {
  font-size: 18px;
  line-height: 26px;
  letter-spacing: 0.18px;
  color: #003A7B;
}

@media (max-width: 991px) {
  #page p a,
  .entry-content p a,
  .content-wrap p a,
  .single-content p a,
  .wp-block-post-content p a {
    font-size: 17px;
    letter-spacing: normal;
    line-height: 1.3em;
  }
}

#page b,
.entry-content b,
.content-wrap b,
.single-content b,
.wp-block-post-content b {
  font-weight: 500;
}

.component-module-title {
  font-weight: 700;
  font-size: 36px;
  line-height: 43px;
  color: #003A7B;
  position: relative;
  display: inline-block;
  width: unset;
  padding: 10px 0;
  margin-bottom: 40px;
}

@media (max-width: 991px) {
  .component-module-title {
    margin-bottom: 20px;
    font-size: 32px;
    line-height: 43px;
  }
}

.component-module-title a {
  font-size: unset;
  line-height: unset;
  font-weight: unset;
  color: unset;
  text-decoration: unset;
}

#page ol,
.entry-content ol,
.content-wrap ol,
.single-content ol,
.wp-block-post-content ol {
  list-style: none;
  counter-reset: item;
}

#page ol li,
.entry-content ol li,
.content-wrap ol li,
.single-content ol li,
.wp-block-post-content ol li {
  margin-bottom: 5px;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.18px;
  color: #525252;
  padding-left: 5px;
  counter-increment: item;
}

#page ol li:before,
.entry-content ol li:before,
.content-wrap ol li:before,
.single-content ol li:before,
.wp-block-post-content ol li:before {
  content: counter(item) ". ";
}

#page ol li a,
.entry-content ol li a,
.content-wrap ol li a,
.single-content ol li a,
.wp-block-post-content ol li a {
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.18px;
  color: #525252;
}

#page ul,
.entry-content ul,
.content-wrap ul,
.single-content ul,
.wp-block-post-content ul {
  margin-bottom: 15px;
  padding-left: 20px;
}

#page ul li,
.entry-content ul li,
.content-wrap ul li,
.single-content ul li,
.wp-block-post-content ul li {
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.18px;
  color: #525252;
  list-style: disc;
  padding-left: 0;
}

#page ul li a,
.entry-content ul li a,
.content-wrap ul li a,
.single-content ul li a,
.wp-block-post-content ul li a {
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.18px;
  color: #003A7B;
}

#page ul ol li,
.entry-content ul ol li,
.content-wrap ul ol li,
.single-content ul ol li,
.wp-block-post-content ul ol li {
  list-style: decimal;
}

.post--single .single-content .single-main--inner .single-main--date {
  font-size: 22px;
  line-height: 26px;
  color: #858585;
  margin-bottom: 20px;
  display: block;
  font-weight: 300;
}

@media (max-width: 991px) {
  .post--single .single-content .single-main--inner .single-main--date {
    color: #FFFFFF;
    margin-top: 10px;
  }
}

.post--single .single-content .single-main--inner .single-main--primary-image-caption {
  color: #525252;
  font-size: 16px;
  margin-bottom: 30px;
  line-height: normal;
}

@media (max-width: 991px) {
  .post--single .single-content .single-main--inner .single-main--primary-image-caption {
    font-size: 14px;
  }
}

.post--single .single-content .single-main--related-posts h3.related-posts--title {
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 31px;
  letter-spacing: 0.24px;
  margin-top: 10px;
  background-color: #FFFFFF;
  padding: 40px;
  margin-bottom: 2px;
}

@media (max-width: 991px) {
  .post--single .single-content .single-main--related-posts h3.related-posts--title {
    font-size: 19px;
    line-height: 136.5%;
    padding: 0;
    margin-bottom: 10px;
    background-color: transparent;
  }
}

.post--single-migrated .single-content .single-main--inner--content h2 {
  font-weight: 600;
  color: #003A7B;
  margin-top: 20px;
  margin-bottom: 15px;
}

.post--single-migrated .single-content .single-main--inner--content h3 {
  font-weight: 600;
  margin-top: 15px;
  margin-bottom: 10px;
}

.post--single-migrated .single-content .single-main--inner--content h4 {
  font-weight: 600;
  margin-bottom: 5px;
}

.post--single-migrated .single-content .single-main--inner--content blockquote {
  padding: 10px 10px 10px 40px;
  border-left: 3px solid #003A7B;
  font-weight: 600;
  margin-bottom: 15px;
  font-size: 22px;
  line-height: 26px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000000;
}

@media (min-width: 1400px) {
  .post--single-migrated .single-content .single-main--inner--content blockquote {
    font-size: 22px;
    line-height: 26px;
  }
}

@media (max-width: 575px) {
  .post--single-migrated .single-content .single-main--inner--content blockquote {
    font-size: 17px;
    line-height: 22px;
  }
}

.post--single-migrated .single-content .single-main--inner--content .video-caption {
  font-size: 14px;
  line-height: 26px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000000;
  margin-bottom: 15px;
}

@media (min-width: 1400px) {
  .post--single-migrated .single-content .single-main--inner--content .video-caption {
    font-size: 14px;
    line-height: 26px;
  }
}

@media (max-width: 575px) {
  .post--single-migrated .single-content .single-main--inner--content .video-caption {
    font-size: 14px;
    line-height: 26px;
  }
}

.post--single .post--single-footer .single-footer--text p {
  font-size: 16px;
  line-height: 16px;
}

.sidebar .single-sidebar-section .single-sidebar-title {
  margin-bottom: 10px;
  font-size: 16px;
}

.sidebar .single-sidebar-author .single-sidebar-author-content .single-sidebar-author-data .single-sidebar-author-tagline {
  font-size: 18px;
  line-height: 18px;
  color: #525252;
  font-weight: 400;
}

@media (max-width: 991px) {
  .sidebar .single-sidebar-author .single-sidebar-author-content .single-sidebar-author-data .single-sidebar-author-tagline {
    font-size: 14px;
  }
}

.single-main--primary-index {
  margin: 30px 0;
  padding: 20px 25px 15px;
  border: 1px solid #CCD8E5;
  border-radius: 4px;
  font-size: 14px;
  line-height: 26px;
  letter-spacing: 0.14px;
}

.single-main--primary-index li a {
  text-decoration: none;
  font-size: 18px;
  line-height: 26px;
  margin: 6px 0;
}

@media (max-width: 991px) {
  .single-main--primary-index li a {
    font-size: 17px;
  }
}

.custom-blog--content-outer .custom-blog--sidebar-box .custom-blog--sidebar-title {
  font-size: 24px;
  line-height: 31px;
  font-weight: 600;
  margin-bottom: 10px;
}

@media (max-width: 991px) {
  .custom-blog--content-outer .custom-blog--sidebar-box .custom-blog--sidebar-title {
    font-size: 18px;
    line-height: 21px;
    margin-top: 5px;
  }
}

.custom-blog--content-outer .custom-blog--sidebar-box .custom-blog--sidebar-title a {
  font-size: 24px;
  line-height: 31px;
  font-weight: 600;
}

.custom-blog--article-data .entry-title {
  font-size: 22px;
  line-height: 27px;
  letter-spacing: 0.01em;
  font-weight: 600;
  margin-bottom: 15px;
}

@media (max-width: 991px) {
  .custom-blog--article-data .entry-title {
    font-size: 18px;
    line-height: 21px;
  }
}

.custom-blog--article-data .entry-tags--tag {
  font-size: 14px;
  line-height: 17px;
}

.custom-blog--article-data .entry-tags--tag-hfd-event {
  font-size: 14px;
  line-height: 17px;
}

.custom-blog--article-data p {
  color: #656565;
  margin-bottom: 15px;
}

.custom-blog--article-data a {
  text-decoration: none;
}

/* Block-Editor */
.editor-styles-wrapper {
  font-family: "Ciutadella", sans-serif;
}

.editor-styles-wrapper p,
.editor-styles-wrapper a,
.editor-styles-wrapper li,
.editor-styles-wrapper label,
.editor-styles-wrapper button,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
  font-family: "Ciutadella", sans-serif;
}

.editor-styles-wrapper p a {
  font-size: 18px;
  line-height: 26px;
  letter-spacing: 0.18px;
}

@media (max-width: 991px) {
  .editor-styles-wrapper p a {
    font-size: 17px;
    letter-spacing: normal;
    line-height: 1.3em;
  }
}

/* Header & Footer Navigation – Kadence-Layout schützen */
#masthead ul,
#masthead ol,
.site-header ul,
.site-header ol,
.site-footer ul,
.site-footer ol,
.header-navigation ul,
.header-navigation ol,
.primary-menu-container ul,
.primary-menu-container ol,
.secondary-menu-container ul,
.secondary-menu-container ol,
.mobile-navigation ul,
.mobile-navigation ol,
.footer-navigation ul,
.footer-navigation ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

#masthead li,
.site-header li,
.site-footer li,
.header-navigation li,
.primary-menu-container li,
.secondary-menu-container li,
.mobile-navigation li,
.footer-navigation li {
  list-style: none;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  color: inherit;
}

#masthead .menu-item > a,
.site-header .header-navigation .menu-item > a,
.primary-menu-container .menu-item > a,
.secondary-menu-container .menu-item > a {
  font-size: 18px;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  color: #003A7B;
}

#mobile-drawer .menu-item > a,
.mobile-drawer-content .menu-item > a,
#mobile-site-navigation .menu-item > a {
  font-size: 18px;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  color: #FFFFFF;
}

.footer-navigation .menu-item > a {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  color: inherit;
}
