/*
 * Theme Name: Knorke Child
 * Theme URI: https://knorke.de
 * Description: Knorke Child is a child theme of Knorke, created by Knorke team
 * Author: Knorke Team
 * Author URI: https://knorke.de
 * Template: knorke
 * Version: 2.0
 * Text Domain: knorke-child
 * License: GNU General Public License v3 or later.
 * License URI: https://www.gnu.org/licenses/gpl-3.0.html
 */

/* * 
@import url("https://use.typekit.net/bif5xjx.css");
*/
:root {
  --input-border: #8b8a8b;
  --input-focus-h: 245;
  --input-focus-s: 100%;
  --input-focus-l: 42%;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

body {
  font-family: "futura-pt", sans-serif;
  font-size: 18px;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* * {
  outline: 1px solid rgba(0, 0, 0, 0.05);
} */

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #ffffff;
}

::-webkit-scrollbar-thumb {
  background: var(--wp--preset--color--tertiary);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--wp--preset--color--primary);
}

/* Adobe kit */
.tk-futura-pt {
  font-family: "futura-pt", sans-serif;
}

.tk-futura-pt-bold {
  font-family: "futura-pt-bold", sans-serif;
}

.tk-all-round-gothic {
  font-family: "all-round-gothic", sans-serif;
}

.home .main-content-wrap {
  padding: 0 !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "all-round-gothic", sans-serif;
  font-weight: 500 !important;
}

.tds-header a.wp-block-navigation-item__content:hover,
.tds-footer a.wp-block-navigation-item__content:hover {
  background-color: unset;
}

.tds-header
  .wp-block-navigation__submenu-container
  a.wp-block-navigation-item__content:hover {
  background-color: rgba(255, 255, 255, 0.25);
}

:where(body.home .is-layout-flow) > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.is-first-section {
  margin: 0 !important;
  margin-block-start: 0 !important;
}

.is-underlined {
  text-decoration: underline !important;
}

.tds-navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}

.tds-emw-container {
  position: static;
  text-align: right;
}

.tds-hero-section {
  position: relative;
  overflow-x: hidden;
  /* min-height: 100vh; */
  background-image: url("https://tag-der-schiene.de/wp-content/uploads/2024/03/kreisen.svg");
  background-size: 700px;
  background-position: -200px center, 75% center;
  background-repeat: no-repeat;
}

.tds-hero-home {
  position: static;
  width: 95vw;
  text-align: right;
/*   aspect-ratio: 1; */
  /* transform: translateX(20%); */
}

.tds-hero-home img {
  max-width: 100%;
  aspect-ratio: 1;
}

p.is-text-width-ch-1 {
  max-width: 45ch !important;
}

.button-green {
  background-color: var(--wp--preset--color--primary);
  border-radius: 93px;
  border-top-width: 0px;
  border-top-style: none;
  border-right-width: 0px;
  border-right-style: none;
  border-bottom-width: 0px;
  border-bottom-style: none;
  border-left-width: 0px;
  border-left-style: none;
  color: var(--wp--preset--color--white);
  font-size: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.303), 18px);
  line-height: 1;
  padding: calc(0.667em + 2px) calc(1.333em + 2px);
  color: #ffffff !important;
}

.button-green:hover {
  background-color: var(--wp--preset--color--contrast);
  border-radius: 100px;
  border-color: var(--wp--preset--color--contrast);
  border-width: 0;
  border-style: solid;
  color: var(--wp--preset--color--white);
}

.link-blue {
  color: #0c4390 !important;
  text-decoration: underline !important;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
  background-color: var(--wp--preset--color--contrast);
  border-radius: 100px;
  border-color: var(--wp--preset--color--contrast);
  border-width: 0;
  border-style: solid;
  color: var(--wp--preset--color--white);
}

.wp-block-site-logo.is-default-size img {
  height: auto;
  width: 180px;
}

a:not(.wp-element-button):not(.ab-item):not(.custom-logo-link):not(
    .wp-block-read-more
  ):not(img)::before {
  display: none;
}

.wp-block-navigation:not(.has-background)
  .wp-block-navigation__submenu-container {
  border: none;
  border-radius: 8px;
  padding: 8px 0;
  overflow: hidden;
}

:where(
    .wp-block-navigation
      .wp-block-navigation__submenu-container
      .wp-block-navigation-item
      a:not(.wp-element-button)
  ),
:where(
    .wp-block-navigation
      .wp-block-navigation__submenu-container
      .wp-block-navigation-submenu
      a:not(.wp-element-button)
  ),
