/*
Theme Name: the7dtchild
Author: Dream-Theme
Author URI: http://dream-theme.com/
Description: The7 is perfectly scalable, performance and SEO optimized, responsive, retina ready multipurpose WordPress theme. It will fit every site – big or small. From huge corporate portals to studio or personal sites – The7 will become a great foundation for your next project!
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/

/* =========================================================
   DG PARO Master
   Based on DG PARO Tagungen visual system
   Scope:
   - fonts
   - tokens
   - base typography
   - header / navigation
   - rectangular green buttons
   - generic section helpers
   - simple footer base
   ========================================================= */

.itrk-legaltext h1 {display:none!important;}
/* =========================================================
   Fonts
   ========================================================= */
.mobile-navigation{display:none!important;}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../dt-the7-child/fonts/Noto-Sans-Regular.eot');
  src: url('../dt-the7-child/fonts/Noto-Sans-Regular.eot?#iefix') format('embedded-opentype'),
       url('../dt-the7-child/fonts/Noto-Sans-Regular.woff2') format('woff2'),
       url('../dt-the7-child/fonts/Noto-Sans-Regular.woff') format('woff'),
       url('../dt-the7-child/fonts/Noto-Sans-Regular.ttf') format('truetype'),
       url('../dt-the7-child/fonts/Noto-Sans-Regular.svg#NotoSans') format('svg');
}

@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../dt-the7-child/fonts/Noto-Sans-300.eot');
  src: url('../dt-the7-child/fonts/Noto-Sans-300.eot?#iefix') format('embedded-opentype'),
       url('../dt-the7-child/fonts/Noto-Sans-300.woff2') format('woff2'),
       url('../dt-the7-child/fonts/Noto-Sans-300.woff') format('woff'),
       url('../dt-the7-child/fonts/Noto-Sans-300.ttf') format('truetype'),
       url('../dt-the7-child/fonts/Noto-Sans-300.svg#NotoSans') format('svg');
}

@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../dt-the7-child/fonts/Noto-Sans-500.eot');
  src: url('../dt-the7-child/fonts/Noto-Sans-500.eot?#iefix') format('embedded-opentype'),
       url('../dt-the7-child/fonts/Noto-Sans-500.woff2') format('woff2'),
       url('../dt-the7-child/fonts/Noto-Sans-500.woff') format('woff'),
       url('../dt-the7-child/fonts/Noto-Sans-500.ttf') format('truetype'),
       url('../dt-the7-child/fonts/Noto-Sans-500.svg#NotoSans') format('svg');
}

@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../dt-the7-child/fonts/Noto-Sans-700.eot');
  src: url('../dt-the7-child/fonts/Noto-Sans-700.eot?#iefix') format('embedded-opentype'),
       url('../dt-the7-child/fonts/Noto-Sans-700.woff2') format('woff2'),
       url('../dt-the7-child/fonts/Noto-Sans-700.woff') format('woff'),
       url('../dt-the7-child/fonts/Noto-Sans-700.ttf') format('truetype'),
       url('../dt-the7-child/fonts/Noto-Sans-700.svg#NotoSans') format('svg');
}


/* =========================================================
   Tokens
   ========================================================= */

