/*
Theme Name: evo.rep Theme
Template: blockundstift
Version: 1.0.0
Description: Custom WordPress Theme for evo.rep
Author: blockundstift.de
Author URI: https://blockundstift.de
Text Domain: evo
*/

/*
## Variables
## Basic HTML Settings
## Type & Colors
  ### Font Face
  ### Type
  ### Colors
## Header & Navigation
  ### Header
  ### Navigation
  ### Search
  ### Off Canvas Navigation
  ### Hamburger Menu
## Layout
  ### Basic Layout
  ### Flexbox
  ### Cover & Slider
  ### Independent Layout Elements
  ### Layout Elements by Page/ID
## Utility
  ### Margins
  ### Paddings
  ### Font Sizes
  ### Width Height Aspect-Ratio
## Footer
## Input & Buttons
## Cookies
## Galleries & Images
## Gutenberg Blocks
## SnipCart
## Playground & Page Animations
## Layout Grid

----------------------------------------------------------------
## Variables
--------------------------------------------------------------*/


:root {
  --text-color: #140F32;
  --primary-color: #140F32;
  --secondary-color: #FFF48F;
  --tertiary-color: #4632AF;
  --grey: #F5F5F5;
  /* --light-grey: #f8f8f8; */
  --light-grey: #FAFAFA;
}

:root {
  --admin-bar-color: #140F32;
  --admin-bar-active-color: #FFF48F;
}

:root {
  /* --icon-color: var(--primary-color);
  --icon-hover-color: var(--secondary-color); */

  --button-color: var(--secondary-color);
  --button-hover-color: var(--secondary-color);

  /* --button-border-width: 2px;
  --button-border-color: var(--primary-color);
  --button-border-hover-color: var(--tertiary-color);
  --button-border: var(--button-border-width) solid var(--button-border-color);
  --button-hover-border: var(--button-border-width) solid var(--button-border-hover-color); */

  /* --button-border: none;
  --button-hover-border: none; */

  --button-background: var(--tertiary-color);
  --button-hover-background: var(--primary-color);

  --link-color: var(--tertiary-color);
  --link-hover-color: var(--primary-color);

  --navigation-hover-color: var(--primary-color);
  --icon-hover-color: var(--tertiary-color);

  /* --input-border-width: 1px;
  --input-border: var(--input-border-width) solid var(--primary-color);
  --input-hover-border: var(--input-border-width) solid var(--secondary-color);
  --input-background: transparent;
  --input-hover-background: transparent;

  --navigation-color: var(--primary-color);
  --navigation-hover-color: var(--secondary-color);
  --navigation-active-color: var(--tertiary-color);

  --arrow-color: var(--text-color);
  --arrow-hover-color: var(--primary-color);
  --arrow-background: rgb(255 255 255 / 20%);
  --arrow-hover-background: rgb(255 255 255 / 50%); */

}
:root {
  --font-size-big-faktor: 1;
  --font-size-huge-faktor: var(--font-size-big-faktor);
}
@media (min-width: 376px) and (min-height: 376px) {
  :root {
    --font-size-big-faktor: 1;
    --font-size-huge-faktor: var(--font-size-big-faktor);
  }
}
@media (min-width: 576px) and (min-height: 576px) {
  :root {
    --font-size-huge-faktor: 1.75;
  }
}

:root {
  /* --global-padding: clamp(1.25rem, calc(2.5 / 87.5 * 100vw), 2.5rem); */
  --global-padding: clamp(1.5625rem, calc(2.5 / 87.5 * 100vw), 2.5rem);
  /* --global-padding: 30px; */
  --global-margin: clamp(1.875rem, calc(3.125 / 87.5 * 100vw), 3.125rem);
}

:root {
  --border-radius: 4px;
  --border-radius-big: 8px;
}

:root {
  --header-top: 30px;
  --header-max-top: 50px;
  --header-mobile-top: var(--global-padding);
  --header-height-estimated: 105px;
}


/*--------------------------------------------------------------
## Basic HTML Settings
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Type & Colors
--------------------------------------------------------------*/
/*--------------------------
### Type
---------------------------*/