:where(
    .wp-block-navigation
      .wp-block-navigation__submenu-container
      .wp-block-navigation-submenu
      button.wp-block-navigation-item__content
  ),
:where(
    .wp-block-navigation
      .wp-block-navigation__submenu-container
      .wp-block-pages-list__item
      button.wp-block-navigation-item__content
  ) {
  padding: 0.25em 1em;
}

a.wp-block-navigation-item__content {
  font-weight: 400;
}

a.wp-block-navigation-item__content:hover {
  background-color: rgba(255, 255, 255, 0.25);
}

.tds-home-ticker {
  overflow: hidden;
}

.tds-home-ticker .ticker-wrap {
  white-space: nowrap;
}

.tds-home-ticker .ticker-wrap p {
  text-align: center;
}

.tds-home-ticker .ticker-wrap span {
  font-family: "all-round-gothic", sans-serif;
  display: inline-block;
  padding: 5px 30px;
}

.tds-home-ticker .ticker-wrap span {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-name: ticker;
  animation-name: ticker;
  -webkit-animation-duration: 20s;
  animation-duration: 20s;
}

@keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }

  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.sb_instagram_header {
  display: none !important;
}

.sbi_follow_btn {
  font-size: 18px !important;
  border-radius: 100px !important;
  padding: 16px 32px !important;
}

.circle-dotted-bg {
  position: absolute;
  bottom: 0;
  right: 0;
}

.is-relative {
  position: relative !important;
}

.tds-was-ist {
  position: relative;
  overflow: hidden;
  background-image: url("https://tag-der-schiene.de/wp-content/uploads/2024/03/circle-dotted-bg.svg");
  background-size: 700px;
  background-position: 120% 100%;
  background-repeat: no-repeat;
}

.tds-wer-ist {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.tds-wer-ist:before {
  content: "";
  display: block;
  width: 700px;
  height: 700px;
  background-image: url("https://tag-der-schiene.de/wp-content/uploads/2024/03/circle-dotted-bg.svg");
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  z-index: -1;
  left: -10vw;
  bottom: -10vh;
  opacity: 0.25;
}

.left-border-dot {
  padding-top: 1em;
  position: relative;
}

.tds-news figure.wp-block-post-featured-image {
  width: 100% !important;
}

.tds-news .wp-block-post-featured-image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover;
}

.archive.category h2 a,
#tds-news h4 a {
  text-decoration: none;
}

.tds-ruckblick h2:first-child {
  margin-bottom: -0.25em !important;
}

/* Custom form elements */
.input {
  font-size: 16px;
  font-size: max(16px, 1em);
  font-family: inherit;
  padding: 0.25em 0.5em;
  background-color: #fff;
  border: 2px solid var(--input-border);
  border-radius: 4px;
  transition: 180ms box-shadow ease-in-out;
}

.input:focus {
  border-color: hsl(
    var(--input-focus-h),
    var(--input-focus-s),
    var(--input-focus-l)
  );
  box-shadow: 0 0 0 3px
    hsla(
      var(--input-focus-h),
      var(--input-focus-s),
      calc(var(--input-focus-l) + 40%),
      0.8
    );
  outline: 3px solid transparent;
}

.input:not(textarea) {
  line-height: 1;
  height: 2.25rem;
}

input[type="file"] {
  font-size: 0.9em;
  padding-top: 0.35rem;
}

textarea.input {
  resize: vertical;
}

.input[readonly] {
  border-style: dotted;
  cursor: not-allowed;
  color: #777;
}

.input[disabled] {
  --input-border: #ccc;
  background-color: #eee;
  cursor: not-allowed;
}

label {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
}

.input + label {
  margin-top: 2rem;
}

/* Events search section */
.events-container {
  display: flex;
  flex-direction: column-reverse;
  max-width: 1640px;
  margin: auto;
  background-color: #ffffff;
}

.events-item {
  background-color: #ffffff;
  padding: 16px;
  border-bottom: 1px solid var(--wp--preset--color--base);
}

.event-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}

.event-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
}

.event-dates {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  margin-bottom: 10px;
}

.event-badges {
    display: flex;
    gap: 3px;
}

.event-place {
  font-family: "all-round-gothic", sans-serif;
  font-weight: bold;
  font-size: 15px;
  line-height: 1 !important;
  color: var(--wp--preset--color--primary);
  margin-right: auto;
  /* white-space: nowrap; */
  order: 1;
}