:root{
  /* =========================
     MAIN CSS TOKENS
     ========================= */

  /* =========================
     COLORS
     ========================= */

  --hp4u-brand: #5ecb00;
  --hp4u-focus: #5ecb00;
  --hp4u-global-color-primary: #5ecb00;
  --hp4u-global-color-secondary: #ffffff;
  --hp4u-global-color-text: #1b4259;
  --hp4u-global-color-bg1: #ffffff;
  --hp4u-global-color-bg2: #f7f8fa;

  --hp4u-color-bg: #ffffff;
  --hp4u-color-bg-panel: #ffffff;
  --hp4u-color-surface: #ffffff;
  --hp4u-color-border: #e6e8ec;
  --hp4u-color-text: #1b4259;
  --hp4u-color-muted: #6b7280;
  --hp4u-color-subtle: #374151;

  --hp4u-surface-page: #f7f8fa;
  --hp4u-surface-1: #ffffff;
  --hp4u-surface-2: #ffffff;
  --hp4u-surface-3: #f7f5f4;
  --hp4u-surface-4: #f7f5f4;
  --hp4u-surface-5: #f5f3f1;

  --hp4u-border: #ffffff;
  --hp4u-ui-hairline: var(--hp4u-global-color-text);

  --hp4u-ink-900: #1b4259;
  --hp4u-ink-700: #1f2937;
  --hp4u-ink-600: #374151;
  --hp4u-ink-500: #6b7280;

  --hp4u-ink-dark: #1b4259;
  --hp4u-ink-secondary: #8d909f;

  --hp4u-accent: #5ecb00;
  --hp4u-accent-hover: #5ecb00;
  --hp4u-accent-tint: #f0ffe7;

  /* Shared color helpers for components */
  --hp4u-white: #ffffff;
  --hp4u-black: #000000;
  --hp4u-ink-inverse: #ffffff;

  /* RGB helper tokens are needed for rgba() based overlays/glass panels. */
  --hp4u-white-rgb: 255, 255, 255;
  --hp4u-black-rgb: 0, 0, 0;
  --hp4u-ink-dark-rgb: 27, 66, 89;
  --hp4u-surface-1-rgb: 255, 255, 255;

  /* Dark component background, used by glass/text panels. */
  --hp4u-dark-bg: #526e88;
  --hp4u-dark-bg-rgb: 82, 110, 136;

  /* Overlay/shadow helpers */
  --hp4u-overlay-dark-rgb: var(--hp4u-black-rgb);
  --hp4u-shadow-rgb: var(--hp4u-black-rgb);

  /* Optional secondary/accent link color for warm callouts. */
  --hp4u-accent-secondary: #3c7dbe;
  --hp4u-link-accent: var(--hp4u-accent-secondary);

  /* Buttons */
  --hp4u-btn-bg: #5ecb00;
  --hp4u-btn-text: #ffffff;
  --hp4u-btn-border-color: #5ecb00;
  --hp4u-btn-hover-bg: #5ecb00;
  --hp4u-btn-hover-text: #ffffff;
  --hp4u-btn-hover-border-color: #5ecb00;
  --hp4u-cta-color: #5ecb00;

  /* =========================
     LAYOUT
     ========================= */

  --hp4u-radius: 0;
  --hp4u-radius-sm: 0;

  --hp4u-gap: 2rem;
  --hp4u-gap-sm: 0.5rem;

  --hp4u-pad: 1rem;
  --hp4u-pad-l: 2rem;
  --hp4u-pad-sm: 0.5rem;

  --hp4u-section-pad: 32px;

  /* Layout system
     These tokens are the shared source of truth for components and future MU-plugins.
     Editors can still use WPBakery columns; custom components should align to these widths/gaps. */
  --hp4u-layout-interface-width: 1920px;
  --hp4u-layout-stage-width: 1300px;
  --hp4u-layout-content-width: 1004px;
  --hp4u-layout-narrow-width: 760px;
  --hp4u-layout-gutter: var(--hp4u-section-pad);
  --hp4u-layout-gutter-tablet: 24px;
  --hp4u-layout-gutter-mobile: 18px;
  --hp4u-layout-grid-columns: 12;
  --hp4u-layout-grid-gap: 15px;
  --hp4u-layout-column-gap: var(--hp4u-layout-grid-gap);
  --hp4u-layout-row-gap: var(--hp4u-gap);

  /* Grid template tokens for future components.
     No editor-facing helper classes are added here yet. */
  --hp4u-grid-template-2: repeat(2, minmax(0, 1fr));
  --hp4u-grid-template-3: repeat(3, minmax(0, 1fr));
  --hp4u-grid-template-4: repeat(4, minmax(0, 1fr));
  --hp4u-grid-template-1-2: minmax(0, 1fr) minmax(0, 2fr);
  --hp4u-grid-template-2-1: minmax(0, 2fr) minmax(0, 1fr);
  --hp4u-grid-template-12: repeat(var(--hp4u-layout-grid-columns), minmax(0, 1fr));

  /* Compatibility mappings for existing and component CSS. */
  --hp4u-interface-max-width: var(--hp4u-layout-interface-width);
  --hp4u-content-width: var(--hp4u-layout-stage-width);
  --hp4u-content-inner-width: var(--hp4u-layout-content-width);
  --hp4u-content-max-width: var(--hp4u-layout-content-width);

  --hp4u-sticky-offset: 100px;
  --the7-anchor-scroll-offset: 100px;

  /* =========================
     TYPOGRAPHY
     ========================= */

  --hp4u-font-weight-default: 300;
  --hp4u-font-weight-medium: 500;
  --hp4u-font-weight-bold: 700;
  --hp4u-font-weight-body: 300;
  --hp4u-font-weight-hp4u-button: 400;

  --hp4u-font-sans: "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --hp4u-font-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol";
  --hp4u-font-family: var(--hp4u-font-sans), var(--hp4u-font-emoji);

  --hp4u-lh-flat: 1;
  --hp4u-lh-tight: 1.2;
  --hp4u-lh-title: 1.3;
  --hp4u-lh-head: 1.3;
  --hp4u-lh-base: 1.5;
  --hp4u-lh-relaxed: 1.65;
  --hp4u-lh-compact: 1.25;

  --hp4u-trk-tight: -0.005em;
  --hp4u-trk-normal: 0;
  --hp4u-trk-wide: 0.06em;

  --hp4u-measure: 68ch;

  /* Fluid type scale, same logic as Tagungen */
  --hp4u-step--2: clamp(0.75rem, 0.714rem + 0.179vw, 0.875rem);
  --hp4u-step--1: clamp(0.8125rem, 0.777rem + 0.179vw, 0.9375rem);
  --hp4u-step-0:  clamp(0.9375rem, 0.920rem + 0.089vw, 1rem);
  --hp4u-step-1:  clamp(1.125rem, 1.086rem + 0.193vw, 1.26rem);
  --hp4u-step-2:  clamp(1.35rem, 1.282rem + 0.339vw, 1.588rem);
  --hp4u-step-3:  clamp(1.62rem, 1.511rem + 0.543vw, 2rem);
  --hp4u-step-4:  clamp(1.944rem, 1.779rem + 0.824vw, 2.520rem);
  --hp4u-step-5:  clamp(2.333rem, 2.092rem + 1.204vw, 3.176rem);
  --hp4u-step-6:  clamp(2.799rem, 2.456rem + 1.717vw, 4rem);

  /* Compatibility mappings used on Tagungen HTML */
  --hp4u-font-size-cta: var(--hp4u-step-0);
  --hp4u-font-weight-cta: 500;
  --hp4u-font-size-note: var(--hp4u-step--2);
}

