/*
Theme Name: Enfold Child
Description: A <a href='http://codex.wordpress.org/Child_Themes'>Child Theme</a> for the Enfold Wordpress Theme. If you plan to do a lot of file modifications we recommend to use this Theme instead of the original Theme. Updating will be much easier then.
Version: 1.0
Author: Kriesi
Author URI: http://www.kriesi.at
Template: enfold
*/

/* titillium-web-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 300;
  src: url('/wp-content/fonts/titillium-web-v17-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* titillium-web-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Titillium Web';
  font-style: italic;
  font-weight: 300;
  src: url('/wp-content/fonts/titillium-web-v17-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* titillium-web-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/fonts/titillium-web-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* titillium-web-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Titillium Web';
  font-style: italic;
  font-weight: 400;
  src: url('/wp-content/fonts/titillium-web-v17-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* titillium-web-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 600;
  src: url('/wp-content/fonts/titillium-web-v17-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* titillium-web-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 700;
  src: url('/wp-content/fonts/titillium-web-v17-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* titillium-web-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 900;
  src: url('/wp-content/fonts/titillium-web-v17-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* =============================================================================
   BASE & TYPOGRAPHY
   ============================================================================= */
html {
    background: #ccc;
}

body,
#wrap_all,
#header {
    max-width: 1920px;
    display: block;
    margin: 0 auto;
}

body,
.avia_textblock {
    font-family: 'Titillium Web', Verdana, Arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
    color: #555 !important;
    line-height: 1.4em;
    font-variant-numeric: lining-nums;
    -moz-font-feature-settings: "lnum" 1;
    -ms-font-feature-settings:  "lnum" 1;
    -o-font-feature-settings:   "lnum" 1;
    -webkit-font-feature-settings: "lnum" 1;
    font-feature-settings: "lnum" 1;
}

body .column-top-margin {
    margin-top: 20px;
}

#header {
	box-shadow: 0 0 50px -20px #0000003d;
}

/* Headings */
h1, h2, h3, h4 {
    text-transform: none !important;
    font-weight: 500;
    letter-spacing: normal !important;
    line-height: 1.2em !important;
}

h1 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1em !important;
}

.custom-header h1 {
	margin-bottom: 0!important;
}

h2 {
    font-size: 34px;
    font-weight: 600;
    line-height: 1.3em !important;
    margin-bottom: 20px;
}

h2 + h3 {
    font-size: 24px;
    font-weight: 500;
    margin-top: -15px !important;
    margin-bottom: 20px;
}

h3 {
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3em;
}

h4 {
    font-size: 22px;
    font-weight: 300;
}

.subtle h1 {
    font-size: 22px;
    font-weight: 300;
    color: #dd0842;
    letter-spacing: .5px !important;
    margin-bottom: 10px;
}

.mb-0 h1,
.mb-0 h2,
.mb-0 h3 {
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    h1 { font-size: 26px; line-height: 1.1em !important; }
    h2 { font-size: 25px; }
    h3 { font-size: 22px; }
	h1 br, h2 br, h3 br, h4 br, h5 br {display: none!important;}
}

/* Links */
a {
    transition: all .3s ease;
    -webkit-transition: all .3s ease;
}

p a,
p a strong,
p strong a,
.avia_textblock li a {
    font-weight: 400;
    color: #d44194 !important;
    text-decoration: underline;
    transition: all .3s ease;
}

p a:hover,
p a:hover strong,
p strong a:hover {
    text-decoration-style: double;
}

/* Misc text */
strong { font-weight: 600; }

p:first-child { margin-top: 0; }
p:last-child  { margin-bottom: 0; }

ol { margin-left: 0; }
li { break-inside: avoid-column; }

img { pointer-events: none; }

.orange h1,
.orange h2 { color: #dd0842 !important; }


/* =============================================================================
   HEADER & NAVIGATION
   ============================================================================= */
#header {
    background: #fff;
    box-shadow: 0 7px 20px rgba(0, 0, 0, .1);
}

#header_main { border: none; }

.av_minimal_header_shadow {
    box-shadow: none;
    border: none;
}

.title_container {
    background: #f4f4f4;
    box-shadow: inset 0 20px 20px -20px rgba(0, 0, 0, .1);
    border-bottom: 2px solid #fff;
}

.breadcrumb-trail               { font-size: 14px; }
.breadcrumb-trail .trail-before { font-weight: bold; }

.logo img { padding: 10px; }

.header-scrolled {
    box-shadow: 0 5px 20px rgba(0, 0, 0, .14);
}
.header-scrolled .logo img { padding: 5px; }

/* Top meta bar (phone / email / appointment) */
.phone-info,
.phone-info a {
    font-size: 18px;
    font-weight: 200;
    color: #fff !important;
    line-height: 34px;
}

.phone-info {
    padding-right: 13px;
    font-weight: 300;
}

.phone-info a {
    font-weight: 300;
    line-height: 30px;
    letter-spacing: .3px;
}

.phone-info strong {
    font-weight: 400;
    color: #fff !important;
    line-height: 30px;
    letter-spacing: .3px;
}

.phone-info a:last-child { margin-right: 0; }

.phone-info .top-divider:before {
    content: "|";
    display: inline-block;
    margin: 0 15px;
    font-weight: 100;
    color: #d6eac7 !important;
}

.phone-info .highlight {
    font-weight: 400;
    letter-spacing: .3px;
}

.phone-info div { display: inline-block; }

/* Main nav */
ul.sub-menu                  { margin-top: -15px; }
.header-scrolled ul.sub-menu { margin-top: -2px; }

.av-main-nav li a {
    max-width: none;
    font-size: 18px !important;
    text-transform: uppercase;
    color: #555555 !important;
    letter-spacing: .2px;
    font-weight: 600;
    font-family: 'Titillium Web', Verdana, Arial, sans-serif;
}

.av-main-nav li.current-menu-item a, .av-main-nav li a:hover {
    color: #d9439a !important;
}

.av-main-nav .sub-menu li a {
    font-size: 18px !important;
    text-transform: none;
    font-weight: 300 !important;
    line-height: normal !important;
    min-height: auto !important;
    height: auto !important;
    max-height: unset !important;
    white-space: nowrap;
    color: #555555 !important;
    border-bottom: 1px solid #ddd;
}

.avia-menu-fx { display: none; }

.sub-menu {
    width: auto !important;
    border-top: 3px solid #d94499 !important;
}

.av-burger-overlay .sub-menu {
    border-top: none !important;
    background: #fff;
}

#av-burger-menu-ul li a {
    background: #f4f4f4;
    font-weight: 600;
    text-transform: uppercase;
}

#av-burger-menu-ul .sub-menu li a {
    background: #fff;
    font-weight: 400 !important;
    text-transform: none;
}

.sub-menu .menu-item a:before {
    content: "\e875";
    font-family: entypo-fontello;
    font-size: 14px;
    font-weight: 100;
    color: #8d8d8d;
    margin-right: 6px;
    text-shadow: 4px 0 transparent;
    transition: all .3s ease;
    position: relative;
    left: 0;
}

#top .av-main-nav ul ul { left: 100%; }

/* Decoration line (under headings) */
.decoration:after {
    content: "";
    display: block;
    width: 100px;
    height: 5px;
    margin: 20px auto 15px auto;
    background: #dd0842;
    border-radius: 5px;
    position: relative;
}
.decoration.left:after  { margin: 20px auto 15px 0; }
.decoration.right:after { margin: 20px 0 15px auto; }


.header-scrolled {
    box-shadow: 0 -3px 50px 14px #0000001f !important;
}

.logo a {
    display: flex;
    align-items: center;
    height: 100%;
}

.logo img {
    padding: 7px 0;
	max-width: 265px;
}

.header-scrolled .logo img {
    padding: 5px 0;
}

span.avia-menu-fx {
    display: none !important;
}

/* Decorative diagonal "shine" overlay */
.fancy-corner {
    position: relative;
    overflow: hidden;
}
.fancy-corner:after {
    content: "";
    position: absolute;
    left: -40%;
    top: -70%;
    width: 100%;
    height: 100%;
    background: linear-gradient(272deg, rgba(255, 255, 255, .46) 0%, rgba(255, 255, 255, 0) 100%);
    transform: rotate(290deg);
    z-index: 0;
}