.event-date {
  font-family: "all-round-gothic", sans-serif;
  font-weight: 500;
  font-size: 16px;
  display: inline-block;
  padding: 0 16px;
  background-color: var(--wp--preset--color--base);
  margin-right: 4px;
  border-radius: 100px;
}

.event-dates .event-date {
  background-color: #ffffff;
}

.event-body h4 {
  font-family: "all-round-gothic", sans-serif;
  font-weight: 500;
  font-size: 28px;
  margin: 0;
}

.event-body p {
  font-family: "futura-pt", sans-serif;
  font-weight: medium;
  font-size: 16px;
  margin: 0;
}

.event-thumb {
  width: 110px;
  height: 110px;
  object-fit: cover;
}

.events-results {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: 800px;
}

.events-map-wrap h3 {
  text-align: center;
}

.btn-pill {
  font-family: "futura-pt", sans-serif;
  font-size: 20px;
  padding-block: 0.5em;
  padding-inline: 1.5em;
  border-radius: 100px;
  border: 0;
  background-color: var(--wp--preset--color--primary);
  color: #ffffff;
  cursor: pointer;
}

a.btn-pill {
  text-decoration:none !important;
  color: #ffffff;
  display: inline-block;
  margin-top: 16px;
}

a.btn-pill:hover{
  background-color: var(--wp--preset--color--contrast);
  border-radius: 100px;
  border-color: var(--wp--preset--color--contrast);
  border-width: 0;
  border-style: solid;
  color: var(--wp--preset--color--white) !important;
  text-decoration: none;
}

input[type="submit"] {
  cursor: pointer;
}

.wpcf7-form .wpcf7-form-control-wrap.row-one,
.wpcf7-form .wpcf7-form-control-wrap.row-two {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.wpcf7-form .wpcf7-checkbox label {
  align-items: center;
}

.row-one {
  margin-top: 2.5em !important;
  padding-inline: 1em;
}

.row-two {
  margin-bottom: 2em !important;
}

.home-cover-text {
  padding-top: 120px;
}

.newsletter-first-row {
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.newsletter-first-row span {
  margin: 0 !important;
}

p.sib-VORNAME-area {
  flex-grow: 1;
}

.wp-block-post-content strong,
.sidebar-page strong,
.sidebar-events strong {
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
}

.links-list {
  list-style-type: none;
  padding: 0 !important;
  margin: 0.5em 0 2em 0;
}

.page-template-default.page .main-content-wrap {
  padding-top: 120px;
  margin-top: 0;
}

.home.page-template-default.page .main-content-wrap {
  padding-top: 0;
  margin-top: 0;
}

.event-template-default,
.post-template-default,
.page-template-default:not(.home) {
  background-image: url("https://tag-der-schiene.de/wp-content/uploads/2024/03/circle-dotted-bg.svg"),
    url("https://tag-der-schiene.de/wp-content/uploads/2024/03/circle-dotted-bg.svg");
  background-size: 600px, 400px;
  background-repeat: no-repeat, no-repeat;
  background-position: -10% 20%, 110% 80%;
}

.download-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 30px;
}

.download-item h2 {
  font-size: 30px !important;
  margin: 0 0 20px;
}

.mw-400 {
  max-width: 400px;
}

.mw-600 {
  max-width: 600px;
}

.login-remember label {
  display: flex;
  align-items: center;
}

#loginform p {
  margin-bottom: 1em;
}

label.error {
  font-family: Arial, sans-serif !important;
  font-size: 11px !important;
  color: var(--wp--preset--color--secondary) !important;
}

/* The Modal (background) */
.modal-register {
  position: fixed;
  z-index: 100;
  inset: 0;
  overflow: auto;
  background-color: rgba(0, 33, 72, 0.75);
  display: none;
  place-items: center;
}

/* Modal Content/Box */
.modal-content {
  background-color: #ffffff;
  padding: 0;
  border: 0;
  max-width: 1160px;
  /* max-height: 100dvh; */
  border-radius: 30px;
  position: relative;
  overflow-y: auto;
}

.modal-content h3 {
  margin: 0;
}

.modal-content p {
  margin: 0 0 1em 0;
}

#loginForm,
#lostFormContainer,
#registrationForm {
  display: grid;
  grid-template-columns: 1fr 2fr;
}

.leaflet-container a.leaflet-popup-close-button {
    position: absolute !important;
    color: #00a99d !important;
}

.leaflet-popup-content a {
    color: #00a99d !important;
    text-decoration: none !important; 
    font-weight: 700 !important;
}