/* =========================================================
   Global base
   ========================================================= */

html {
  font-size: 100%;
  scroll-padding-top: var(--hp4u-sticky-offset, 100px);
}

body {
  --the7-anchor-scroll-offset: 100px;
}

html,
body,
body.page,
.wf-container > * {
  font-family: var(--hp4u-font-family) !important;
  font-size: var(--hp4u-step-0) !important;
  line-height: var(--hp4u-lh-base) !important;
  letter-spacing: var(--hp4u-trk-normal) !important;
  font-weight: var(--hp4u-font-weight-body)!important;
  color: var(--hp4u-global-color-text)!important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  max-width: none;
}

body {
  background-color: var(--hp4u-surface-page);
}

a {
  color: var(--hp4u-accent);
  text-decoration: none !important;
}

a:hover,
a:focus {
  color: var(--hp4u-accent);
  text-decoration: none !important;
}

p {
  margin-top: 0;
}

strong,
b {
  font-weight: var(--hp4u-font-weight-bold);
}


/* =========================================================
   Headings
   ========================================================= */

h1,
.h1 {
  font-size: var(--hp4u-step-5)!important;
  line-height: var(--hp4u-lh-title)!important;
  letter-spacing: var(--hp4u-trk-tight)!important;
  margin: 0 0 .5em;
  color: var(--hp4u-global-color-text)!important;
  font-weight: var(--hp4u-font-weight-bold)!important;
}
.hp4u-dgparo-hero__title{line-height:var(--hp4u-lh-tight)!important;}
/* Extra-small mobile Hero title.*/
@media (max-width: 360px) {
  .hp4u-dgparo-hero__title {
    font-size: clamp(
      1.25rem,
      calc(10vw - 2px),
      2.125rem
    ) !important;

    -webkit-hyphens: none !important;
    hyphens: none !important;
    overflow-wrap: normal;
    word-break: normal;
  }
}
h2,
.h2, .page-title h1, .page-title h1 *, .page-title h1 a:hover, #page .page-title .entry-title {
  font-size: var(--hp4u-step-4)!important;
  line-height: var(--hp4u-lh-title)!important;
  letter-spacing: var(--hp4u-trk-tight)!important;
  margin: 0 0 .5em;
  color: var(--hp4u-global-color-text)!important;
  font-weight: var(--hp4u-font-weight-bold)!important;
}

h3,
.h3 {
  font-size: var(--hp4u-step-3)!important;
  line-height: var(--hp4u-lh-head)!important;
  letter-spacing: var(--hp4u-trk-tight)!important;
  margin: 0 0 .5em;
  color: var(--hp4u-global-color-text)!important;
  font-weight: var(--hp4u-font-weight-bold)!important;
}