@font-face {
  font-display: swap;
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/dm-sans-v17-latin-regular.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  src: url('./fonts/dm-sans-v17-latin-italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  src: url('./fonts/dm-sans-v17-latin-600.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/dm-sans-v17-latin-700.woff2') format('woff2');
}


@font-face {
  font-display: swap;
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 300;
  src: url('./fonts/dm-mono-v16-latin-300.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/dm-mono-v16-latin-regular.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  src: url('./fonts/dm-mono-v16-latin-500.woff2') format('woff2');
}

body {
  font-family: 'DM Sans', sans-serif;
}
.mono,
.dm-mono {
  font-family: 'DM Mono', monospace;
}
.pre-dot:before {
  content: '';
  display: inline-block;
  width: .75em;
  aspect-ratio: 1;
  border-radius: var(--border-radius);
  background: var(--secondary-color);
  margin-right: .5em;
}
.lowercase,
nav li {
  text-transform: lowercase;
}
.benefit-content h3.p {
  font-size: 3em !important;
  font-family: 'DM Mono', monospace;
  color: var(--tertiary-color);
  font-weight: 300;
}
.scroll p {
  font-size: 3em !important;
  line-height: 50%;
}
@media (max-width: 575.98px) {
  .scroll {
    margin: var(--font-size-p);
  }
  .scroll p {
    font-size: var(--font-size-p) !important;
  }
}
h2,
.h2 {
  font-weight: 400;
}
nav ul li {
  font-weight: 600;
}
nav.navigation-off-canvas ul li {
  font-weight: 400;
}

/*--------------------------
### Colors
---------------------------*/

.word-menu {
  color: var(--tertiary-color);
}
.word-menu:hover {
  color: var(--primary-color);
}

/*--------------------------------------------------------------
## Header & Navigation
--------------------------------------------------------------*/
/*--------------------------
### Header
---------------------------*/

.header-inverted .nav-wrapper {
  background: var(--primary-color);
}
.header-logo,
.header-minified .header-logo {
  padding: var(--global-padding) 0;
}
@media (max-width: 575.98px) {
  .header-logo-svg,
  .footer-logo-svg,
  .logo-image {
    max-width: 100px;
  }
}
@media (max-width: 375.98px) {
  .header-logo-svg,
  .footer-logo-svg,
  .logo-image {
    max-width: 75px;
  }
}
.main-header.header-minified.scroll-down .header-social-media,
.main-header.header-minified.scroll-up .header-social-media,
.main-header.header-minified.scroll-down:hover .header-social-media {
  transition: all .3s ease;
}
@media (max-width: 991.98px) {
  .main-header.header-minified,
    .main-header.header-inverted.header-minified {
    background: transparent;
  }
}


/*--------------------------
### Navigation
---------------------------*/
/*--------------------------
### Search
---------------------------*/
/*--------------------------
### Off Canvas Navigation
---------------------------*/
/*--------------------------
### Hamburger Menu
---------------------------*/

/*--------------------------------------------------------------
## Layout
--------------------------------------------------------------*/
/*--------------------------
### Basic Layout
---------------------------*/
/*--------------------------
### Flexbox
---------------------------*/
/*--------------------------
### Cover & Slider
---------------------------*/

@media (max-width: 991.98px) {
  .cover-intro {
    top: unset !important;
    bottom: 10vw !important;
  }
  .cover-intro-wrapper {
    left: 0 !important;
    width: 100% !important;
  }
}


/*--------------------------
### Independent Layout Elements
---------------------------*/

.mandatory-navigation,
.nav-wrapper {
  padding-left: var(--global-padding);
  padding-right: var(--global-padding);
  border-radius: var(--border-radius);
  background: var(--grey);
}
.mandatory-navigation {
  padding-top: unset;
  padding-bottom: unset;
}
.transparent-border {
  border: 1px solid transparent;
}
.background-padding .light-grey-background,
.background-padding .grey-background,
.background-padding .secondary-background {
  padding: var(--global-padding);
}
.tri-dot-background {
  position: relative;
}
.tri-dot-background:after {
  content: '';
  display: block;
  position: absolute;
  top: -50px;
  right: 0;
  bottom: 0;
  left: 0;
  background: url(img/background-form.svg) no-repeat top center;
  background-size: contain;
  z-index: -1;
  /* border: 1px solid red; */
}
@media (max-width: 767.98px) {
  .tri-dot-background:after {
    content: unset;
  }
  .tri-dot-background + .pb-block-content {
    position: relative;
  }
  .tri-dot-background + .pb-block-content:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url(img/background-form.svg) no-repeat center;
    background-size: contain;
    z-index: -1;
    /* border: 1px solid red; */
  }
}
.self-start:has(.secondary-background) {
  align-self: unset;
}
.self-start .secondary-background {
  height: 100%;
}
.benefit-icon {
  position: absolute;
  width: 45px;
  top: 0;
  right: 0;
}
.sticky {
  top: calc(var(--header-height-estimated) + var(--global-padding));
}
.pb-section-hidden,
.pb-section-hidden:hover {
  transition: all 2s !important;
  transition-delay: unset !important;
}
.child-bordered-blocks > .pb-block-content-inner,
.bordered-blocks > .pb-block-content-inner {
  outline: 1px solid var(--secondary-color);
  background: var(--primary-color);
  padding: var(--global-padding);
}
.child-bordered-blocks .benefit {
  outline: 1px solid var(--secondary-color);
  padding: var(--global-padding);
  background-color: #fff;
}
.child-bordered-blocks .benefit {
  outline: 1px solid var(--tertiary-color);
  /* padding: var(--global-padding); */ 
}
.no-left-border,
.no-left-border .pb-block-content-inner {
  /* border-left: unset; */
  /* outline-width: 1px 1px 1px 0; */
}
.no-right-border,
.no-right-border .pb-block-content-inner {
  /* border-right: unset;
  outline: unset; */
}
figcaption:not(.blocks-gallery-caption):not(.wp-element-caption),
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption,
.wp-block-image figcaption {
  padding: 3px 10px;
}
main img,
.pb-block-contact-alternative > div,
.pop-up-wrapper,
.wp-video {
  border-radius: var(--border-radius-big);
}
.wp-video {
  overflow: hidden;
}
main .benefit-icon img,
.child-fluid.child-no-gutter .image-headline-wrapper img {
  border-radius: unset;
}
.contact-icon-button {
  border-radius: var(--border-radius);
  background: var(--tertiary-color);
}
.contact-icon-button svg {
  fill: var(--secondary-color);
}
.close-off-canvas {
  border-radius: var(--border-radius);
}
main a[target="_blank"]:not(.no-target):after {
  /* content: ' ↗'; */
  content: ' ↑';
  font-size: .7em;
  vertical-align: 0.18em;
}
.szenario-1 .pb-block-content-inner-content,
.szenario-2 .pb-block-content-inner-content {
  /* border: 1px solid red; */
  position: relative;
}
.szenario-1 .pb-block-content-inner-content:after,
.szenario-2 .pb-block-content-inner-content:after {
  content: '';
  display: block;
  width: 75px;
  height: 75px;
  position: absolute;
  bottom: 0;
  right: 0;
  border-radius: var(--border-radius);
}
.szenario-1 .pb-block-content-inner-content:after {
  background: url(img/qr-code-szenario-1.svg) center / contain no-repeat;
}
.szenario-2 .pb-block-content-inner-content:after {
  background: url(img/qr-code-szenario-2.svg) center / contain no-repeat;
}
.pop-up-contact {
  /* background: url('img/evo-rep-hero-dark-10.jpg') no-repeat center;
  background-size: cover;
  background-blend-mode: darken; */
}
.pop-up {
  /* background: rgb(70 50 175 / 85%); */
  /* background: rgb(255 244 143 / 85%); */
  background: rgb(20 15 50 / 90%);
}

/*--------------------------
### Layout Elements by Page/ID
---------------------------*/

.page-id-347 .cover-no-image {
  display: none;
}

/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/

@media (max-width: 767.98px) {
  .mandatory-navigation > div:last-child {
    width: 100%;
    padding: var(--global-padding) 0;
  }
  .footer-nav-item {
    margin: unset;
  }
  nav.inline-navigation ul {
    justify-content: space-between;
  }
}
@media (max-width: 575.98px) {
  .mandatory-navigation > div {
    width: 100%;
  }
}

/*--------------------------------------------------------------
## Input & Buttons
--------------------------------------------------------------*/


input[type="submit"],
form button,
main button,
button.button,
.button,
.child-links-buttoned a,
.wp-block-button .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline,
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-element-button {
  padding: 14.5px 25px 12px;
}
@media (max-width: 575.98px) {
  input[type="submit"],
  form button,
  main button,
  button.button,
  .button,
  .child-links-buttoned a,
  .wp-block-button .wp-block-button__link,
  .wp-block-button .wp-block-button__link.is-style-outline,
  .wp-block-button.is-style-outline > .wp-block-button__link,
  .wp-element-button {
    padding: 10.5px 15px 8px;
  }
}
input[type="submit"],
main button,
button.button,
.button,
.wp-block-button__link,
.wp-element-button,
.child-links-buttoned a {
  border-radius: var(--border-radius);
  text-transform: lowercase;
  font-weight: 600;
}
button.accordion-button,
button.tablinks {
  font-family: 'DM Mono', monospace;
  font-weight: 400;
  text-transform: uppercase;
  border-color: var(--tertiary-color);
  border-radius: unset;
}
button.accordion-button:hover {
  border-color: var(--tertiary-color);
}
button.accordion-button {
  line-height: 1.56;
}
button.accordion-button:hover {
  color: var(--tertiary-color) !important;
}
.accordion-button-switch {
  width: 15px;
}
.grey-background .accordion-button {
  border-color: var(--primary-color);
}
.grey-background .accordion-button:hover {
  border-color: var(--tertiary-color);
}
.accordion-button {
  border-radius: unset;
}
a.button:before,
div.button:before {
  content: url('img/tri-dot-btn-secondary.svg');
  vertical-align: -2px;
  margin-right: 15px;
}
button.tablinks {
  border-radius: 0;
}
a.button.inverted-button:before, 
.inverted-child-button a.button:before,
.button.button-navigation:before {
  content: url('img/tri-dot-btn-primary.svg');
}
.arrows,
.slides-arrows {
  border-radius: var(--border-radius);
}
main a.button[target="_blank"]:after {
  content: unset;
}
/*  */
.child-links-buttoned.inverted-child-button a,
.inverted-child-button a.button,
a.button.inverted-button,
a.button.button-inverted,
button.button.inverted-button,
button.button.button-inverted {
  color: var(--primary-color);
  background: var(--secondary-color);
}
.child-links-buttoned.inverted-child-button a:hover,
.inverted-child-button a.button:hover,
a.button.inverted-button:hover,
a.button.button-inverted:hover,
button.button.inverted-button:hover,
button.button.button-inverted:hover {
  color: var(--primary-color) !important;
  background: var(--grey);
}
.button.button-navigation {
  background: transparent;
  border: 1.5px solid var(--primary-color);
  color: var(--primary-color);
}
.button.button-navigation:hover {
  color: var(--primary-color) !important;
  background: #fff;
}
.header-inverted .button.button-navigation {
  border: 1.5px solid var(--secondary-color);
  color: var(--secondary-color);
}
.header-inverted .button.button-navigation:before {
  content: url('img/tri-dot-btn-secondary.svg');
}
.header-inverted .button.button-navigation:hover {
  background: transparent;
  color: #fff !important;
  border: 1.5px solid #fff;
}
@media screen {
  
}


/*--------------------------------------------------------------
## Cookies
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Galleries & Images
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Gutenberg Blocks
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Playground & Page Animations
--------------------------------------------------------------*/

.on-view-animation .text-underline:before,
.on-view-animation .text-marker:before,
.on-view-animation .text-underline-child .inherit-animation p:before,
.on-view-animation .text-marker-child .inherit-animation p:before,
.on-view-animation .text-underline-headlines:before,
.on-view-animation .text-marker-headlines:before,
.on-view-animation .text-underline-headlines-child .inherit-animation :is(h1, h2, h3, h4, h5, h6):before,
.on-view-animation .text-marker-headlines-child .inherit-animation :is(h1, h2, h3, h4, h5, h6):before {
  /* content: '';
  display: block;
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  inset: 30px 0 0 0; */
  background: var(--secondary-color);
  /* animation: text-underline 1s linear; */
  border-radius: var(--border-radius);
}

/*--------------------------------------------------------------
## Layout Grid
--------------------------------------------------------------*/