.leaflet-popup-content {
    font-size: 16px;
}

#lightgallery {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

#lightgallery > a {
  display: block;
}

#lightgallery img {
  border-radius: 8px;
}

/* Close Button */
.close {
  color: #aaa;
  position: absolute;
  top: 15px;
  right: 30px;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.modal-register .col-left {
  background-color: var(--wp--preset--color--base);
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 30px;
  gap: 16px;
}

.modal-register .col-right {
  display: inline-flex;
  flex-direction: column;
  padding: 30px;
  flex-grow: 1;
  max-height: 100%;
  overflow: auto;
}

/* .modal-logo {
  margin: 60px 30px;
} */

.modal-register .form-row {
  padding-bottom: 16px;
}

.modal-register .btn-pill {
  align-self: flex-start;
}

.checkbox-label {
  display: flex;
  align-items: center;
  font-size: 16px;
  cursor: pointer;
}

.modal-register .small-text {
  font-size: 16px;
  padding-block: 1em;
}

.modal-register #responseMessage ul {
  list-style-type: none;
}

.modal-register #responseMessage {
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  text-align: center;
}

.modal-register #successMessage {
  padding: 100px;
  width: 100%;
  height: 100%;
}

#events-list {
  width: 100%;
}

/*style map popups*/
.mapboxgl-popup-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  pointer-events: auto;
  border-radius: 4px;
  box-shadow: none;
  width: 18em;
  padding: 3em;
  color: #333333;
  background-color: #f8efe7;
  overflow: hidden;
}

.mapboxgl-popup-content p {
  margin-bottom: 0 !important;
}

.mapboxgl-popup-content {
  font-family: "futura-pt", sans-serif !important;
  font-size: 14px;
}

/*popup bottom arrow color*/
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
  border-top-color: #f8efe7;
}

.events-map {
  min-height: 600px !important;
}

.events-map .mapboxgl-canvas {
  position: static !important;
}

#searchFrm input[type="checkbox"] {
  display: none;
}

#searchFrm input[type="checkbox"] + span {
  display: inline-block;
  background-color: rgba(0, 33, 72, 10%);
  color: rgba(0, 33, 72, 75%);
  padding: 12px 36px;
  border-radius: 100px;
  cursor: pointer;
}

#searchFrm input[type="checkbox"]:checked + span {
  background-color: var(--wp--preset--color--primary);
  color: #ffffff;
}

.newsletter-links-mobile {
  display: none;
}

.show-on-desktop {
  display: none;
}

.partners-logos {
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 20px;
}

.partners-logos figure {
  min-width: 150px;
  max-width: 200px;
  text-align: center;
}

.partners-logos img {
  width: 100%;
  height: 100px;
  object-fit: contain;
  object-position: center;
}

.wp-block-navigation__responsive-container.has-modal-open.is-menu-open
  li.has-large-font-size {
  font-size: 24px !important;
}

.modal-register a,
.news-sidebar li a,
.wp-block-post-content a:where(:not(.wp-element-button)) {
  text-decoration: underline;
}

a:where(:not(.wp-element-button)):hover {
  color: var(--wp--preset--color--secondary) !important;
  text-decoration: none !important;
}

#events-list a {
  color: inherit !important;
  text-decoration: none !important;
}

footer a.wp-block-navigation-item__content {
  text-decoration: underline;
}

footer a.wp-block-navigation-item__content:hover,
footer a.wp-block-navigation-item__content:active {
  text-decoration: none;
  color: var(--wp--preset--color--secondary) !important;
}

.modal-register .form-row {
  display: flex;
  gap: 16px;
  padding-bottom: 16px;
}

.dq_overlay {
  display: none;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.75);
}

.dq_overlay.dq_open {
  display: flex;
}

.field.show_required {
  position: relative;
}

.field.show_required::before {
  display: grid;
  place-items: center;
  position: absolute;
  content: "*";
  font-size: 18px;
  width: 18px;
  height: 18px;
  color: var(--wp--preset--color--secondary);
  top: 14px;
  right: 10px;
  z-index: 2;
}

#loginform label::after {
  content: " *";
  color: var(--wp--preset--color--secondary);
}

.mapboxgl-popup-content a:focus-visible {
  border: 0 !important;
  outline: 0 !important;
}