h4,
.h4, .itrk-legaltext h1, .itrk-legaltext h2, .itrk-legaltext h3 {
  font-size: var(--hp4u-step-2)!important;
  line-height: var(--hp4u-lh-head)!important;
  margin: 0 0 .5em;
  color: var(--hp4u-global-color-text);
  font-weight: var(--hp4u-font-weight-medium);
}
.itrk-legaltext h2{  margin: 1em 0 .5em 0;}
h5,
.h5 {
  font-size: var(--hp4u-step-1);
  line-height: var(--hp4u-lh-head);
  margin: 0 0 .5em;
  color: var(--hp4u-global-color-text);
  font-weight: var(--hp4u-font-weight-medium);
}

h6,
.h6 {
  font-size: var(--hp4u-step-0);
  line-height: var(--hp4u-lh-head);
  margin: 0 0 .5em;
  color: var(--hp4u-global-color-text);
  font-weight: var(--hp4u-font-weight-medium);
}


/* =========================================================
   Utility classes kept from Tagungen
   ========================================================= */

.lead {
  font-size: var(--hp4u-step-1);
  line-height: var(--hp4u-lh-head);
  max-width: var(--hp4u-measure);
}

.small {
  font-size: var(--hp4u-step--2);
  line-height: var(--hp4u-lh-relaxed);
}

.eyebrow {
  font-size: var(--hp4u-step-2);
  line-height: var(--hp4u-lh-tight);
  letter-spacing: var(--hp4u-trk-wide);
  text-transform: uppercase;
}

.centered_section {
  text-align: center;
}

.hp4u-element-no-mar {
  margin-bottom: 0 !important;
}

.hp4u-visually-hidden,
.hp4u-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* =========================================================
   Generic page/content layout
   ========================================================= */

#main > .wf-wrap {
  background-color: #ffffff;
	padding-bottom:32px;
}
.home #main > .wf-wrap {
	padding-bottom:0
}
#main > .wf-wrap .wf-container-main {
  padding-bottom: var(--hp4u-section-pad);
	padding-bottom: 0;
}
.masthead:not(.side-header):not(.side-header-v-stroke):not(.side-header-menu-icon) .header-bar,
#footer.full-width > .wf-wrap,
#footer.full-width #bottom-bar > .wf-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--hp4u-interface-max-width);
  margin: auto;
}

.hp4u-section-do .vc_row {
  padding-left: var(--hp4u-section-pad);
  padding-right: var(--hp4u-section-pad);
}

.hp4u-section-do-2 {
  padding-left: var(--hp4u-section-pad);
  padding-right: var(--hp4u-section-pad);
}

.hp4u-section-top-bot {
  padding-top: calc(var(--hp4u-section-pad) * 2);
  padding-bottom: calc(var(--hp4u-section-pad) * 2);
}

.hp4u-section-top {
  padding-top: calc(var(--hp4u-section-pad) * 2);
}

.hp4u-section-bot {
  padding-bottom: calc(var(--hp4u-section-pad) * 2);
}

.hp4u-section-top-bot-half {
  padding-top: var(--hp4u-section-pad);
  padding-bottom: var(--hp4u-section-pad);
}

.hp4u-section-top-half {
  padding-top: var(--hp4u-section-pad);
}

.hp4u-section-bot-half {
  padding-bottom: var(--hp4u-section-pad);
}

.hp4u-heading-max-w h2 {
  max-width: 38ch;
  margin-left: auto;
  margin-right: auto;
}

.hp4u-heading-max-w2 h2 {
  max-width: 32ch;
  margin-left: auto;
  margin-right: auto;
}

.hp4u-heading-max-w2 h3 {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}


/* =========================================================
   Header / navigation
   ========================================================= */

.classic-header .branding,
.classic-header .navigation {
  background-color: #faf9f8;
}

.masthead {
  z-index: 901;
}

/* Header inner max width like Tagungen */
.masthead:not(.side-header):not(.side-header-v-stroke):not(.side-header-menu-icon) .header-bar {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--hp4u-interface-max-width);
  margin: auto;
}

/* Align navigation to the right */
.classic-header.center .navigation {
  -ms-flex-pack: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;
}

/* Parent menu typography */
.main-nav > li > a .menu-text {
  letter-spacing: 1px;
  font-family: var(--hp4u-font-family) !important;
  font-weight: var(--hp4u-font-weight-medium) !important;
  text-transform: uppercase;
  color: var(--hp4u-ink-dark);
}