.avia-section.fancy-corner:after {
    left: -55%;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(171deg, rgb(255 255 255) 0%, rgb(255 255 255) 20%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(340.5deg);
    opacity: .75;
}

/* Header / nav media queries */
@media screen and (min-width: 991px) {
    #header.header-scrolled:before { display: none; }

    .html_header_top.html_header_topbar_active.html_header_sticky #top #main {
        padding-top: 135px;
    }

    .phone-info .top-termine,
    .top-divider.last { display: none !important; }
}

@media screen and (max-width: 990px) {
    .phone-info a { font-size: 0; }
    .phone-info a strong { display: none; }

    .phone-info a:before {
        font-family: entypo-fontello;
        font-size: 24px;
        transition: all .3s ease;
    }
    .phone-info a.top-phone:before   { content: "\e854"; }
    .phone-info a.top-mail:before    { content: "\e805"; }
    .phone-info a.top-termine:before { content: "\e85b"; }
}

@media screen and (max-width: 767px) {
    #header_meta {
        height: auto;
        margin-top: -20px;
    }

    .phone-info .highlight { display: block; }
    .phone-info .top-divider { display: none; }
    .phone-info { padding: 10px 0 !important; }
    .phone-info div { display: block; }

    .phone-info a {
        position: relative;
        display: inline-block;
        width: calc(50% - 5px) !important;
        margin-top: 10px;
        margin-bottom: 10px;
        padding: 0;
        background: #fff;
        border: 2px solid #fff;
        border-radius: 3px;
        box-sizing: border-box;
        font-size: 0;
        line-height: 40px !important;
        color: #98a091 !important;
        text-align: center;
    }
    .phone-info a.top-phone { margin-right: 10px; }
    .phone-info a:before {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        transform: translate(-50%, -50%);
        display: block;
        text-align: center;
    }

    /* Fixed bottom contact bar */
    .top-contact {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 0 !important;
        background: #bcc8b3;
        box-shadow: 0 -8px 20px rgba(0, 0, 0, .17);
        border-top: 2px solid #c7d3c0 !important;
    }
    .top-contact .phone-info a,
    .top-contact + .phone-info a,
    .phone-info a {
        width: calc(33.33% - 1px) !important;
        margin-right: 0 !important;
        background: transparent;
        border: none !important;
        border-right: 1px solid #fff !important;
        border-radius: 0 !important;
        color: #fff !important;
    }
    .phone-info a:last-child {
        border-right: none !important;
    }
}

/* Tablet nav (Enfold-specific) */
@media only screen and (min-width: 768px) and (max-width: 1240px) {
    .responsive #top .av_mobile_menu_tablet .av-main-nav .menu-item {
        display: none !important;
    }
    .responsive #top .av_mobile_menu_tablet .av-main-nav .menu-item-avia-special {
        display: block !important;
    }
}


/* =============================================================================
   CUSTOM HEADER / HERO
   ============================================================================= */
.custom-header .avia-video,
.custom-header .avia-video iframe,
.custom-header .avia-video video {
    background-color: transparent;
}

.header-subpage .flex_cell.header-text {
    position: relative;
}

.header-subpage .flex_cell.header-text:before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: -100px;
    width: 500px;
    height: calc(100% + 2px);
    background: #fff;
    transform: skewX(340.5deg);
}

/* Tinted variants — all currently use the same background;
   probably a leftover from earlier theming. Keep or collapse to a single rule. */
.header-subpage.gray   .flex_cell.header-text:before,
.header-subpage.green  .flex_cell.header-text:before,
.header-subpage.orange .flex_cell.header-text:before,
.header-subpage.blue   .flex_cell.header-text:before {
    background: #f4f4f4;
}

.custom-header p,
.header-subpage p {
    font-weight: 400;
}

/* Pull-quote */
.quote {
    display: block;
    margin-top: 35px;
    padding-left: 10px;
    border-left: 8px solid #dd0842 !important;
}

.quote strong {
    display: block;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.2em;
    color: #9c9c9c !important;
    margin-bottom: 10px;
}

.quote br { display: none; }

/* Subtitle helper */
.subtitle h2,
.subtitle h3 {
    font-size: 24px;
    font-weight: 300;
    color: #989898;
    margin-top: -15px;
    margin-bottom: 20px;
}

.header-subpage .subtitle h2,
.header-subpage .subtitle h3 {
    color: #636363;
    font-weight: 400;
    margin-top: -5px;
}

/* Quote-style section heading */
.quote-section h2,
.quote-section h3 {
    display: block;
    max-width: 1000px;
    margin: 0 auto 20px;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1.2em !important;
}

.quote-section p,
.quote-section .pop p,
.quote-section .pop p strong {
    font-size: 22px !important;
}

/* Notes / callouts */
.note {
    padding: 25px;
    background: rgba(255, 255, 255, .54);
    border: 1px solid #bababa !important;
    border-radius: 3px;
    box-shadow: 0 20px 20px -20px rgba(0, 0, 0, .4);
}

.note h3,
.note h4 {
    font-size: 25px;
    color: #dd0842;
}

.note.klein                { padding: 15px; font-size: 16px; }
.note.klein h3             { font-size: 20px; font-weight: 300; }
.note.klein h3 + p         { margin-top: 5px !important; }

/* Hero / header responsive */
@media screen and (min-width: 1381px) {
    .limited-grid.header-subpage .flex_cell_inner {
        padding: 50px 50px 50px 0 !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1120px) {
    .header-subpage .flex_cell.header-text {
        position: relative;
        overflow: visible !important;
    }
}

@media screen and (max-width: 990px) {
    #top .main-header {
        padding: 0 !important;
        margin: 0 auto !important;
    }
    #top .main-header .content {
        padding-top: 0 !important;
        padding-bottom: 20px !important;
    }
    #top .main-header .container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
    #top .main-header .header-text {
        float: none;
        display: block !important;
        width: 85% !important;
        max-width: 85% !important;
        margin: 0 auto !important;
    }

    .custom-header.main-header {
        background-image: none !important;
        background-color: #f4f4f4;
    }

    .main-header-mobile {
        min-height: 450px !important;
        background-image: url('https://nicole-haas.de/wp-content/uploads/2024/08/nicole-haas-heilpraktikerin-psychotherapie-header-mobile.jpg') !important;
        background-size: cover;
        background-position: center;
    }
}

@media screen and (max-width: 767px) {
    .avia-section.fancy-corner:after { display: none; }
}

@media screen and (max-width: 600px) {
    .subtitle h2,
    .subtitle h3,
    .quote strong          { font-size: 21px !important; }
    .quote-section h2,
    .quote-section h3      { font-size: 22px !important; }
    .quote-section .pop p,
    .quote-section .pop p strong { font-size: 18px !important; }
    .note                  { padding: 15px; }
}


/* =============================================================================
   SECTIONS, COLUMNS & LAYOUT HELPERS
   ============================================================================= */
.container_wrap { border: none !important; }

.avia-section       { background-size: cover; }
.avia-shadow        { box-shadow: none; border: none; }
.no-padding,
.no-padding .container { padding: 0 !important; }

.flex_column,
.flex_cell { background-size: cover !important; }

.flex_cell {
    min-height: 300px;
}

.header-subpage .flex_cell {
    min-height: 250px;
}

.flex_cell_inner { z-index: 99; }

/* Background-size helpers */
.auto,    .auto .flex_cell    { background-size: auto    !important; }
.contain, .contain .flex_cell { background-size: contain !important; }
.cover,   .cover .flex_cell   { background-size: cover   !important; }

/* Shadow strips */
.shadow-top    { box-shadow: inset 0  70px 40px -30px rgba(0, 0, 0, .09); }
.shadow-bottom { box-shadow: inset 0 -70px 40px -30px rgba(0, 0, 0, .09); }

/* Inverted (dark / on-image) text */
.invert h1, .invert h2, .invert h3, .invert h4, .invert h5,
.invert p, .invert strong, .invert a, .invert i, .invert div,
.invert .avia-testimonial-meta,
.invert .avia-testimonial-meta span {
    color: #fff !important;
}

.invert a {
    color: #d8d8d8 !important;
    font-weight: normal !important;
}
.invert a:hover { opacity: .8; }

.invert .iconbox a {
    color: #fff !important;
    font-weight: normal !important;
}