/* Change the WordPress default css to a 1023px media query */
@media (min-width: 1023px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none !important;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(
      .is-menu-open
    ) {
    display: block !important;
    width: 100%;
    position: relative;
    z-index: auto;
    background-color: inherit;
  }
}
/* Remove the WordPress default for 600px */
@media (min-width: 600px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
    justify-content: center;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(
      .is-menu-open
    ) {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  .modal-register #responseMessage {
    position: static;
    text-align: left;
  }

  .modal-register #successMessage {
    padding: 20px;
  }

  .news-sidebar {
    order: 2;
  }

  .modal-register {
    place-items: normal;
  }

  .modal-register .form-row {
    display: block;
    padding-bottom: 0;
  }

  .modal-register .form-row .field {
    margin-bottom: 8px;
    flex: 1;
  }

  .modal-register .form-row .field::after {
    content: "";
    clear: both;
    display: table;
  }

  .modal-register .col-left {
    width: 100%;
  }

  .modal-register .col-left p {
    margin: 0;
  }

  .modal-register .col-left img {
    position: absolute;
    right: 10px;
    top: 60px;
    width: 140px;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation__container {
    gap: 10px;
  }

  .wp-block-navigation__submenu-container .wp-block-navigation-submenu {
    padding: 0;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .has-child
    .wp-block-navigation__submenu-container {
    padding: 0 0 0 1em;
  }

  .wp-block-navigation__responsive-container.is-menu-open {
    z-index: 110 !important;
  }

  #loginForm,
  #registrationForm {
    grid-template-columns: 1fr;
  }

  .has-text-align-right {
    text-align: left !important;
  }

  .event-body h4 {
    font-size: 24px;
  }

  h2.wp-block-heading {
    font-size: 40px !important;
  }

  .tds-ruckblick h2.wp-block-heading {
    font-size: 72px !important;
    padding-top: 1em;
  }

  .tds-ruckblick h2.has-text-align-right {
    text-align: right !important;
    padding-top: 0;
    padding-bottom: 1em;
  }

  .tds-hero-home {
    width: 100%;
    height: unset;
    margin: 0 auto;
	padding-top: 80px;
  }

  .emw-logo img {
    width: 80px;
    position: relative;
    top: -10px;
  }

  .navbar-logo {
    width: 100px;
  }

  .home-cover-text h1 {
    font-size: 36px !important;
  }

  .tds-newsletter .newsletter-links-mobile .wp-block-group {
    align-items: flex-start !important;
  }

  .newsletter-links-mobile {
    display: block;
  }

  .event-place {
    padding: 10px 0;
  }

  .home-cover-text h2.wp-block-heading {
    font-size: 24px !important;
  }

  button.wp-block-navigation__responsive-container-open {
    background-color: #ffffff;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    display: grid;
    place-items: center;
  }

  button.wp-block-navigation__responsive-container-open svg {
    width: 32px;
    height: 32px;
  }

  .wp-block-navigation__responsive-container.is-menu-open {
    padding: 30px;
    justify-content: stretch;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content {
    align-items: flex-start;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation-item {
    align-items: flex-start;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation-item
    .wp-block-navigation-item__label {
    font-size: 24px;
  }

  .wp-block-navigation .wp-block-navigation-item {
    align-items: flex-start;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation__container {
    align-items: flex-start;
  }

  .hide-on-touch {
    display: none;
  }

  footer .footer-copyright {
    margin-left: auto;
  }

  .events-map {
    min-height: unset !important;
    height: 400px !important;
  }

  .reverse-order-mobile {
    flex-direction: column-reverse !important;
  }

  .partners-logos figure {
    min-width: 80px;
    max-width: 100px;
    text-align: center;
  }
	
	.home-cover-text {
	  padding-top: 20px;
	}
}

@media only screen and (min-width: 1025px) {
  footer .wp-block-social-links {
    order: 3;
  }

  .form-row .field {
    flex: 1;
  }

  .tds-hero-home {
    position: absolute;
    width: 90vh;
    right: 0;
    top: 50%;
    transform: translateY(-45%);
    z-index: -1;
  }

  .events-item {
    display: flex;
    gap: 16px;
    align-items: center;
    border-left: 8px solid #ffffff;
    transition: all 0.5s ease;
  }

  .events-item:hover {
    border-left-color: var(--wp--preset--color--primary);
  }

  .hide-on-touch {
    display: initial;
  }

  .modal-register .col-left {
    max-width: 420px;
    min-height: 500px;
  }
}

@media only screen and (min-width: 1200px) {
  .show-on-desktop {
    display: block;
  }

  .events-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 800px;
    overflow: hidden;
  }

  .events-results {
    max-height: 800px;
  }

  .event-place {
    order: 0;
  }

  .event-thumb {
    width: 110px;
    height: 110px;
  }

  .tds-news .wp-block-post-featured-image img {
    height: 320px !important;
  }

  .left-border-dot {
    border-left: 2px solid #ffffff;
    padding-bottom: 32px;
    padding-left: 64px !important;
  }

  .left-border-dot:before {
    content: "";
    display: block;
    width: 36px;
    height: 36px;
    background-color: #ffffff;
    border-radius: 100px;
    position: absolute;
    bottom: -18px;
    left: -19px;
  }

  .tds-hero-section {
    background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 546 950"><!-- Generator: Adobe Illustrator 29.2.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 116) --><defs><style> .st0 { isolation: isolate; } .st1 { fill: %23faf5ef; } </style></defs><g class="st0"><path class="st1" d="M226.9,937.1l-82.3-87.9c-17.3-18.4-34.6-30.9-54.8-30.9s-45.9,14.3-45.9,41.9,19.1,42.3,46.7,42.3h5.1v34.2h-3.3c-48.9,0-80.9-29-80.9-76.8s33.1-76.8,78.3-76.8,51.8,15.1,75.4,40.8l60.3,65.4v-103.3h31.2v151.1h-29.8Z"/><path class="st1" d="M175.8,753.7h-78.7c-51.8,0-85.6-34.9-85.6-85.3s33.8-85.3,85.6-85.3h78.7c51.8,0,85.6,34.9,85.6,85.3s-33.8,85.3-85.6,85.3ZM175.8,618h-78.7c-32.7,0-53.3,19.5-53.3,50.4s20.6,50.4,53.3,50.4h78.7c32.7,0,53.3-19.5,53.3-50.4s-20.6-50.4-53.3-50.4Z"/><path class="st1" d="M226.9,554.4l-82.3-87.9c-17.3-18.4-34.6-30.9-54.8-30.9s-45.9,14.3-45.9,41.9,19.1,42.3,46.7,42.3h5.1v34.2h-3.3c-48.9,0-80.9-29-80.9-76.8s33.1-76.8,78.3-76.8,51.8,15.1,75.4,40.8l60.3,65.4v-103.3h31.2v151.1h-29.8Z"/><path class="st1" d="M189.4,376.9v-35.3c23.5-4.8,39.7-23.2,39.7-49.3s-21.3-50.4-53.7-50.4-50.7,19.8-50.7,50.4,10.7,37.1,26.8,44.8l-9.6,31.2-125.7-16.2v-125.3h31.2v98.5l69.8,9.2c-14.7-10.3-22.8-26.5-22.8-49.6,0-43.4,32-77.9,80.9-77.9s86,34.9,86,85.3-29.8,79.8-72,84.5Z"/></g></svg>'), 
      url("https://tag-der-schiene.de/wp-content/uploads/2024/03/kreisen.svg");
    background-size: contain, 700px;
    background-position: 10px center, 75% center;
    background-repeat: no-repeat;
}
}

@media only screen and (min-width: 1441px) {
  .tds-emw-container {
    position: absolute;
    width: 100%;
    bottom: 5vh;
    left: 0;
    text-align: left;
  }

  .tds-hero-section {
    height: 100vh;
  }

  .home-cover-text {
    padding-top: 0;
  }
}

.event-body .full-booked {
  font-size: 11px;
  padding: 3px 8px;
  display: block;
}

.openRegister a {
  font-weight: 500 !important;
}

.wp-block-post-template-is-layout-grid li,
.tds-news li.post {
  background-color: #ffffff;
}

.event-details-page-content {
  max-width: 800px;
}

/* fix for gallery */

#lightgallery {
  flex-wrap: wrap;
}

#lightgallery .gallery_image {
  display: flex;
  max-width: calc(33.3333333333% - 4px);
  flex: 0 0 calc(33.3333333333% - 4px);
  height: -webkit-fill-available;
}

#lightgallery .gallery_image img {
  width: 100%;
  height: -webkit-fill-available;
}