/* Parent menu divider lines */
.masthead:not(.side-header).dividers .main-nav > li:before,
.masthead:not(.side-header).dividers.surround .main-nav > li:last-child:after {
  height: 16px !important;
  margin-top: 2px !important;
  border-color: var(--hp4u-ink-dark) !important;
  opacity: 1;
}

/* The7 underline position */
.menu-item-text:before {
  z-index: 3;
  bottom: -22px !important;
  background-color: var(--hp4u-accent) !important;
}

/* Active parent / current page underline */
.masthead .current-menu-item .menu-item-text:before,
.masthead .current_page_item .menu-item-text:before,
.masthead .current-menu-parent .menu-item-text:before,
.masthead .current_page_parent .menu-item-text:before,
.masthead .act .menu-item-text:before {
  visibility: visible !important;
  transform: scaleX(1) !important;
}

/* Parent hover / active color */
.main-nav > li > a:hover .menu-text,
.main-nav > li.act > a .menu-text,
.main-nav > li.current-menu-item > a .menu-text,
.main-nav > li.current_page_item > a .menu-text,
.main-nav > li.current-menu-parent > a .menu-text,
.main-nav > li.current_page_parent > a .menu-text {
  color: var(--hp4u-ink-dark) !important;
}

/* Logo sizing like Tagungen */
.branding a img,
.branding img {
  max-width: 100%;
  height: auto;
  width: 150px;
}

/* Mobile logo */
.mobile-header-bar .mobile-branding img {
  max-width: 100%;
  height: auto;
  width: 75px;
}

/* Sticky logo resize if sticky header is enabled */
@media screen and (min-width: 1091px) {

  .masthead .branding .same-logo {
    width: 150px;
    flex: 0 0 150px;
    display: block;
    overflow: visible;
    transition:
      width 0.3s ease,
      flex-basis 0.3s ease;
  }

  .masthead .branding .same-logo img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    transform: translateZ(0);
    backface-visibility: hidden;
  }

  .sticky-on .branding .same-logo {
    width: 80px;
    flex-basis: 80px;
  }

  .sticky-on .branding .same-logo img {
    width: 100%;
    max-width: none;
  }
}
/* =========================================================
   Header logo sizing
   Combined DG PARO Master + HMU logo
   ========================================================= */

:root {
  --hp4u-header-logo-width: 433px;
  --hp4u-header-logo-width-sticky: 231px;
  --hp4u-header-logo-width-mobile: 250px;
}


/* Desktop / general logo */
.branding a img,
.branding img {
  display: block;
  width: var(--hp4u-header-logo-width);
  max-width: 100%;
  height: auto;
}


/* Mobile logo */
.mobile-header-bar .mobile-branding img {
  display: block;
  width: var(--hp4u-header-logo-width-mobile);
  max-width: 100%;
  height: auto;
}


/* Sticky logo resize */
@media screen and (min-width: 1091px) {

  .masthead .branding .same-logo {
    width: var(--hp4u-header-logo-width);
    flex: 0 0 var(--hp4u-header-logo-width);
    display: block;
    overflow: visible;
    transition:
      width 0.3s ease,
      flex-basis 0.3s ease;
  }

  .masthead .branding .same-logo img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    transform: translateZ(0);
    backface-visibility: hidden;
  }

  .sticky-on .branding .same-logo {
    width: var(--hp4u-header-logo-width-sticky);
    flex-basis: var(--hp4u-header-logo-width-sticky);
  }

  .sticky-on .branding .same-logo img {
    width: 100%;
    max-width: none;
  }
}
#branding-bottom img{max-width:100%; width:110px; height:auto;}
/* =========================================================
   Desktop sub-nav / dropdown
   From Tagungen, but scoped without phantom
   ========================================================= */

li:not(.dt-mega-menu) .sub-nav {
  min-width: 280px;
  width: 100%;
  z-index: 2;
}

/* Current item inside submenu */
.masthead .sub-nav > li.current_page_item > a,
.masthead .sub-nav > li.current-menu-item > a,
.masthead .sub-nav > li.act > a {
  background-color: rgba(94, 203, 0, 0.07);
}

/* Submenu text tone */
.masthead .sub-nav > li > a .menu-text,
.masthead .sub-nav > li > a {
  font-family: var(--hp4u-font-family) !important;
  color: var(--hp4u-ink-dark) !important;
}

/* Submenu hover */
.masthead .sub-nav > li > a:hover,
.masthead .sub-nav > li > a:focus {
  background-color: rgba(94, 203, 0, 0.07);
  color: var(--hp4u-ink-dark) !important;
}