/* Centered width-constrained blocks */
.limited-width-1050,
.limited-width-950,
.limited-width-850,
.limited-width-750,
.limited-width-600 {
    display: block !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.limited-width-1050 { max-width: 1050px; }
.limited-width-950  { max-width: 950px;  }
.limited-width-850  { max-width: 850px;  }
.limited-width-750  { max-width: 750px;  }
.limited-width-600  { max-width: 600px;  }

/* "Pop" / large-text block */
.pop p,
.pop p strong,
.pop li {
    font-size: 23px;
    line-height: 1.4em!important;
    font-weight: 500;
}
.pop h2 { font-size: 40px !important; margin-bottom: 0; }
.pop h3 { font-size: 30px !important; margin-bottom: 0; }

.pop.special p {
    font-size: 30px;
    font-weight: 400;
    color: #dd0842 !important;
    line-height: 1.2em;
    letter-spacing: normal !important;
    margin-bottom: 20px;
}

/* Min-height helpers */
.min-300 { min-height: 300px; }
.min-450 { min-height: 450px; }

#top .flex_column_table.av-equal-height-column-flextable:not(:first-child) {
    margin-top: 20px;
}

/* Section / column layout breakpoints */
@media only screen and (max-width: 1380px) {
    .limited-grid,
    .avia-section.limited-section {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
        float: none;
    }
    .flex_cell { padding: 50px; }
}

@media screen and (min-width: 1381px) {
    .limited-grid .flex_cell        { padding: 0; }
    .limited-grid .flex_cell_inner  {
        max-width: 700px;
        padding: 75px 50px;
    }
    .flex_cell:first-child .flex_cell_inner,
    .limited-grid .flex_cell.avia-builder-el-first .flex_cell_inner {
        margin-right: 0 !important;
        margin-left: auto !important;
    }
    .limited-grid .flex_cell.av_three_fifth .flex_cell_inner { max-width: 860px; }
    .limited-grid .flex_cell.av_two_fifth   .flex_cell_inner { max-width: 480px; }
}

@media screen and (max-width: 990px) {
    .no-background-mobile { background-image: none !important; }
}

@media screen and (max-width: 768px) {
    .flex_cell {
        width: 100% !important;
        display: block;
    }
    .flex_cell:first-child       { padding-left: 50px; }
    .flex_cell:last-child        { padding-right: 50px; }
    .flex_cell.column-img        { padding-bottom: 75px; }
    .flex_column_table           { margin-top: 0 !important; }
    .av_textblock_section + .flex_column_table { margin-top: 30px !important; }
    .flex_column.shadow-box:last-child { margin-bottom: 0 !important; }
}

@media screen and (max-width: 767px) {
    .content { padding-top: 20px; padding-bottom: 20px; }
    .flex_column { transform: none !important; }
    .avia-section {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
        background-size: cover;
    }
    .avia-section-huge .content,  .avia-section-huge .sidebar,
    .avia-section-large .content, .avia-section-large .sidebar {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
    .pop h2 { font-size: 25px !important; letter-spacing: normal !important; }
    .pop.special p { font-size: 22px; }
}

@media screen and (max-width: 550px) {
    .pop p,
    .pop p strong,
    .pop li { font-size: 20px; }
}

@media screen and (max-width: 500px) {
    .header-subpage .flex_cell { min-height: 150px; }
}


/* =============================================================================
   BUTTONS
   ============================================================================= */
.avia-button,
.invert .avia-button,
.nf-form-content button,
.nf-form-content input[type="button"],
.nf-form-content input[type="submit"],
input[type="submit"],
#submit,
.button {
    height: auto !important;
    margin-top: 20px !important;
    padding: 10px 20px !important;
    background: #242a64 !important;
    border: 2px solid #242a64 !important;
    border-radius: 3px !important;
    color: #fff !important;
    font-family: 'Titillium Web', Verdana, Arial, sans-serif;
    font-size: 19px !important;
    font-weight: 300 !important;
    line-height: 1.4em !important;
    letter-spacing: normal;
    text-align: center !important;
    text-transform: none !important;
}

.avia-button:hover,
.invert .avia-button:hover,
.nf-form-content button:hover,
.nf-form-content input[type="button"]:hover,
.nf-form-content input[type="submit"]:hover,
input[type="submit"]:hover,
#submit:hover,
.button:hover {
    opacity: .85;
}

/* Variant: outline */
.outline .avia-button {
    background: transparent !important;
    border: 2px solid #242a64 !important;
    color: #242a64 !important;
}
.outline .avia-button:hover {
    background: #242a64 !important;
    border: 2px solid #242a64 !important;
    color: #fff !important;
    opacity: 1;
}

.outline.grau .avia-button {
    border: 2px solid #555 !important;
    color: #555 !important;
}
.outline.grau .avia-button:hover {
    background: #555 !important;
    border: 2px solid #555 !important;
    color: #fff !important;
    opacity: 1;
}

/* Variant: invert (on dark / image bg) */
.invert .avia-button {
    background: #fff !important;
    border: 2px solid #fff !important;
    color: #d9439a !important;
}
.avia-buttonrow-wrap .avia-button:last-child {
    background: #fff !important;
    border: 2px solid #d9439a !important;
    color: #d9439a !important;
}
.invert .avia-button {
    background: transparent !important;
    border: 2px solid #fff !important;
    color: #fff !important;
}
.invert .avia-button:hover {
    background: #fff !important;
    border: 2px solid #fff !important;
    color: #242a64 !important;
}
.invert .avia-buttonrow-wrap .avia-button:last-child:hover {
    background: #ffffff !important;
    border: 2px solid #ffffff !important;
    color: #242a64 !important;
}

/* Search / ajax button neutral reset */
#searchsubmit,
.ajax_load {
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.mt-0 .avia-button { margin-top: 0 !important; }

/* Line Button */

.line-button .avia-button {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    color: #d1429b !important;
    font-weight: 600 !important;
}

.line-button .avia-button .avia_iconbox_title:before {
    font-family: 'entypo-fontello';
    content: "\e875";
    position: relative;
    margin-right: 5px;
    color: #d1429b;
	-moz-transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
    transition: All 0.3s ease;
}

.line-button .avia-button:hover .avia_iconbox_title:before {
    margin-right: 8px;
}


/* =============================================================================
   LISTS
   ============================================================================= */

.av_textblock_section ul ul, .av_textblock_section ul ol, .av_textblock_section ol ol, .av_textblock_section ol ul {
    margin-left: 0;
	list-style: circle!important;
}

.special-list ul:not(ul ul),
.check-list ul:not(ul ul) {
    list-style: none !important;
    padding: 0 !important;
    margin: 20px 0 0 0;
}

.special-list.centered-list ul,
.check-list ul.centered-list {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
}

.special-list ul li:not(ul ul li),
.check-list ul li:not(ul ul li) {
    position: relative;
    margin-left: 40px;
    margin-bottom: 10px;
    line-height: 1.5em;
}
.special-list ul li:not(ul ul li):last-child,
.check-list ul li:not(ul ul li):last-child { margin-bottom: 0 !important; }

.check-list ul li:not(ul ul li):before {
    content: "";
    position: absolute;
    left: -40px;
    background: url(/wp-content/uploads/2026/05/check-mark-magenta.png);
    width: 30px;
    height: 30px;
    background-size: contain!important;
    background-repeat: no-repeat!important;
}

.pop.check-list ul li:not(ul ul li):before {
    top: 7px;
}

.invert .check-list ul li:not(ul ul li):before, .invert.check-list ul li:not(ul ul li):before {
    background: url(/wp-content/uploads/2026/05/check-mark-white.png);
}

.special-list ul li:not(ul ul li):before {
    content: "";
    position: absolute;
    left: -18px;
    top: 12px;
    width: 8px;
    height: 8px;
    background: #dd0842;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 50px;
}

.check-list.simple ul li:not(ul ul li):before {
    left: 0;
    display: inline-block;
    margin-right: 8px;
	position: relative;
}

.special-list.mt-0 ul:not(ul ul) { margin-top: 0 !important; }

@media screen and (min-width: 991px) {
    .special-list.double ul { column-count: 2; }
}

@media screen and (min-width: 769px) {
    .right .special-list ul li:not(ul ul li), .right .check-list ul li:not(ul ul li) {
    margin-left: unset;
	margin-right: 40px;
	}
	.right .check-list ul li:not(ul ul li):before {
    left: unset;
    right: -40px;
	}
}


@media screen and (max-width: 768px) {
    .special-list ul li:not(ul ul li), .check-list ul li:not(ul ul li) {
    margin-left: 25px;
	}
	.special-list.simple ul li:not(ul ul li), .check-list.simple ul li:not(ul ul li) {
    margin-left: 0;
    text-align: left !important;
    }
	.right .check-list ul li:not(ul ul li):before {
    text-align: left!important;
	}
	.check-list ul li:not(ul ul li):before {
    left: -25px;
    width: 20px;
    height: 20px;
    top: 6px;
	}
	.pop.check-list ul li:not(ul ul li):before {
    top: 4px;
	}
}

/* Big numbered list */
.big-list-numbers ol {
    list-style: none;
    counter-reset: css-counter 0;
}

.big-list-numbers ol li {
    counter-increment: css-counter 1;
    position: relative;
    padding-left: 75px;
    margin-bottom: 20px;
    line-height: 1.3em;
}

.big-list-numbers ol li:before {
    content: counter(css-counter) ". ";
    position: absolute;
    left: -10px;
    top: 15px;
    width: 70px;
    font-size: 55px;
    font-weight: 700;
    color: #8c9ba8;
    text-align: right;
}

.big-list-numbers.two-columns {
    column-count: 2;
    column-gap: 30px;
    column-fill: balance;
    -webkit-column-break-inside: avoid;
}
.big-list-numbers.two-columns li::marker {
    color: #b5132c !important;
    font-size: 45px;
    font-weight: 700;
}

/* Background gradient helpers */
.gradient-gray {
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(232, 232, 232) 100%) !important;
}
.gradient-gray-invert {
    background: rgb(255, 255, 255);
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(232, 232, 232) 100%) !important;
}