@media only screen and (max-width: 599px) {
  #lightgallery .gallery_image {
    max-width: calc(50% - 4px);
    flex: 0 0 calc(50% - 4px);
  }
}

@media only screen and (max-width: 390px) {
  #lightgallery .gallery_image {
    max-width: 100%;
    flex: 0 0 100%;
  }
}

/* Start news hyphen and next button visible 31Mar25 TDS-86 */

.wp-block-post-title {
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    word-break: break-word;
    overflow-wrap: break-word;
}


.wp-block-query-pagination-previous, .wp-block-query-pagination-next {
  background-color: var(--wp--preset--color--primary);
  border-radius: 93px;
  border: none;
  color: var(--wp--preset--color--white);
  font-size: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.303), 18px);
  line-height: 1;
  padding: 10px 20px;
  text-decoration: none;
  display: inline-block;
  text-align: center;
}

.wp-block-query-pagination-previous:hover, .wp-block-query-pagination-next:hover {
  opacity: 0.8;
}

.wp-block-query-pagination-previous::before {
  content: "\00AB  Neuere Beiträge";
}

.wp-block-query-pagination-next::before {
  content: "Ältere Beiträge  \00BB";
}

.wp-block-query-pagination .wp-block-query-pagination-next-arrow {
    margin-left: 0 !important;
}