/* =========================================================
   Mobile menu
   ========================================================= */

#mobile-menu .current_page_parent > a .menu-text,
#mobile-menu .current-menu-parent > a .menu-text,
#mobile-menu .sub-nav .current-menu-item > a .menu-text,
#mobile-menu .sub-nav .current_page_item > a .menu-text {
  color: var(--hp4u-accent) !important;
}

.mobile-main-nav > li.has-children > a:after,
.mobile-main-nav .next-level-button svg,
.mobile-main-nav > li.menu-item-language > a:after {
  color: var(--hp4u-accent) !important;
  fill: var(--hp4u-accent);
}

.dt-mobile-header .next-level-button svg {
  width: 20px !important;
}

/* =========================================================
   Parent menu responsive spacing
   Same breakpoints as Tagungen
   ========================================================= */

@media (max-width: 1400px) {
  .main-nav > li > a {
    margin: 18px 18px 18px 18px;
  }

  .top-header .outside-item-remove-margin.main-nav > li:first-child > a {
    margin-left: 0;
  }

  .top-header .outside-item-remove-margin.main-nav > li:last-child > a {
    margin-right: 0;
  }
}

@media (max-width: 1250px) {
  .main-nav > li > a {
    margin: 18px 10px 18px 10px;
  }

  .top-header .outside-item-remove-margin.main-nav > li:first-child > a {
    margin-left: 0;
  }

  .top-header .outside-item-remove-margin.main-nav > li:last-child > a {
    margin-right: 0;
  }

  .main-nav > li > a .menu-text {
    letter-spacing: 0;
  }
}

@media (max-width: 315px) {
  li:not(.dt-mega-menu) .sub-nav {
    min-width: 100%;
    width: 100%;
    margin-left: 0;
  }
}

/* =========================================================
   Tagungen-style rectangular green buttons
   Keep naming compatible: .hp4u-btn, .hp4u-button, .hp4u_dyn_hero__btn
   ========================================================= */

.hp4u-btn,
.hp4u-button,
.hp4u_dyn_hero__btn,
.dt-btn,
a.dt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  box-sizing: border-box;
  padding: 8px 18px;
  border-radius: 0;
  border: 0 solid var(--hp4u-btn-border-color);
  background-color: var(--hp4u-btn-bg) !important;
  color: var(--hp4u-btn-text) !important;
  font-family: var(--hp4u-font-family) !important;
  font-size: var(--hp4u-font-size-cta) !important;
  line-height: var(--hp4u-lh-tight) !important;
  font-weight: var(--hp4u-font-weight-hp4u-button) !important;
  letter-spacing: var(--hp4u-trk-normal);
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
}

.hp4u-btn:hover,
.hp4u-btn:focus,
.hp4u-button:hover,
.hp4u-button:focus,
.hp4u_dyn_hero__btn:hover,
.hp4u_dyn_hero__btn:focus,
.dt-btn:hover,
.dt-btn:focus,
a.dt-btn:hover,
a.dt-btn:focus {
  background-color: var(--hp4u-btn-hover-bg) !important;
  color: var(--hp4u-btn-hover-text) !important;
  border-color: var(--hp4u-btn-hover-border-color) !important;
  opacity: .9;
  text-decoration: none !important;
  box-shadow: none;
}

.hp4u-btn:visited,
.hp4u-button:visited,
.hp4u_dyn_hero__btn:visited,
.dt-btn:visited,
a.dt-btn:visited {
  color: var(--hp4u-btn-text) !important;
}

.hp4u-btn--small,
.hp4u-button--small {
  min-height: 32px;
  padding: 6px 14px;
  font-size: var(--hp4u-step--2) !important;
}

.hp4u-btn--large,
.hp4u-button--large {
  min-height: 54px;
  padding: 10px 24px;
}


/* =========================================================
   The7 page title / breadcrumbs
   Match the custom Tagungen page-header rhythm
   ========================================================= */

/* Full-width title band stays The7-managed; inner width/rhythm matches Tagungen. */
.page-title.title-center.solid-bg,
.page-title.title-center,
#fancy-header {
  color: var(--hp4u-global-color-text);
}

.page-title > .wf-wrap,
#fancy-header > .wf-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--hp4u-content-max-width, 1004px);
  min-height: 0 !important;
  margin-left: auto;
  margin-right: auto;
  padding-top: calc(var(--hp4u-section-pad) * 2) !important;
  padding-right: var(--hp4u-section-pad) !important;
  padding-bottom: calc(var(--hp4u-section-pad) * 2) !important;
  padding-left: var(--hp4u-section-pad) !important;
}