/* =============================================================================
   FORMS (Ninja Forms)
   ============================================================================= */
.nf-form-content {
    max-width: 100% !important;
    padding: 0 !important;
}

.nf-form-fields-required {
    font-size: 18px !important;
    padding-left: 0 !important;
}

.nf-field-description,
.nf-field-description p,
.nf-field-description a {
    width: 100%;
    margin: 10px 0 0 0 !important;
    padding-top: 10px;
    float: none;
    font-size: 16px !important;
    line-height: 1.5em !important;
}

.nf-field-description a {
    font-weight: 500;
    color: #dd0842 !important;
}

.nf-field-element p,
.nf-field-element a,
.nf-field-element strong,
.nf-field-element li,
.nf-form-content label,
.nf-form-content label strong,
.nf-error-msg,
.ninja-forms-req-symbol {
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
}

.nf-error-msg,
.nf-error .nf-error-msg {
    margin-bottom: 0 !important;
    font-family: 'Titillium Web', Verdana, Arial, sans-serif;
    font-size: 16px !important;
    font-weight: 400 !important;
}

.nf-error.field-wrap .nf-field-element:after {
    top: 9px !important;
    right: 10px !important;
    width: 40px !important;
    height: 38px !important;
    line-height: 40px !important;
    border-radius: 100px !important;
}

.nf-field .html-wrap p,
.nf-field .html-wrap a {
    margin-top: 0;
    font-size: 15px;
}

.nf-form-content input[type="submit"] { margin-top: 0 !important; }

.nf-form-hp label {
    font-size: 18px !important;
    font-weight: 400 !important;
}
.nf-form-hp input { margin-top: 10px !important; }

.nf-field-container.label-hidden .nf-field-label { display: none; }
.nf-field-container { margin-bottom: 20px !important; }

#top .input-text,
#top input[type="text"],
#top input[type="input"],
#top input[type="password"],
#top input[type="email"],
#top input[type="number"],
#top input[type="url"],
#top input[type="tel"],
#top input[type="search"],
#top textarea,
#top select {
    margin-bottom: 0;
}

#top .main_color .input-text,
#top .main_color input[type="text"],
#top .main_color input[type="input"],
#top .main_color input[type="password"],
#top .main_color input[type="email"],
#top .main_color input[type="number"],
#top .main_color input[type="url"],
#top .main_color input[type="tel"],
#top .main_color input[type="search"],
#top .main_color textarea,
#top .main_color select,
#top #s {
    height: auto;
    padding: 13px 15px;
    font-family: 'Titillium Web', Verdana, Arial, sans-serif;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.5em;
    color: #6d6d6d;
}

#top .main_color input[type="text"].captcha {
    padding-left: 90px;
}

#top .value_verifier_label {
    bottom: 13px;
    font-size: 18px;
    line-height: normal;
    font-weight: 600;
    color: #d655a5;
}

#top textarea { min-height: 160px !important; }

::placeholder,
::-webkit-input-placeholder,
::-ms-input-placeholder,
::-moz-placeholder {
    color: #000 !important;
    font-weight: 400;
}

/* Checkbox with right-side label */
.checkbox-container.label-right .field-wrap { display: block !important; }
.checkbox-container.label-right .field-wrap .nf-field-label,
.checkbox-container.label-right .field-wrap .nf-field-element { display: inline-block; }

/* Form-response message (after submit) */
.nf-response-msg {
    max-width: 600px;
    margin: 25px auto 50px !important;
    padding: 30px;
    background: rgb(242, 242, 242) !important;
    border: 1px solid #f4f4f4 !important;
    border-bottom: 5px solid #dd0842 !important;
    box-shadow: 0 30px 50px -30px rgba(0, 0, 0, .59);
    font-size: 18px;
    font-weight: 600 !important;
    line-height: 1.4;
    color: #3366b2;
}
.nf-response-msg:empty { display: none; }

.nf-response-msg h3 {
    font-size: 24px;
    font-weight: 400;
    color: #dd0842;
}

.nf-response-msg p,
.invert .nf-response-msg p {
    color: #808080 !important;
    font-weight: 400 !important;
}

.nf-before-form-content {
    display: block;
    margin-bottom: 15px;
}

/* Custom form fields wrapper (.formfield) */
.formfield { margin-bottom: 20px; }
.formfield label { font-weight: 500 !important; }
.formfield .erklaerung,
.formfield .erklaerung a {
    font-size: 15px;
    line-height: 1.3em;
}

.av-fields-with-error {
    font-size: 18px;
    border-radius: 3px;
    font-weight: 400;
}

.avia_ajax_form .form_element_half {
    margin-top: 0;
}

.value_verifier_label {
    font-size: 18px;
}

@media screen and (min-width: 768px) {
    .formfield.one-third {
        display: inline-block;
        width: calc(33% - 20px);
        margin-right: 30px;
    }
    .formfield.one-third.last { margin-right: 0; }

    .formfield.one-half {
        display: inline-block;
        width: calc(50% - 30px);
        margin-right: 30px;
    }
    .formfield.one-half.last { margin-right: 0; }
}


/* =============================================================================
   SHADOW BOXES & LINK BOXES
   ============================================================================= */
.flex_column.shadow-box {
    padding: 30px;
    background: linear-gradient(133deg, rgb(234, 234, 234) 0%, rgba(255, 255, 255, 1) 100%);
    border: 3px solid #fff;
    border-radius: 8px;
    box-shadow: 0 8px 30px -15px rgba(0, 0, 0, .41);
    transition: all .3s ease;
}

.av-layout-tab .flex_column.shadow-box {
    background: linear-gradient(180deg, rgb(250, 250, 250) 0%, rgba(255, 255, 255, 1) 100%);
    border: 2px solid #dd0842;
    box-shadow: 0 8px 30px -15px rgba(0, 0, 0, .41);
}

.flex_column.shadow-box.av-column-link:hover {
    box-shadow: 0 25px 60px -25px rgba(0, 0, 0, .52);
}

.flex_column.shadow-box img { width: auto; }

.flex_column.shadow-box h3 {
    color: #d9439a !important;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 15px;
}

/* Link boxes (with CTA pinned to the bottom) */
.flex_column.link-box {
    margin-bottom: 50px !important;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
}

.flex_column.link-box .avia_textblock { padding: 15px 30px 50px 30px; }

