.elementor-kit-6{--e-global-color-primary:#C4161C;--e-global-color-secondary:#F04E4C;--e-global-color-text:#000000;--e-global-color-accent:#063342;--e-global-color-a093f74:#FFFFFF;--e-global-color-26ed7f9:#1A1A1A;--e-global-color-76357f9:#8C0F14;--e-global-color-13e21d4:#CC3633;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-secondary-font-family:"Inter";--e-global-typography-text-font-family:"Inter";--e-global-typography-accent-font-family:"Inter";--e-global-typography-2f54b44-font-family:"Inter";--e-global-typography-2f54b44-font-size:0.75rem;font-weight:var( --e-global-typography-primary-font-weight );--e-global-typography-2f54b44-font-style:normal;--e-global-typography-2f54b44-letter-spacing:0.025em;--e-global-typography-e9c4a13-font-family:"Times New Roman";--e-global-typography-e9c4a13-font-size:2rem;--e-global-typography-e9c4a13-line-height:1.25em;color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:300ms;--e-preloader-animation-duration:900ms;--e-preloader-delay:0ms;--e-preloader-color:#FFF;--e-preloader-size:20px;}.elementor-kit-6 e-page-transition{background-color:var( --e-global-color-secondary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90 ch;}.e-con{--container-max-width:90 ch;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* === BASIS: Standardgröße (1rem = 16px) === 
html {
  font-size: 100%;
}
*/
/* === DESIGN-TOKENS: Farben & Typografie === */
:root {
  /* Farben */
  --black: rgba(0, 0, 0, 1);
  --black-90: rgba(0, 0, 0, 0.9);
  --black-70: rgba(0, 0, 0, 0.7);
  --black-50: rgba(0, 0, 0, 0.5);
  --black-20: rgba(0, 0, 0, 0.2);

  --old-navy: rgba(6, 51, 66, 1);
  --old-navy-90: rgba(6, 51, 66, 0.9);
  --old-navy-70: rgba(6, 51, 66, 0.7);
  --old-navy-50: rgba(6, 51, 66, 0.5);
  --old-navy-20: rgba(6, 51, 66, 0.2);

  --signal-red: rgba(240, 78, 76, 1);
  --signal-red-90: rgba(240, 78, 76, 0.9);
  --signal-red-70: rgba(240, 78, 76, 0.7);
  --signal-red-50: rgba(240, 78, 76, 0.5);
  --signal-red-20: rgba(240, 78, 76, 0.2);

  --ruby-red: rgba(196, 22, 28, 1);
  --ruby-red-90: rgba(196, 22, 28, 0.9);
  --ruby-red-70: rgba(196, 22, 28, 0.7);
  --ruby-red-50: rgba(196, 22, 28, 0.5);
  --ruby-red-20: rgba(196, 22, 28, 0.2);

  --gold: rgba(219, 164, 40, 1);
  --gold-90: rgba(219, 164, 40, 0.9);
  --gold-70: rgba(219, 164, 40, 0.7);
  --gold-50: rgba(219, 164, 40, 0.5);
  --gold-20: rgba(219, 164, 40, 0.2);

  --sun-yellow: rgba(250, 166, 26, 1);
  --sun-yellow-90: rgba(250, 166, 26, 0.9);
  --sun-yellow-70: rgba(250, 166, 26, 0.7);
  --sun-yellow-50: rgba(250, 166, 26, 0.5);
  --sun-yellow-20: rgba(250, 166, 26, 0.2);

  /* Typografie */
  --line-height-default: 1.61;
  --factor-default: 2.25;

  --h1-font-size: clamp(2rem, 6cqi, 4rem);
  --h2-font-size: clamp(1.75rem, 5.5cqi, 3.5rem);
  --h3-font-size: clamp(1.5rem, 5cqi, 3rem);
  --h4-font-size: clamp(1.25rem, 4.5cqi, 2.25rem);
  --h5-font-size: clamp(1.125rem, 4cqi, 1.875rem);
  --h6-font-size: clamp(1rem, 3.5cqi, 1.625rem);
  /*--p-font-size: clamp(1.05rem, 3.25cqi, 1.25rem);*/
  --p-font-size: clamp(0.95rem, 2.5cqi, 1.15rem);
}

html, body{
    background-color: var(--signal-red);
    max-width: 100vw;
    overflow-x: clip;
}

/* === Container für cqi-basierte Einheiten === */
main,
section,
article,
aside,
header,
footer {
  container-type: inline-size;
}

/* === Grundtypografie === */
body {
  font-family: 'Inter', sans-serif;
  line-height: var(--line-height-default);
  color: var(--black);
  letter-spacing: -0.01em;
}

/* Mobilfreundlicher Innenabstand 
@media (max-width: 767px) {
  body {
    padding-inline: 1rem;
  }
}
*/

h1, h2, h3, h4, h5, h6, p{
    white-space: normal;
    text-wrap: pretty;
    hyphenate-limit-chars: 5;
    hyphens: auto;
    overflow-wrap: break-word;
    word-break: break-word;
}

/* Fließtext */
p, ul{
  margin: 0;
  font-size: var(--p-font-size);
  line-height: 1.75;
  max-width: 75ch;
  font-weight: normal;
}

/* Links */
a {
  color: var(--black-70);
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover,
a:focus {
  color: var(--gold);
}

[data-elementor-type="header"] .e-con-inner{ 
    box-shadow: rgba(255, 255, 255, 100%) 0px 1px 0px 0px;
    backdrop-filter: blur(.5rem);

}

.agency-link a{
    display: flex;
    gap: 0.25em;
}

.agency-link:hover a{ color: #000; }

.agency-link:hover a span{ color: var(--ruby-red); }

.agency-link a span{ 
    width: 0; overflow: hidden; 
    transition: all .5s;
}
.agency-link:hover a span{ width: 1em; }

/* Überschriften */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
  text-wrap: balance;
}

h1 {
  font-size: var(--h1-font-size);
  text-transform: uppercase;
  text-align: left;
}

h2 { font-size: var(--h2-font-size); }
h3 { font-size: var(--h3-font-size); }
h4 { font-size: var(--h4-font-size); }
h5 { font-size: var(--h5-font-size); }
h6 { font-size: var(--h6-font-size); }

.elementor-heading-title {
    line-height: 1.2;
    text-transform: uppercase;
}

.elementor-blockquote__content{
    text-wrap: balance;
    line-height: 1.4;    
}

/* Abstand zwischen Texteinheiten 
:is(h1, h2, h3, h4, h5, h6, p):has(+ h1, + h2, + h3, + h4, + h5, + h6, + div, + p) {
  margin-block: calc((1em * var(--line-height, var(--line-height-default))) / var(--factor, var(--factor-default)));
}*/

/* Headline adjustments */
.post-card .elementor-heading-title,
.jet-smart-tiles__box-title{
    font-family: 'Inter';
    letter-spacing: normal !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

/* Immer: Abschnitt über die volle Breite */
.elementor-section, {
  width: 100%;
  padding-block: 6.4rem;
}

/* Nur bei Boxed: Inhalt auf 120ch begrenzen */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 90ch;
  margin-inline: auto;
  width: 100%;
}

/* Bei voller Breite: Container auch voll breit */
.elementor-section.elementor-section-full_width > .elementor-container {
  max-width: none;
  width: 100%;
  margin: 0;
}

.footermenu {
    font-family: 'Inter';
    font-size: 0.8rem;
    color: white;
}

[data-elementor-type="footer"]{
    max-width: calc(70rem + 2rem);
    padding-inline: 1rem;
    margin-inline: auto;
}

[data-elementor-type="footer"] p{ font-size: 0.75rem; }

[data-elementor-type="footer"] .menu-item a{ font-size: 0.8rem; }

.agency-callout p, .agency-callout p strong{
    font-size: clamp(0.5rem, 2.5cqi, 1.05rem);
    font-weight: 500;
}

.atwe-horizontal-timeline-wrapper .atwe-horizontal-timeline-icon-box{
 margin-bottom: .75rem !important;   
}

.atwe-horizontal-timeline-wrapper .atwe-horizontal-timeline-image{
    margin: 0;
}

.atwe-horizontal-timeline-wrapper .atwe-horizontal-timeline-inner-wrapper{
    background-color: transparent !important;
    outline: 1px solid #fff;
    max-width: 100%;
}

.atwe-horizontal-timeline-wrapper .atwe-horizontal-timeline-title,
.atwe-horizontal-timeline-description p{
    color: #fff !important;
}

.atwe-horizontal-timeline-wrapper .atwe-horizontal-timeline-title{
    font-weight: 900 !important;
    text-transform: uppercase !important;
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
}

.atwe-horizontal-timeline-description p{
    font-size: .95rem;
    line-height: 1.3;
}

@media (max-width: 69rem){

.elementor .elementor-background-video-hosted{ z-index: -1; filter: blur(.25rem); }

}

@media (min-width: 70rem){

.elementor .elementor-background-video-hosted{ z-index: -1; filter: blur(.5rem); }

}

.agency-section{ position: relative; isolation: isolate; }

.agency-section:before,
.agency-section:after{ 
    content: "";
    position: absolute;
    display: block;
    height: 25vh;
    width: 45vw;
    background-image: url(https://agentur.mitte-punkt.de/wp-content/uploads/2025/06/dots_white.png);
    opacity: .05;
    background-size: contain;
    animation-timeline: view(block);
    animation-timing-function: linear;
    animation-name: p-bottom-20;
}

.agency-section:before{
    left: 0; top: 0;
    z-index: 0;
}

.agency-section:after{
    right: 0; bottom: 0;
    z-index: -1;
}

.agency-section:has(.elementor-background-video-hosted) .elementor-element{ z-index: 2;  }

@media (max-width: 69rem){
    .agency-section:before,
    .agency-section:after{ height: 25vh;
        width: 45vw; }
}


@media (min-width: 70rem){
    
.agency-section:before,
.agency-section:after{
        height: 50vh;
        width: 25vw;
}

}


.agency-section:has(.elementor-background-video-hosted):before{
    background-color: transparent !important;
    z-index:1;
    opacity: .15;
}
.agency-section:has(.elementor-background-video-hosted):after{
    z-index: 1;
    opacity: .15;
}

@keyframes p-bottom-20{
    0%{ translateY(20dvh) }
    100%{ translateY(0) }
}
}

.frm_style_formidable-stil.with_frm_style .frm_submit button:hover{ background-color: transparent; }

.frm_forms.with_frm_style .frm_fields_container .frm_checkbox input[type=checkbox]:not([disabled]):checked{ background-color:transparent !important; }

.frm_style_formidable-stil.with_frm_style .form-field input:not([type=file]):not([type=range]):not([readonly]):focus{
    border-bottom-width: 3px;
}

.anchor-links .elementor-element:hover{ background-color: #fff; }
.anchor-links .elementor-element:hover p{ color: var(--signal-red); }


.person p{ font-size: .95rem; }
.person p strong{ display:block; margin-bottom: .95em; text-align:left; }
.x-button .elementor-button-content-wrapper > *{ font-size: 1.3em; }

.ccm-root:has(.ccm-modal.ccm-show){
    position: fixed;
    inset: 0;
    z-index: 999999999;
    width: 100vw;
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255,255,255, .25);
    backdrop-filter: blur(.25rem);
}

.ccm-root:has(.ccm-control-panel.ccm-show) #ccm-widget{
    display: none;
}

.ccm-root:has(#ccm-details.ccm-show) #ccm-control-panel{
    display: none;
}

.ccm-widget, .ccm-modal{background-color: #fff;}

.ccm-modal--header{ margin-top: 1.5rem; }

.ccm-modal--header,
.ccm-widget--language-switch{ 
    display: flex; 
    align-items: center;
    gap: .5rem;
}

.ccm-widget--language-switch{ flex: 1; }

.ccm-dismiss-button{ 
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-color: #000;
}

.ccm-dismiss-button:after{
    width: 40px;
    height: 40px;
    line-height: 40px;
}

.ccm--tree-node-toggle{ display: none; }

.ccm-root button{
    border-color: #000;
    color: #000;
}

.ccm-root button:hover,
.ccm-root button:focus{
    background-color: var(--signal-red);
    border-color: var(--signal-red);
    color: #fff;
}

.ccm-settings-summoner.ccm-show{
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    filter: invert(1);
}

@media (max-width: 767px) {
.ccm-settings-summoner.ccm-show{ bottom: .5rem; left: .5rem; transform: scale(75%); }  
}

.ccm-settings-summoner--link{
    border-color: #000;
    width: 46px;
    height: 46px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ccm-settings-summoner--link:hover{
    background-color: #eee !important;
    border-color: #000 !important;
}

.ccm-settings-summoner--icon{
    display: block;
    width: 24px;
}

.ccm-control-panel{
    padding: 1rem;
    border: 1px solid #000;
    font-size: .85rem;
}

.ccm--action-buttons{
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
}

.ccm-modal-inner,
.ccm-control-panel--purposes{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ccm-control-panel .ccm-modal--footer.ccm-link-container-sub-footer{
    margin-top: .75rem;
    background-color: transparent !important; }
    
.ccm-info-button{
    padding: 0 .5em;
    font-size: .85em;
}

#ccm-details{
    font-size: .75rem;
    padding: 1rem;
    max-height: 80dvh;
    max-width: 50vw;
    outline: 1px solid #000;
    overflow-y: scroll;
}

#ccm-details p{
    font-size: .75rem;
}


.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6{
    font-family: 'Inter';
    margin-block: 0.5em;
}

.page-content ul,
.page-content ol{
    display: flex;
    flex-direction: column;
    margin:0; padding: 0;
    gap: 0.75em;
    margin-inline-start: 2.5ch;
}

.commonninja-ribbon{ display: none !important; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Montserrat';
	font-display: auto;
	src: url('https://agentur.mitte-punkt.de/wp-content/uploads/2025/06/Montserrat-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter';
	font-display: auto;
	src: url('https://agentur.mitte-punkt.de/wp-content/uploads/2025/06/Inter-VariableFont_opszwght.ttf') format('truetype');
}
/* End Custom Fonts CSS */