.page-title.title-center > .wf-wrap,
.title-center > .wf-wrap,
#fancy-header.title-center > .wf-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  align-content: center;
  gap: 1rem;
  text-align: center;
}

/* The7 title headline: same scale as .hp4u-page-title. */
.page-title h1,
.page-title .h1-size,
#fancy-header h1,
#fancy-header .h1-size {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--hp4u-font-family) !important;
  font-size: var(--hp4u-step-4) !important;
  line-height: var(--hp4u-lh-title) !important;
  letter-spacing: var(--hp4u-trk-tight) !important;
  font-weight: var(--hp4u-font-weight-bold) !important;
  color: var(--hp4u-global-color-text) !important;
  hyphens: auto;
}

/* Breadcrumbs should sit close to the title, not create an extra band. */
.page-title-breadcrumbs,
#fancy-header .breadcrumbs,
.page-title .breadcrumbs,
.page-title .breadcrumbs a,
.page-title .breadcrumb_last,
.page-title .assistive-text {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--hp4u-font-family) !important;
  font-size: var(--hp4u-step--1) !important;
  line-height: var(--hp4u-lh-flat) !important;
  font-weight: var(--hp4u-font-weight-default) !important;
  color: rgba(0, 0, 0, 0.5) !important;
  text-transform: none;
  letter-spacing: var(--hp4u-trk-normal) !important;
}

.page-title-breadcrumbs a,
.page-title .breadcrumbs a,
#fancy-header .breadcrumbs a {
  color: rgba(0, 0, 0, 0.5) !important;
}

.page-title-breadcrumbs a:hover,
.page-title-breadcrumbs a:focus,
.page-title .breadcrumbs a:hover,
.page-title .breadcrumbs a:focus,
#fancy-header .breadcrumbs a:hover,
#fancy-header .breadcrumbs a:focus {
  color: var(--hp4u-accent) !important;
}

/* The7 sometimes wraps title and breadcrumbs in extra boxes. Reset their margins. */
.page-title .wf-td,
.page-title .wf-table,
.page-title .wf-table > div,
#fancy-header .wf-td,
#fancy-header .wf-table,
#fancy-header .wf-table > div {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 800px) {
  .page-title > .wf-wrap,
  #fancy-header > .wf-wrap {
    padding-top: calc(var(--hp4u-section-pad) * 2) !important;
    padding-bottom: calc(var(--hp4u-section-pad) * 2) !important;
  }
}

@media (max-width: 350px) {
  .page-title h1,
  .page-title .h1-size,
  #fancy-header h1,
  #fancy-header .h1-size {
    hyphens: auto;
  }
}


/* =========================================================
   Simple page header / intro classes from Tagungen
   Useful if copied HTML uses them
   ========================================================= */

.hp4u-page-header {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-top: calc(var(--hp4u-section-pad) * 2);
  padding-bottom: calc(var(--hp4u-section-pad) * 2);
}

.hp4u-page-title {
  margin: 0;
  font-size: var(--hp4u-step-4);
  line-height: var(--hp4u-lh-title);
  letter-spacing: var(--hp4u-trk-tight);
}

.hp4u-breadcrumbs {
  font-size: var(--hp4u-step--1);
  line-height: var(--hp4u-lh-flat);
  color: rgba(0, 0, 0, 0.5);
  hyphens: auto;
}

.hp4u-breadcrumbs a {
  color: rgba(0, 0, 0, 0.5) !important;
}