.flex_column.link-box h3 { color: #4568b6; }

.flex_column.link-box ul,
.flex_column.link-box li {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 2em;
}

.flex_column.link-box li:before {
    content: "\e875" !important;
    font-family: entypo-fontello;
    font-size: 16px;
    font-weight: bold !important;
    color: #3d67b4;
    margin-right: 7px;
    text-shadow: 6px 0 transparent;
    transition: all .3s ease;
}

.flex_column.link-box .avia-button {
    position: absolute;
    bottom: -25px;
    left: 50%;
    display: inline-block;
    white-space: nowrap;
    transform: translateX(-50%);
}

@media screen and (max-width: 550px) {
    .flex_column.shadow-box {
        padding: 15px 0;
        border-width: 1px !important;
        box-shadow: none;
        background: none;
        border-top: 3px solid #262b66 !important;
        border-radius: 0;
        box-shadow: none;
    }
    .flex_column.shadow-box h3 {
        font-size: 24px;
        letter-spacing: normal !important;
    }
}


/* =============================================================================
   ICON BOXES
   ============================================================================= */
.iconbox {
    display: block;
    margin-bottom: 15px;
    transition: all .3s ease;
}

.iconbox_icon {
    top: -8px !important;
    width: 42px !important;
    height: 42px !important;
    background: #dd0842;
    border: 2px solid #dd0842 !important;
    color: #fff !important;
    font-size: 20px;
    line-height: 38px !important;
}

.iconbox_content_title {
    margin-left: 45px !important;
    margin-bottom: 6px !important;
    font-size: 20px !important;
    font-weight: 300;
    color: #555 !important;
    text-transform: none !important;
    transition: all .3s ease;
}

.iconbox .iconbox_content .iconbox_content_title:hover {
    color: #dd0842 !important;
}

.framed-img .avia-image-container {
    width: fit-content;
    transform: scale(.9);
    background: #fff;
    border: 4px solid #fff;
    border-radius: 100%;
    box-shadow: 0 3px 30px rgba(0, 0, 0, .23);
}

.avia-timeline-container .av-milestone-icon-inner {
    color: #fff !important;
}

@media screen and (max-width: 767px) {
    .iconbox { margin-bottom: 25px; }
    .iconbox .iconbox_content_title {
        margin-left: 45px !important;
        margin-bottom: 0 !important;
        font-size: 1em;
        font-weight: 500;
        text-align: left;
    }
    .iconbox_icon {
        position: absolute !important;
        top: -7px !important;
        left: -5px !important;
        float: none !important;
        margin: 2px auto !important;
        margin-bottom: 20px;
        z-index: 9;
    }
}


/* =============================================================================
   TABS (shadow-styled, Avia layout-tab)
   ============================================================================= */
.shadow-tabs {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 50px;
    display: block;
    overflow: visible !important;
}

.shadow-tabs .av-tab-section-tab-title-container {
    position: relative;
    left: -5px !important;
    width: calc(100% + 16px) !important;
    min-width: unset !important;
    padding: 0 50px;
    display: flex;
    flex-wrap: nowrap;
    overflow: visible !important;
    background: #fff;
}

.shadow-tabs .av-tab-section-outer-container {
    overflow: visible !important;
    max-height: unset !important;
}

.shadow-tabs a.av-section-tab-title {
    flex-grow: 1;
    margin: 0 5px;
    padding: 30px !important;
    background: linear-gradient(180deg, rgb(234, 234, 234) 0%, rgba(255, 255, 255, 1) 100%);
    border: 3px solid #fff;
    border-radius: 8px;
    box-shadow: 0 -20px 30px -30px rgba(0, 0, 0, .24);
    text-align: center;
    opacity: .7;
    transition: all .3s ease;
}

.shadow-tabs a.av-section-tab-title:hover,
.shadow-tabs a.av-section-tab-title.av-active-tab-title {
    background: linear-gradient(180deg, rgb(234, 234, 234) 0%, rgba(255, 255, 255, 1) 100%);
    border-radius: 8px 8px 0 0;
    box-shadow: 0 -20px 40px -25px rgba(0, 0, 0, .42);
    opacity: 1;
}

.shadow-tabs a.av-section-tab-title.av-active-tab-title { z-index: 9; }

.shadow-tabs a.av-section-tab-title .av-tab-section-image {
    display: block;
    margin: 0 auto;
    text-align: center;
}

.shadow-tabs a.av-section-tab-title .av-outer-tab-title {
    display: block;
    width: 100%;
}

.shadow-tabs a.av-section-tab-title .av-outer-tab-title .av-inner-tab-title {
    display: inline-block;
    width: 100%;
    height: unset;
    color: #555;
    font-size: 22px;
    font-weight: 400;
    text-align: center;
    text-transform: none;
}

.shadow-tabs a.av-section-tab-title.av-active-tab-title .av-outer-tab-title .av-inner-tab-title {
    color: #dd0842;
}

.shadow-tabs .av-layout-tab-inner {
    width: 100% !important;
    max-width: 1400px;
}

.shadow-tabs .av-tab-section-inner-container {
    position: relative;
    top: -5px;
    display: block;
    width: 100% !important;
    margin: 0 auto;
    padding: 0 50px;
    transform: none !important;
}

.shadow-tabs .av-layout-tab {
    display: none;
    width: calc(100% + 6px);
    padding: 40px 30px !important;
    background: linear-gradient(360deg, rgb(234, 234, 234) 0%, rgba(255, 255, 255, 1) 100%);
    border: 3px solid #fff;
    border-top: 4px solid #dd0842;
    border-radius: 8px;
    box-shadow: 0 -8px 30px -15px rgba(0, 0, 0, .41);
}

.shadow-tabs .av-layout-tab.av-active-tab-content { display: block !important; }

.shadow-tabs .av-layout-tab .container { padding: 0 !important; }

.shadow-tabs .av-layout-tab h2 {
    margin-bottom: 30px;
    color: #dd0842;
}

.shadow-tabs .av-layout-tab h3 { font-weight: 300; }

.shadow-tabs .av-tab-arrow-container { display: none; }

.shadow-tabs h2 { font-size: 30px; }

@media screen and (max-width: 1300px) {
    .shadow-tabs .av-tab-section-tab-title-container,
    .shadow-tabs .av-tab-section-inner-container { padding: 0; }
}

@media screen and (max-width: 990px) {
    .shadow-tabs a.av-section-tab-title { padding: 20px !important; }
    .shadow-tabs a.av-section-tab-title .av-outer-tab-title .av-inner-tab-title {
        font-size: 18px;
        hyphens: auto;
    }
    .shadow-tabs a.av-section-tab-title .av-outer-tab-title .av-inner-tab-title br {
        display: none !important;
    }
    .shadow-tabs .av-tab-section-inner-container {
        width: calc(100% - 10px) !important;
        margin: 0 5px;
    }
    .shadow-tabs .av-layout-tab .container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
}

@media screen and (max-width: 600px) {
    .shadow-tabs {
        width: 85%;
        max-width: 85%;
        padding: 0;
    }
    .shadow-tabs .av-tab-section-tab-title-container {
        display: block;
        padding: 0;
    }
    .shadow-tabs .av-layout-tab {
        padding: 20px !important;
        border: none;
        border-bottom: 2px solid #fff;
        border-radius: 0 0 8px 8px;
        box-shadow: 0 20px 30px -25px rgba(0, 0, 0, .41);
    }
    .shadow-tabs a.av-section-tab-title {
        position: relative;
        display: flex !important;
        flex-wrap: nowrap;
        align-items: center;
        padding: 10px 20px !important;
        text-align: left !important;
    }
    .shadow-tabs a.av-section-tab-title.av-active-tab-title:before {
        content: "";
        position: absolute;
        left: 0;
        width: 0;
        height: 0;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
        border-left: 15px solid #dd0842;
    }
    .shadow-tabs a.av-section-tab-title .av-inner-tab-title {
        margin: 0 0 0 20px !important;
        padding-right: 20px;
        text-align: left !important;
    }
    .shadow-tabs a.av-section-tab-title .av-tab-section-image { max-height: 50px; }

    .shadow-tabs h2 { font-size: 24px; font-weight: 500; }

    .shadow-tabs a.av-section-tab-title.av-active-tab-title .av-outer-tab-title .av-inner-tab-title {
        color: #000;
    }
}


/* =============================================================================
   ACCORDIONS / TOGGLERS
   ============================================================================= */
.toggler {
    margin-bottom: 5px !important;
    padding: 20px 60px 20px 20px !important;
    background: rgba(239, 239, 239, .71) !important;
    border-top: none !important;
    border-bottom: 2px solid #ccc !important;
    color: #000 !important;
    font-size: 20px !important;
    font-weight: 500;
    line-height: 1.4em !important;
}

.toggle_icon {
    width: 25px !important;
    height: 25px !important;
    right: 20px;
    margin-top: -12px !important;
    border-width: 2px;
}

.toggle_icon,
.vert_icon,
.hor_icon {
    border-color: #000 !important;
}

.toggler.activeTitle {
    margin-bottom: 0 !important;
    background: #d9439a !important;
    border-bottom-color: #fff !important;
    color: #fff !important;
}

.toggler.activeTitle .toggle_icon,
.toggler.activeTitle .vert_icon,
.toggler.activeTitle .hor_icon {
    border-color: #fff !important;
}

.toggle_content {
    margin-bottom: 5px !important;
    padding: 25px !important;
    box-shadow: inset 0 16px 20px -20px rgba(0, 0, 0, .35);
    font-size: 18px !important;
    line-height: 1.4;
}

.toggle_content h4 {
    font-size: 20px;
    font-weight: 400;
}

/* Variant: tab styled as a button */
.accordion-button .toggler {
    width: 100%;
    padding: 10px 60px 10px 20px !important;
    background: transparent !important;
    border: 2px solid #262b66 !important;
    border-radius: 3px !important;
    color: #262b66 !important;
    font-size: 20px !important;
    font-weight: 500 !important;
}

.accordion-button .toggler.activeTitle {
    width: 100%;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
    background: transparent !important;
    border: none !important;
    border-top: 2px solid #d9439a !important;
    border-bottom: 2px solid #d9439a !important;
    border-radius: 3px 3px 0 0 !important;
    color: #d9439a !important;
}

.accordion-button .toggler.activeTitle .toggle_icon,
.accordion-button .toggler.activeTitle .vert_icon,
.accordion-button .toggler.activeTitle .hor_icon {
    border-color: #d9439a !important;
    transition: none !important;
}

.accordion-button .toggle_content {
    padding: 20px 0 0 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none;
}

/* Bullet-Accordions */

.bullet-accordions .toggler {
    padding: 15px 50px 15px 40px !important;
    background: transparent !important;
    border-top: 1px solid #d9439a !important;
    border-bottom: none !important;
    font-weight: 600;
	-moz-transition: All 0.3s ease;
	-webkit-transition: All 0.3s ease;
	transition: All 0.3s ease;
}

.bullet-accordions .toggler:hover, .bullet-accordions .toggler.activeTitle {
    color: #d9439a !important;
}

.bullet-accordions .toggler:before {
    content: "";
    position: absolute;
    left: 0;
    background: url(/wp-content/uploads/2026/05/check-mark-blue.png);
    width: 30px;
    height: 30px;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

.bullet-accordions .toggle_content {
    padding: 25px 0 !important;
    box-shadow: inset 0 20px 20px -30px rgba(0, 0, 0, .35);
    background: transparent !important;
}

.bullet-accordions .toggle_icon, .bullet-accordions .toggle_icon span {
    border: none !important;
}

.bullet-accordions .toggle_icon:before {
    font-family: 'entypo-fontello';
    content: "\e873";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #d1429b;
}

.bullet-accordions .toggler.activeTitle .toggle_icon {
	transform: rotate(180deg);
}

.bullet-accordions .toggle_content, .bullet-accordions .toggle_content p {
    font-weight: 500;
}


/* =============================================================================
   TESTIMONIALS
   ============================================================================= */
.avia-testimonial-meta .avia-testimonial-meta-mini,
.avia-testimonial-meta .avia-testimonial-image {
    display: block !important;
    float: none;
    width: 100% !important;
    height: 100% !important;
    margin: 10px auto !important;
    text-align: center;
}

.avia-testimonial-content {
    display: block;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
}

.avia-slider-testimonials .avia-testimonial-content p {
    font-size: 20px;
    line-height: 1.5em;
}

#top .avia-testimonial-meta-mini {
    float: none !important;
    max-width: 500px;
    text-align: center !important;
}

.avia-testimonial-name {
    font-size: 24px !important;
    font-weight: 400 !important;
    font-style: normal;
    letter-spacing: .5px !important;
    text-transform: none !important;
}

.avia-testimonial-subtitle {
    font-size: 16px;
    line-height: 1.5em;
}

#top .kunden-referenzen .avia-slideshow-arrows a {
    top: 30% !important;
    width: 30px !important;
    height: 55px;
    line-height: 55px;
    font-size: 35px !important;
    opacity: 1 !important;
}