.wp-block-query-pagination .wp-block-query-pagination-previous-arrow {
    margin-right: 0 !important;
}

.filter-section {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background: #f7f0e9;
    margin: 20px 0px !important;
    border-radius: 8px;
}

#state-filter, #s-filter {
    padding: 12px 20px;
    border-radius: 30px;
    border: 1px solid #002148;
    font-size: 20px;
    outline: none;
    font-family: "futura-pt", sans-serif;
}

#s-filter::placeholder {
    color: rgba(0, 33, 72, 0.4);
    opacity: 1;
    font-family: "futura-pt", sans-serif;
    font-size: 20px;
}

#state-filter {
    min-width: 250px;
    cursor: pointer;
}

#s-filter {
    min-width: 250px;
}

#event-count {
    font-weight: bold;
    color: #002148;
    font-size: 14px;
}

.split-container {
    display: flex;
    width: 100%;
    height: 750px;
    overflow: hidden;
    background: white;
}

.event-list-side {
    width: 50%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    background: #f9f9f9;
    border-right: 1px solid #eee;
}

.event-map-side {
    width: 50%;
    height: 100%;
    position: relative;
    z-index: 1;
}

.event-card-mini {
    background: white;
    padding: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
    border-bottom: 1px solid var(--wp--preset--color--base);
}

.event-card-mini:hover {
    border-left-color: #00a99c;
    border-left: 5px solid #00a99c;
}

.event-card-mini h4 {
    margin: 0 0 8px 0;
    font-size: 18px;
    line-height: 1.3;
    color: #002148;
}

.event-card-mini p {
    margin: 2px 0;
    font-size: 14px;
    color: #555;
}

.event-card-mini p strong {
    color: #002148;
}

@media (max-width: 1024px) {
    .split-container {
        flex-direction: column-reverse;
        height: auto;
    }

    .filter-row-pills {
    flex-direction: column !important;
    gap: 10px !important;
}

div#map-container {
    min-height: 400px !important;
}

    .event-list-side, .event-map-side {
        width: 100%;
    }

    .event-map-side {
        height: 450px;
    }

        .event-list-side {
        height: fit-content;
    }

    .events-item {
    flex-direction: column !important;
}
}

.event-badges {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
    margin: 10px 0;
}

/* --- Leaflet Fixes --- */
.leaflet-container {
    font-family: inherit !important;
}

.leaflet-popup-content-wrapper {
    border-radius: 8px;
    padding: 5px;
}

.leaflet-popup-content strong {
    color: #002148;
}