.hp4u-intro-title-kicker {
  font-size: var(--hp4u-step-1);
  line-height: var(--hp4u-lh-head);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.hp4u-intro-title h1,
.hp4u-intro-title h2,
.hp4u-intro-title h3 {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.hp4u-titles-mixed h2 {
  margin: 0 0 0;
  font-weight: var(--hp4u-font-weight-bold);
}

.hp4u-titles-mixed h2 span.kicker {
  font-weight: var(--hp4u-font-weight-default) !important;
  text-transform: uppercase;
}

.hp4u-titles-mixed h3 {
  font-size: var(--hp4u-step-4);
  line-height: var(--hp4u-lh-title);
  letter-spacing: var(--hp4u-trk-tight);
  margin: 0 0 .5em;
  font-weight: var(--hp4u-font-weight-bold);
  color: var(--hp4u-accent);
}



/* =========================================================
   Footer base
   Kept compatible with Tagungen footer HTML
   ========================================================= */

.hp4u-footer-layout {
  padding: 32px 0 40px;
  font-size: var(--hp4u-step-0) !important;
  line-height: var(--hp4u-lh-base) !important;
  letter-spacing: var(--hp4u-trk-normal) !important;
  font-weight: 400;
  color: var(--hp4u-global-color-text);
}

.hp4u-footer-layout p {
  margin: 0 0 0.4em;
}

.hp4u-footer-org-name {
  font-weight: 700 !important;
  margin-bottom: 0.25em;
}

.hp4u-footer-heading {
  margin: 0 0 0.6em;
  font-size: var(--hp4u-step-0) !important;
  line-height: var(--hp4u-lh-base) !important;
  letter-spacing: var(--hp4u-trk-normal) !important;
  font-weight: 700;
}

.hp4u-footer-line {
  margin: 0 0 0.6em;
}

.hp4u-footer-layout a {
  text-decoration: none !important;
}

.hp4u-footer-layout a:hover,
.hp4u-footer-layout a:focus {
  text-decoration: underline !important;
}

@media (min-width: 905px) {

  .hp4u-footer-layout {
    display: grid;
    grid-template-columns: auto 1fr auto;
    column-gap: 40px;
    row-gap: 20px;
    align-items: flex-start;
  }

  .hp4u-footer-top,
  .hp4u-footer-bottom {
    display: contents;
  }

  .hp4u-footer-logo {
    grid-column: 1;
    grid-row: 1 / 4;
    align-self: flex-start;
    margin-top: -12px;
  }

  .hp4u-footer-logo img {
    display: block;
    max-width: 100%;
    width: 120px;
    height: auto;
  }

  .hp4u-footer-org {
    grid-column: 2;
    grid-row: 1;
  }

  .hp4u-footer-divider {
    grid-column: 2 / 3;
    grid-row: 2;
    border-top: 1px solid rgba(0, 0, 0, 0.15);
    align-self: center;
  }

  .hp4u-footer-columns {
    grid-column: 2;
    grid-row: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 4px;
  }

  .hp4u-footer-col {
    min-width: 220px;
  }

  .hp4u-footer-social {
    grid-column: 3;
    grid-row: 2;
    justify-self: flex-end;
    align-self: center;
    margin-top: 0;
  }

  .hp4u-footer-social-list {
    list-style: none;
    margin: -20px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }

  .hp4u-footer-social-item {
    margin: 0;
  }

  .hp4u-footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .hp4u-footer-social-link .soc-icon {
    font-size: var(--hp4u-step-3);
    line-height: var(--hp4u-lh-head);
    display: block;
  }
}

@media (max-width: 904px) {

  .hp4u-footer-layout {
    display: block;
    padding-top: 24px;
    padding-bottom: 32px;
  }

  .hp4u-footer-top {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-top: 0;
  }

  .hp4u-footer-logo img {
    display: block;
    max-width: 100%;
    width: 120px;
    height: auto;
  }

  .hp4u-footer-divider {
    margin: 24px 0 28px;
    border-top: 1px solid rgba(0, 0, 0, 0.15);
  }

  .hp4u-footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .hp4u-footer-columns {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .hp4u-footer-col {
    min-width: 0;
  }

  .hp4u-footer-social {
    margin-top: 8px;
  }

  .hp4u-footer-social-list {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }

  .hp4u-footer-social-link .soc-icon {
    display: block;
  }
}


/* =========================================================
   Responsive base
   ========================================================= */

@media (max-width: 800px) {
  :root {
    --hp4u-section-pad: var(--hp4u-layout-gutter-mobile);
    --hp4u-layout-gutter: var(--hp4u-layout-gutter-mobile);
  }
}

@media (max-width: 350px) {
  .hp4u-page-title {
    hyphens: auto;
  }
}


/* =========================================================
   Accessibility / focus reset
   ========================================================= */

:where(:focus) {
  outline: none !important;
  box-shadow: none !important;
}

@supports selector(:focus-visible) {
  :where(
    a[href],
    button,
    input,
    select,
    textarea,
    summary,
    [role="button"],
    [role="link"],
    [contenteditable]:not([contenteditable="false"]),
    [tabindex]:not([tabindex^="-"])
  ):focus-visible {
    outline: none !important;
    box-shadow: none !important;
  }
}


.mobile-navigation {
  display: none !important;
	visibility:hidden!important;
}


.mobile-header-bar .mobile-branding {
  flex: 1 1 100%;
  justify-content: center;
}