@media screen and (max-width: 767px) {
    .avia-testimonial { padding: 0 10px !important; }
}


/* =============================================================================
   QUICK MENU (fixed side rail / mobile bottom bar)
   ============================================================================= */
.side-links {
    height: 0 !important;
    min-height: 0;
}

.mod_quickmenu {
    position: fixed;
    top: 200px;
    right: 5px;
    z-index: 100;
}

.mod_quickmenu li {
    display: block;
    float: right;
    clear: right;
    transition-property: margin-top;
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(0, 1, .5, 1);
}

.mod_quickmenu li a {
    display: block;
    width: 55px;
    height: 55px;
    margin-bottom: 2px;
    overflow: hidden;
    background: #000;
    border-radius: 8px 0 0 8px;
    vertical-align: middle;
    line-height: 52px;
    color: #fff !important;
    font-size: 18px;
    font-weight: 600;
    box-shadow: none;
    white-space: nowrap;
    transition: all .3s ease;
}

.mod_quickmenu li a:hover {
    width: fit-content;
    padding-right: 20px;
}

.mod_quickmenu li a:before {
    position: relative;
    top: 4px;
    display: inline-block;
    width: 50px;
    padding-left: 3px;
    text-align: center;
    color: #fff;
    font-family: 'entypo-fontello';
    font-size: 30px;
    font-weight: normal;
    line-height: 20px;
}

.mod_quickmenu .icon:before          { font-family: entypo-fontello; }
.mod_quickmenu .icon.location:before { content: "\e842"; }
.mod_quickmenu .icon.email:before    { content: "\e805"; }
.mod_quickmenu .icon.telefon:before  { content: "\e854"; }
.mod_quickmenu .icon.calendar:before { content: "\e85b"; }

@media screen and (max-width: 768px) {
    .mod_quickmenu {
        position: fixed;
        top: unset;
        right: unset;
        bottom: 0;
        left: 0;
        width: 100%;
        background: #254ea2;
        border-top: 2px solid #254ea2 !important;
        box-shadow: 0 -5px 20px rgba(0, 0, 0, .26);
    }
    .mod_quickmenu ul {
        height: 55px;
        margin: 0 !important;
    }
    .mod_quickmenu li {
        display: inline-block;
        float: none;
        width: calc(50% - 4px) !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent;
        border-right: 1px solid #fff !important;
        vertical-align: middle;
    }
    .mod_quickmenu li:last-child       { border-right: none !important; }
    .mod_quickmenu li a {
        position: relative;
        width: 100%;
        margin-bottom: 0;
        background: transparent;
        border: none !important;
        border-radius: 0;
        box-shadow: none;
        font-size: 0;
    }
    .mod_quickmenu li a:hover {
        width: 100%;
        padding-right: 0;
    }
    .mod_quickmenu li a:last-child { border-right: none; }
    .mod_quickmenu .icon:before {
        position: absolute;
        top: 50%;
        left: 50%;
        padding-left: unset !important;
        line-height: 45px;
        font-size: 30px;
        color: #fff;
        transform: translateX(-50%) !important;
    }
}


/* =============================================================================
   BLOG / MASONRY
   ============================================================================= */
.av-masonry-entry.category-video .av-inner-masonry {
    position: relative;
}

.av-masonry-entry.category-video .av-inner-masonry-content:after {
    content: "\f16a";
    position: absolute;
    right: 20px;
    top: -45px;
    z-index: 99;
    font-family: entypo-fontello;
    font-size: 45px;
    color: #f60002;
    transition: all .3s ease;
}
.av-masonry-entry.category-video .av-inner-masonry-content:before {
    content: "";
    position: absolute;
    right: 31px;
    top: -45px;
    width: 20px;
    height: 20px;
    background: #fff;
    z-index: 98;
}

.av-masonry-entry .av-masonry-entry-title {
    margin: 0 0 5px 0;
    min-height: 55px;
    color: #000;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2em !important;
    transition: all .3s ease;
}
.av-masonry-entry:hover .av-masonry-entry-title {
    color: #dd0842;
}

.av-masonry-entry-content { font-weight: 100; }

.av-masonry-entry .av-inner-masonry-content {
    padding: 65px 20px 20px 20px;
}