.marker-cluster div {
    background-color: #00a99d !important;
}
.marker-cluster div {
    width: 30px;
    height: 30px;
    margin-left: 5px;
    margin-top: 5px;
    text-align: center;
    border-radius: 15px;
    font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.marker-cluster-small, .marker-cluster-medium, .marker-cluster-large {
    background-color: rgba(0, 169, 157, 0.7) !important;
    border: 2px solid #fff;
    color: #fff;
}

.filter-section {
    text-align: center;
    max-width: 1000px;
    margin: 0 auto 40px auto;
    justify-content: center;
}

.filter-row-one {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.tds-filter-input {
    border: 1.5px solid #002148;
    border-radius: 50px;
    padding: 10px 25px;
    font-size: 16px;
    color: #002148;
    outline: none;
    background: transparent;
}

.search-field {
    min-width: 300px;
}

.nice-select {
    line-height: normal !important;
}

.nice-select.tds-filter-input {
    width: 250px;
}

.nice-select.open .list {
    width: 250px;
    border-radius: 10px;
}

.pill-checkbox input {
    display: none;
}

.filter-row-pills {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

span.pill-label {
    display: inline-block;
    background-color: rgba(0, 33, 72, 10%);
    color: rgba(0, 33, 72, 75%);
    padding: 12px 36px;
    border-radius: 100px;
    cursor: pointer;
transition: background-color 0.2s ease, color 0.2s ease;}

span.pill-label.active {
    background-color: var(--wp--preset--color--primary);
    color: #ffffff;
}

.events-item {
    background: #fff;
    padding: 15px;
    border-bottom: 1px solid #eee;
    text-decoration: none !important;
    color: inherit;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: row;
}

.events-item:hover {
    text-decoration: none !important;
    color: initial !important;
}

.events-item h4 {
    margin: 5px 0;
    color: #002148;
    text-decoration: none;
}

.events-item:focus {
    outline: none;
}

span.badge.badge-free {
    background: var(--wp--preset--color--primary);
    padding: 0 16px;
    border-radius: 50px;
    color: white;
    font-family: "all-round-gothic", sans-serif;
    font-weight: 500;
    font-size: 16px;
}

span.badge.badge-online {
    padding: 0 16px;
    border-radius: 50px;
    color: var(--wp--preset--color--primary);
    border: 1px solid var(--wp--preset--color--primary)
    font-family: "all-round-gothic", sans-serif;
    font-weight: 500;
    font-size: 16px;
}

span.badge.badge-date {
    font-family: "all-round-gothic", sans-serif;
    font-weight: 500;
    font-size: 16px;
    display: inline-block;
    padding: 0 16px;
    background-color: var(--wp--preset--color--base);
    margin-right: 4px;
    border-radius: 100px;
}

#map-container {
    position: relative;
    overflow: hidden;
}

.map-gesture-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.map-gesture-overlay.is-active {
    opacity: 1;
}

.map-gesture-text {
    color: white;
    font-family: "futura-pt", sans-serif;
    padding: 15px 25px;
    border-radius: 50px;
    text-align: center;
    font-size: 16px;
}

#registration input {
    padding: 12px 20px;
    border-radius: 30px;
    margin-bottom: 10px;
    border: 1px solid #002148;
    font-size: 20px;
    outline: none;
    font-family: "futura-pt", sans-serif;
    width: 100%;
}

#registration p {
    margin: 0 !important;
}

button.registration-submit-button.wp-block-button__link.wp-element-button {
    background: var(--wp--preset--color--primary);
    border-radius: 50px;
    width: 100%;
    color: white;
    border: 0px;
}

form.event-registration-form {
    max-width: 500px;
}

p.registration-success {
    padding-bottom: 15px !important;
}

div#registration {
    background: white;
    border-radius: 20px;
    padding: 40px;
    max-width: fit-content;
    margin-top: 50px;
}

#registration h2 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 32px;
}

.sxt-pagination button {
    border-radius: 50px;
    border: 0;
    background: white;
    cursor: pointer;
    width: 40px;
    height: 40px;
}

button.page-btn.active {
    background: var(--wp--preset--color--primary);
    color: white;
}

.sxt-pagination {
    display:flex; gap:10px; grid-column:1/-1; justify-content:center; padding:20px 0;
}

#event-list {
    display: flex;
    flex-direction: column;
}

.sxt-pagination {
    display: flex !important;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-top: auto; 
    padding: 20px 0;
    order: 9999 !important; 
}

@media (min-width: 1200px) {
    .event-list-side {
        display: flex;
        flex-direction: column;
    }
}

.sxt-pagination span {
    display: flex;
    align-items: flex-end;
    color: #002148;
    user-select: none;
}

/* GLightbox Gallery */
.glightbox-gallery { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 15px; 
    margin-top: 20px; 
}

.gallery-item { 
    display: block; 
    width: 300px; 
    height: 300px; 
    overflow: hidden; 
    border-radius: 8px; 
}

.gallery-item img { 
    width: 300px; 
    height: 300px; 
    object-fit: cover; 
    display: block; 
    transition: transform 0.3s ease; 
}

.gallery-item img:hover { 
    transform: scale(1.05); 
}

.custom-select.field .nice-select {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 45px;
    padding: 0 30px;
    border-radius: 25px;
    line-height: normal;
    float: none;
    width: 100%;
}

.custom-select.field .nice-select .current {
    width: 100%;
    margin: 0;
}

.custom-select.field .nice-select::after {
    right: 15px;
    margin-top: 0;
    transform: translateY(-50%) rotate(45deg);
    top: 50%;
}

.custom-select.field .nice-select .list {
    width: 100%;
    text-align: center;
}