.av-masonry-date {
    position: absolute;
    left: 0;
    top: -20px;
    width: 100%;
    margin: 20px 0 0;
    padding: 12px 20px;
    background: #f7f7f7;
    box-shadow: inset 0 -9px 20px -20px #000;
    color: #dd0842 !important;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.15em;
    text-align: left;
}

.av-masonry-entry .av-inner-masonry {
    border: 1px solid #dfdfdf !important;
    border-radius: 5px;
}

.blog-teaser .av-masonry-entry.isotope-item.av-masonry-item-no-image {
    display: none;
}

@media screen and (max-width: 1200px) {
    .av-masonry-entry .av-masonry-entry-title {
        font-size: 20px;
        line-height: 1.2em;
    }
}

@media screen and (max-width: 767px) {
    .blog-teaser,
    .blog-teaser .av-masonry-container { width: 100% !important; }

    .blog-teaser .av-masonry-entry {
        width: 100% !important;
        margin-bottom: 20px !important;
    }
    .av-masonry-entry .av-inner-masonry-content {
        padding: 60px 15px 15px 15px;
    }
    .av-masonry-image-container img { width: 100% !important; }
    #top .av-large-gap.av-flex-size .av-masonry-entry .av-inner-masonry {
        margin-right: 0 !important;
        margin-bottom: 0 !important;
    }
}


/* =============================================================================
   VIDEO
   ============================================================================= */
.avia-video,
.avia-video iframe,
.avia-video video {
    background-color: #d6d6d6;
}

.avia_playpause_icon {
    background: rgba(255, 255, 255, .91);
    border: 4px solid #dd0842 !important;
    border-radius: 100px;
    transform: scale(1);
}

#top .avia_playpause_icon:before {
    left: 8px;
    line-height: 100px;
    font-size: 65px;
    color: #dd0842;
}

.avia_video .mejs-overlay-button {
    transform: scale(1.2);
    opacity: 0;
    transition: opacity .3s ease;
}
.avia_video:hover .mejs-overlay-button { opacity: 1; }

.no-icon .avia_video .mejs-overlay-button { display: none; }

@media screen and (max-width: 767px) {
    .avia_playpause_icon { transform: scale(.7); }
}


/* =============================================================================
   FOOTER
   ============================================================================= */
.custom-footer { background: #f4f4f4; }

.custom-footer .av_font_icon {
    display: inline-block;
    width: calc(32% - 15px);
    max-width: 50px;
    margin-right: 15px;
    margin-bottom: 15px;
    border-radius: 8px;
    transform: none !important;
    animation: none !important;
}

.custom-footer .av_font_icon a {
    display: inline-block;
    padding: 5px;
    background: #fff;
    border-radius: 3px;
    color: #d0419a !important;
    font-size: 30px !important;
}

.footer-contact-boxes {
    position: relative;
    margin-top: -75px;
    margin-bottom: 50px;
    background: transparent;
}

.footer-contact-boxes .flex_column {
    border-radius: 10px;
}

.footer-contact-boxes .iconbox {
    margin-bottom: 10px !important;
}

.footer-contact-boxes .iconbox_content_title {
    margin: 0 0 5px 0 !important;
    font-size: 24px !important;
}

#scroll-top-link,
#av-cookie-consent-badge {
    color: #555;
}

#scroll-top-link {
    bottom: 115px;
}

@media screen and (max-width: 767px) {
    .custom-bottom .av_textblock_section,
    .custom-bottom .av_textblock_section p {
        text-align: left !important;
    }
    .responsive #scroll-top-link {
        display: block;
        right: 10px !important;
        bottom: 72px !important;
        opacity: .85;
    }
}


/* =============================================================================
   MISC COMPONENTS
   ============================================================================= */
/* Image hover */
.avia-image-container.av-img-linked {
    opacity: 1;
    transition: all .3s ease;
}
.avia-image-container.av-img-linked:hover { opacity: .85; }

a.cmplz-show-banner { cursor: pointer; }

.highlighted-text em, .highlighted-text i {
    font-style: normal;
    color: #c8409b;
    font-weight: 600;
}

/* Generic hide */
div.hide { display: none !important; }

/* Google Reviews (Widget for Google Reviews plugin) */
#top .wp-gr[data-layout="grid"] .grw-header-inner {
    margin: 0 !important;
}

/* Slideshow arrows on small screens */
@media screen and (max-width: 767px) {
    .avia-slideshow-arrows { display: block; }
}

/* Before / after columns (split-screen layout) */
.before-after,
.before-after .container { position: relative; }

@media screen and (min-width: 990px) {
    .before-after .flex_cell:first-child {
        border-right: 3px solid #fff;
    }
}

@media screen and (max-width: 767px) {
    .padding-mobile-20 { padding: 20px !important; }
}


/* =============================================================================
   UTILITY CLASSES
   Spacing scale: 0 / 10 / 20 / 30 / 40 / 50 / 75 / 100 / 125 / 150 (px)
   ----
   NOTE: in the original file, the .mr-* and .pr-* classes were defined with
   margin-bottom / padding-bottom (a typo). They are corrected below. The
   -s suffix variants apply only at mobile (max-width: 768px).

   IMPROVEMENT: this is ~340 single-purpose rules. Consider:
     - generating them via Sass/PostCSS @each loop, or
     - adopting Tailwind utilities (m-0, mt-2, …) and dropping these entirely.
   ============================================================================= */

/* --- margin-top --- */
.mt-0   { margin-top: 0     !important; }
.mt-10  { margin-top: 10px  !important; }
.mt-20  { margin-top: 20px  !important; }
.mt-30  { margin-top: 30px  !important; }
.mt-40  { margin-top: 40px  !important; }
.mt-50  { margin-top: 50px  !important; }
.mt-75  { margin-top: 75px  !important; }
.mt-100 { margin-top: 100px !important; }
.mt-125 { margin-top: 125px !important; }
.mt-150 { margin-top: 150px !important; }

/* --- margin-bottom --- */
.mb-0   { margin-bottom: 0     !important; }
.mb-10  { margin-bottom: 10px  !important; }
.mb-20  { margin-bottom: 20px  !important; }
.mb-30  { margin-bottom: 30px  !important; }
.mb-40  { margin-bottom: 40px  !important; }
.mb-50  { margin-bottom: 50px  !important; }
.mb-75  { margin-bottom: 75px  !important; }
.mb-100 { margin-bottom: 100px !important; }
.mb-125 { margin-bottom: 125px !important; }
.mb-150 { margin-bottom: 150px !important; }

/* --- margin-left --- */
.ml-0   { margin-left: 0     !important; }
.ml-10  { margin-left: 10px  !important; }
.ml-20  { margin-left: 20px  !important; }
.ml-30  { margin-left: 30px  !important; }
.ml-40  { margin-left: 40px  !important; }
.ml-50  { margin-left: 50px  !important; }
.ml-75  { margin-left: 75px  !important; }
.ml-100 { margin-left: 100px !important; }
.ml-125 { margin-left: 125px !important; }
.ml-150 { margin-left: 150px !important; }

/* --- margin-right (FIXED — was margin-bottom in source) --- */
.mr-0   { margin-right: 0     !important; }
.mr-10  { margin-right: 10px  !important; }
.mr-20  { margin-right: 20px  !important; }
.mr-30  { margin-right: 30px  !important; }
.mr-40  { margin-right: 40px  !important; }
.mr-50  { margin-right: 50px  !important; }
.mr-75  { margin-right: 75px  !important; }
.mr-100 { margin-right: 100px !important; }
.mr-125 { margin-right: 125px !important; }
.mr-150 { margin-right: 150px !important; }

/* --- padding-top --- */
.pt-0   { padding-top: 0     !important; }
.pt-10  { padding-top: 10px  !important; }
.pt-20  { padding-top: 20px  !important; }
.pt-30  { padding-top: 30px  !important; }
.pt-40  { padding-top: 40px  !important; }
.pt-50  { padding-top: 50px  !important; }
.pt-75  { padding-top: 75px  !important; }
.pt-100 { padding-top: 100px !important; }
.pt-125 { padding-top: 125px !important; }
.pt-150 { padding-top: 150px !important; }

/* --- padding-bottom --- */
.pb-0   { padding-bottom: 0     !important; }
.pb-10  { padding-bottom: 10px  !important; }
.pb-20  { padding-bottom: 20px  !important; }
.pb-30  { padding-bottom: 30px  !important; }
.pb-40  { padding-bottom: 40px  !important; }
.pb-50  { padding-bottom: 50px  !important; }
.pb-75  { padding-bottom: 75px  !important; }
.pb-100 { padding-bottom: 100px !important; }
.pb-125 { padding-bottom: 125px !important; }
.pb-150 { padding-bottom: 150px !important; }

/* --- padding-left --- */
.pl-0   { padding-left: 0     !important; }
.pl-10  { padding-left: 10px  !important; }
.pl-20  { padding-left: 20px  !important; }
.pl-30  { padding-left: 30px  !important; }
.pl-40  { padding-left: 40px  !important; }
.pl-50  { padding-left: 50px  !important; }
.pl-75  { padding-left: 75px  !important; }
.pl-100 { padding-left: 100px !important; }
.pl-125 { padding-left: 125px !important; }
.pl-150 { padding-left: 150px !important; }

/* --- padding-right (FIXED — was padding-bottom in source) --- */
.pr-0   { padding-right: 0     !important; }
.pr-10  { padding-right: 10px  !important; }
.pr-20  { padding-right: 20px  !important; }
.pr-30  { padding-right: 30px  !important; }
.pr-40  { padding-right: 40px  !important; }
.pr-50  { padding-right: 50px  !important; }
.pr-75  { padding-right: 75px  !important; }
.pr-100 { padding-right: 100px !important; }
.pr-125 { padding-right: 125px !important; }
.pr-150 { padding-right: 150px !important; }

/* --- Mobile-only variants (apply below 769px) --- */
@media screen and (max-width: 768px) {
    .mt-0-s   { margin-top: 0     !important; }
    .mt-10-s  { margin-top: 10px  !important; }
    .mt-20-s  { margin-top: 20px  !important; }
    .mt-30-s  { margin-top: 30px  !important; }
    .mt-40-s  { margin-top: 40px  !important; }
    .mt-50-s  { margin-top: 50px  !important; }
    .mt-75-s  { margin-top: 75px  !important; }
    .mt-100-s { margin-top: 100px !important; }
    .mt-125-s { margin-top: 125px !important; }
    .mt-150-s { margin-top: 150px !important; }

    .mb-0-s   { margin-bottom: 0     !important; }
    .mb-10-s  { margin-bottom: 10px  !important; }
    .mb-20-s  { margin-bottom: 20px  !important; }
    .mb-30-s  { margin-bottom: 30px  !important; }
    .mb-40-s  { margin-bottom: 40px  !important; }
    .mb-50-s  { margin-bottom: 50px  !important; }
    .mb-75-s  { margin-bottom: 75px  !important; }
    .mb-100-s { margin-bottom: 100px !important; }
    .mb-125-s { margin-bottom: 125px !important; }
    .mb-150-s { margin-bottom: 150px !important; }

    .ml-0-s   { margin-left: 0     !important; }
    .ml-10-s  { margin-left: 10px  !important; }
    .ml-20-s  { margin-left: 20px  !important; }
    .ml-30-s  { margin-left: 30px  !important; }
    .ml-40-s  { margin-left: 40px  !important; }
    .ml-50-s  { margin-left: 50px  !important; }
    .ml-75-s  { margin-left: 75px  !important; }
    .ml-100-s { margin-left: 100px !important; }
    .ml-125-s { margin-left: 125px !important; }
    .ml-150-s { margin-left: 150px !important; }

    .mr-0-s   { margin-right: 0     !important; }
    .mr-10-s  { margin-right: 10px  !important; }
    .mr-20-s  { margin-right: 20px  !important; }
    .mr-30-s  { margin-right: 30px  !important; }
    .mr-40-s  { margin-right: 40px  !important; }
    .mr-50-s  { margin-right: 50px  !important; }
    .mr-75-s  { margin-right: 75px  !important; }
    .mr-100-s { margin-right: 100px !important; }
    .mr-125-s { margin-right: 125px !important; }
    .mr-150-s { margin-right: 150px !important; }

    .pt-0-s   { padding-top: 0     !important; }
    .pt-10-s  { padding-top: 10px  !important; }
    .pt-20-s  { padding-top: 20px  !important; }
    .pt-30-s  { padding-top: 30px  !important; }
    .pt-40-s  { padding-top: 40px  !important; }
    .pt-50-s  { padding-top: 50px  !important; }
    .pt-75-s  { padding-top: 75px  !important; }
    .pt-100-s { padding-top: 100px !important; }
    .pt-125-s { padding-top: 125px !important; }
    .pt-150-s { padding-top: 150px !important; }

    .pb-0-s   { padding-bottom: 0     !important; }
    .pb-10-s  { padding-bottom: 10px  !important; }
    .pb-20-s  { padding-bottom: 20px  !important; }
    .pb-30-s  { padding-bottom: 30px  !important; }
    .pb-40-s  { padding-bottom: 40px  !important; }
    .pb-50-s  { padding-bottom: 50px  !important; }
    .pb-75-s  { padding-bottom: 75px  !important; }
    .pb-100-s { padding-bottom: 100px !important; }
    .pb-125-s { padding-bottom: 125px !important; }
    .pb-150-s { padding-bottom: 150px !important; }

    .pl-0-s   { padding-left: 0     !important; }
    .pl-10-s  { padding-left: 10px  !important; }
    .pl-20-s  { padding-left: 20px  !important; }
    .pl-30-s  { padding-left: 30px  !important; }
    .pl-40-s  { padding-left: 40px  !important; }
    .pl-50-s  { padding-left: 50px  !important; }
    .pl-75-s  { padding-left: 75px  !important; }
    .pl-100-s { padding-left: 100px !important; }
    .pl-125-s { padding-left: 125px !important; }
    .pl-150-s { padding-left: 150px !important; }

    .pr-0-s   { padding-right: 0     !important; }
    .pr-10-s  { padding-right: 10px  !important; }
    .pr-20-s  { padding-right: 20px  !important; }
    .pr-30-s  { padding-right: 30px  !important; }
    .pr-40-s  { padding-right: 40px  !important; }
    .pr-50-s  { padding-right: 50px  !important; }
    .pr-75-s  { padding-right: 75px  !important; }
    .pr-100-s { padding-right: 100px !important; }
    .pr-125-s { padding-right: 125px !important; }
    .pr-150-s { padding-right: 150px !important; }
}

/* TIMELINE */

@media screen and (min-width: 769px) {
	.timeline .timespot {
    border-top: 1px solid #d2429a;
    padding-top: 15px;
	}
	.timeline .timespot-details {
    padding-left: 40px !important;
    border-left: 1px solid #d1429b;
    border-top: 1px solid #d2429a;
    padding-top: 15px;
	}
	.timeline .timespot h3 {
    font-weight: 700;
    color: #d2429a;
	}
}

@media screen and (max-width: 768px) {
	.timeline .timespot {
    border-top: 1px solid #d2429a !important;
    padding-top: 15px;
	}
	.timeline .timespot h3 {
    font-weight: 700;
    color: #d2429a;
    font-size: 20px;
	}
}

/* HEADER STARTSEITE */

@media screen and (min-width: 990px) {
	.box-links-bar {
    top: -85px;
    padding: 30px;
    background: linear-gradient(133deg, rgb(234, 234, 234) 0%, rgba(255, 255, 255, 1) 100%);
    border: 3px solid #fff !important;
    border-radius: 8px;
    box-shadow: 0 8px 30px -15px rgba(0, 0, 0, .41);
    max-width: 1000px;
    display: block;
    float: none;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    position: relative;
    margin-bottom: -120px;
    }
	.box-links-bar .content, .box-links-bar .container {
    padding: 0;
	}
	.box-links-bar h3 {
    color: #d9439a !important;
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 15px;
	}
	.box-links-bar h3:hover {
    opacity: 0.8;
	}
	.box-links-bar .avia-image-container {
	position: relative;
	top: 0;
	max-width: 120px;
	-moz-transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
    transition: All 0.3s ease;
	}
	.box-links-bar .flex_column:hover .avia-image-container {
	top: -5px;
	}
	.box-links-bar .flex_column:not(.flex_column:last-child) {
    border-right: 1px solid #a9a9a9;
	}
}
@media screen and (max-width: 768px) {
	.box-links-bar .avia-image-container {
	max-width: 100px;
	}
}