/* ==========================================================================
  CUSTOM.CSS
  Safe cleanup — current design preserved
  ========================================================================== */
/* ==========================================================================
  1. Settings
  ========================================================================== */
:root {
 --ytpi-layout-breakpoint--xs: 767px;
 --ytpi-layout-breakpoint--sm: 991px;
 --ytpi-layout-breakpoint--md: 1199px;
 --ytpi-layout-grid-cols--default: 12;
 --ytpi-layout-grid-cols-gap--default: 15px;
 --ytpi-layout-section-spacing-y--smaller: 0.5rem;
 --ytpi-layout-section-spacing-y--small: 1rem;
 --ytpi-layout-section-spacing-y--default: 2rem;
 --ytpi-layout-section-spacing-y--big: 3rem;
 --ytpi-layout-section-spacing-y--bigger: 4rem;
 --ytpi-typography-font-size--smaller: 0.65rem;
 --ytpi-typography-font-size--small: 0.75rem;
 --ytpi-typography-font-size--default: 20px;
 --ytpi-typography-font-size--big: 1.5rem;
 --ytpi-typography-font-size--bigger: 2rem;
 --ytpi-typography-font-family--primary: "Open Sans", Helvetica, Arial, sans-serif;
 --ytpi-typography-font-family--accent: "Baloo", sans-serif;
 --ytpi-typography-font-size--h1: 2.25rem;
 --ytpi-typography-font-size--h2: 1.75rem;
 --ytpi-typography-font-size--h3: 1.5rem;
 --ytpi-typography-font-size--h4: 1.25rem;
 --ytpi-typography-font-size--h5: 1.125rem;
 --ytpi-typography-font-size--h6: 1rem;
 --ytpi-typography-line-height--small: 1.2;
 --ytpi-typography-line-height--default: 1.4;
 --ytpi-typography-line-height--big: 1.6;
 --ytpi-color-primary--light: #ffe680;
 --ytpi-color-primary: #ffcc00;
 --ytpi-color-primary--dark: #7f6600;
 --ytpi-color-accent: #0099ff;
 --ytpi-color-text: #000000;
 --ytpi-color-links: var(--ytpi-color-text);
 --ytpi-color-links--active: var(--ytpi-color-primary);
 --ytpi-color-grey--lighter: #f5f5f5;
 --ytpi-color-grey--light: #e8e8e8;
 --ytpi-color-grey: #c4c4c4;
 --ytpi-color-grey--dark: #333333;
 --ytpi-settings-transition--default: 0.25s 0s all ease-in;
 --ytpi-settings-z-index--smaller: -20;
 --ytpi-settings-z-index--small: -10;
 --ytpi-settings-z-index--default: 1;
 --ytpi-settings-z-index--big: 10;
 --ytpi-settings-z-index--bigger: 20;
}
/* ==========================================================================
  2. Fonts and generic rules
  ========================================================================== */
@font-face {
 font-family: "Baloo";
 src: url("../fonts/Baloo-Regular-webfont.woff") format("woff");
 font-style: normal;
 font-weight: 400;
}
@font-face {
 font-family: "Baloo";
 src: url("../fonts/Baloo-Bold-webfont.woff") format("woff");
 font-style: normal;
 font-weight: 700;
}
@font-face {
 font-family: "Open Sans";
 src: url("../fonts/OpenSans-Regular-webfont.woff") format("woff");
 font-style: normal;
 font-weight: 400;
}
@font-face {
 font-family: "Open Sans";
 src: url("../fonts/OpenSans-Italic-webfont.woff") format("woff");
 font-style: italic;
 font-weight: 400;
}
@font-face {
 font-family: "Open Sans";
 src: url("../fonts/OpenSans-Bold-webfont.woff") format("woff");
 font-style: normal;
 font-weight: 700;
}
@font-face {
 font-family: "Open Sans";
 src: url("../fonts/OpenSans-BoldItalic-webfont.woff") format("woff");
 font-style: italic;
 font-weight: 700;
}
*,
*::before,
*::after {
 box-sizing: inherit;
}
* {
 font-size: 1rem;
}
.jupiterx-main-content > .container {
 overflow-x: hidden;
}
.gelb .vc_single_image-wrapper,
.gelb .elementor-image {
 position: relative;
}
.gelb .vc_single_image-wrapper::before,
.gelb .elementor-image::before {
 position: absolute;
 width: 100%;
 height: 100%;
 content: "";
 opacity: 0.4;
 background: var(--ytpi-color-primary);
}
/* ==========================================================================
  3. Legacy layout and homepage
  ========================================================================== */
.container {
 padding-right: var(--ytpi-layout-grid-cols-gap--default);
 padding-left: var(--ytpi-layout-grid-cols-gap--default);
}
.row {
 display: flex;
 flex-wrap: wrap;
 width: auto;
 margin-right: calc(var(--ytpi-layout-grid-cols-gap--default) * -1);
 margin-bottom: var(--ytpi-layout-grid-cols-gap--default);
 margin-left: calc(var(--ytpi-layout-grid-cols-gap--default) * -1);
}
.row::after {
 clear: both;
 width: 100%;
 content: " ";
}
.fullwidth,
.one_half {
 padding-right: var(--ytpi-layout-grid-cols-gap--default);
 padding-left: var(--ytpi-layout-grid-cols-gap--default);
}
.fullwidth {
 width: 100%;
}
.one_half {
 width: 50%;
}
.menu-hover-style-2 .main-navigation-ul > li.current_page_parent > a.menu-item-link,
.menu-hover-style-1.mk-vm-menuwrapper li.current_page_parent > a {
 color: #ffcc00 !important;
}
.main-navigation-ul #menu-item-294,
.main-navigation-ul #menu-item-4236 {
 margin-left: 20px;
}
.mk-header .main-navigation-ul #menu-item-294 > a,
.mk-header .main-navigation-ul #menu-item-4236 > a {
 width: 160px;
 color: #000000;
 background-color: #ffffff;
}
.master-holder #header_banner.elementor-section h1,
.master-holder #header_banner.elementor-section p {
 color: #ffffff;
}
.ms-btn-container a.button_primary,
.ms-btn-container a.button_secondary {
 color: #ffffff;
 transition: var(--ytpi-settings-transition--default);
}
.ms-btn-container a.button_primary:hover,
.ms-btn-container a.button_secondary:hover {
 color: #000000;
 border-color: var(--ytpi-color-primary);
 background: var(--ytpi-color-primary);
}
#slide_home .elementor-background-overlay {
 z-index: 1;
 height: 130px;
}
.container_box_yellow .elementor-column-gap-narrow > .elementor-row > .elementor-column > .elementor-element-populated .elementor-divider {
 margin-right: -5px;
 margin-left: -5px;
}
.container_box_yellow .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated .elementor-divider {
 margin-right: -10px;
 margin-left: -10px;
}
.container_box_yellow .elementor-column-gap-extended > .elementor-row > .elementor-column > .elementor-element-populated .elementor-divider {
 margin-right: -15px;
 margin-left: -15px;
}
.container_box_yellow .elementor-column-gap-wide > .elementor-row > .elementor-column > .elementor-element-populated .elementor-divider {
 margin-right: -20px;
 margin-left: -20px;
}
.container_box_yellow .elementor-column-gap-wider > .elementor-row > .elementor-column > .elementor-element-populated .elementor-divider {
 margin-right: -30px;
 margin-left: -30px;
}
.container_box_yellow .box {
 height: auto;
 min-height: 380px;
}
.container_box_yellow #box1 p {
 line-height: 1.3em;
}
.container_box_yellow #box2 p {
 margin-bottom: 0;
 font-size: 30px;
 line-height: 1.3em;
}
.container_box_yellow #box4 p {
 font-size: 18px;
}
.container_box_yellow .elementor-widget-wrap {
 flex-direction: column;
}
.container_box_yellow .elementor-widget-wrap > * {
 flex-grow: 0;
}
.container_box_yellow .elementor-widget-wrap > .flex-spacer {
 flex-grow: 1;
}
.container_box_yellow .elementor-align-center a.elementor-button {
 max-width: 222px;
}
#theme-page .theme-page-wrapper {
 margin: 0 auto 20px;
}
#theme-page .theme-page-wrapper .theme-content {
 padding: 0 20px 30px;
}
/* ==========================================================================
  4. Forms
  ========================================================================== */
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
textarea {
 margin-bottom: 4px;
 padding: 10px 12px;
 font-size: 15px;
 color: #000000;
 border: 1px solid #e3e3e3;
 outline: 0;
 background-color: #fdfdfd;
}
#maja_global_form {
 display: flex;
 flex-wrap: wrap;
}
#maja_global_form #choose_product {
 margin-bottom: 10px;
}
#contact-form {
 background: #ffcc00;
}
#contact-form h3 {
 text-align: center;
}
#contact-form input[type="submit"] {
 color: #ffffff;
 background: #252525;
}
#contact-form input[type="submit"]:hover {
 color: #ffffff;
 background: #707070;
}
/* ==========================================================================
  5. Footer
  ========================================================================== */
#mk-footer .widget.widget_custom_html a#newsletter_button {
 display: inline-block;
 padding: 6px 15px;
 font-size: 16px;
 text-align: center;
 color: #000000;
 border: 3px solid #ffcc00;
 border-radius: 15px;
 background-color: #ffcc00;
}
#mk-footer .widget.widget_custom_html a#newsletter_button:hover {
 color: #000000;
 background-color: #ffffff;
}
#mk-footer .widget_nav_menu .menu-hauptmenue-container ul li,
#mk-footer .widget_nav_menu .menu-hauptmenue-container ul li a {
 display: block;
}
#mk-footer .widget_nav_menu .menu-hauptmenue-container ul li a {
 line-height: 1.2em;
}
#mk-footer .widget_nav_menu ul#menu-footer-menue li {
 display: inline-block;
}
#mk-footer .widget_nav_menu ul#menu-footer-menue li a {
 padding: 5px 15px;
}
#mk-footer .widget_nav_menu ul#menu-footer-menue li:first-child a {
 padding-left: 0;
}
#mk-footer .widget_nav_menu ul#menu-footer-menue li::before {
 content: "|";
}
#mk-footer .widget_nav_menu ul#menu-footer-menue li:first-child::before,
#mk-footer .widget_nav_menu ul li a .mk-svg-icon {
 display: none;
}
#mk-footer p,
#mk-footer a {
 font-size: 0.8rem;
}
#mk-footer a {
 text-decoration: none;
}
#footer_social {
 display: flex;
 flex-wrap: wrap;
}
#footer_social li {
 width: 25%;
 padding-right: 10px;
}
#footer_social li a {
 font-size: 50px;
}
.jupiterx-footer {
 font-size: 0.8rem;
 color: #ffffff;
 background-color: #000000;
}
.jupiterx-footer * {
 font-size: 16px;
}
.jupiterx-footer a:not([id="newsletter_button"]),
.jupiterx-footer a:link:not([id="newsletter_button"]),
.jupiterx-footer a:visited:not([id="newsletter_button"]) {
 color: #ffffff;
 text-decoration: none !important;
}
.jupiterx-footer a:not([id="newsletter_button"]):hover,
.jupiterx-footer a:link:not([id="newsletter_button"]):hover,
.jupiterx-footer a:visited:not([id="newsletter_button"]):hover {
 color: var(--ytpi-color-primary);
}
.jupiterx-footer-widgets {
 padding-top: 50px;
 padding-bottom: 50px;
}
.jupiterx-footer-widgets > .container {
 max-width: 1432px;
 padding-right: 16px;
 padding-left: 16px;
}
[id="newsletter_button"] {
 display: inline-block;
 padding: 8px 32px;
 font-size: 1rem;
 font-weight: 400;
 line-height: normal;
 color: #000000;
 border: 2px solid var(--ytpi-color-primary);
 border-radius: 0.8em;
 background-color: var(--ytpi-color-primary);
 transition: 250ms ease-in-out;
}
[id="newsletter_button"]:hover {
 color: #000000;
 background-color: #ffffff;
}
.jupiterx-widget ul[id="menu-footer-menue"] {
 display: flex;
}
.jupiterx-widget ul[id="menu-footer-menue"] li {
 margin: 0;
}
.jupiterx-widget ul[id="menu-footer-menue"] li a {
 display: inline-block;
 padding-top: 5px;
 padding-bottom: 5px;
}
.jupiterx-widget ul[id="menu-footer-menue"] li + li::before {
 position: relative;
 top: -0.75em;
 display: inline-block;
 padding-right: 15px;
 padding-left: 15px;
 content: "|";
}
.jupiterx-widget ul .menu-item::before,
.jupiterx-widget ul .cat-parent::before {
 position: static;
 top: auto;
 right: auto;
 font-size: inherit;
 cursor: auto;
}
[id="footer_social"] .fab {
 font-size: inherit;
}
[id="footer_social"] br {
 display: none !important;
}
[id="footer_social"] a {
 transition: color 250ms ease-in-out;
}
[id="footer_social"] a:hover {
 color: var(--ytpi-color-primary) !important;
}
.jupiterx-footer-widgets:not(.elementor-widget-sidebar) {
 border-top: none;
}
/* ==========================================================================
  6. Legacy navigation search
  ========================================================================== */
.main-nav-side-search {
 position: absolute;
 z-index: 1;
 right: 0;
 bottom: 0;
 margin-left: 0;
}
a.mk-toggle-trigger {
 position: absolute;
 z-index: -1;
 right: 0;
 bottom: 100%;
 visibility: hidden;
 opacity: 0;
}
#mk-nav-search-wrapper {
 right: 0;
}
.mk-nav-arrow.mk-nav-sub-opened > .mk-svg-icon {
 transform: rotateZ(180deg);
}

/* ==========================================================================
  7. Responsive legacy layout
  ========================================================================== */
@media handheld, only screen and (max-width: 1140px) {
 .mk-header:not(.header-style-4) .mk-header-holder {
   position: fixed !important;
 }
 .mk-header-padding-wrapper {
   display: block !important;
 }
 #menu-quicklinks li a {
   padding-left: 0 !important;
 }
}
@media handheld, only screen and (max-width: 767px) {
 .mk-header:not(.header-style-4) .mk-header-holder {
   position: relative !important;
   top: 0 !important;
 }
 .mk-header-padding-wrapper {
   display: none !important;
 }
}
@media screen and (min-width: 1200px) {
 #slide_home .ms-btn-container {
   top: 315px !important;
 }
}
@media screen and (max-width: 1200px) {
 #slide_home .elementor-background-overlay {
   display: none;
 }
}
@media screen and (max-width: 1000px) {
 #slide_home .ms-anim-layers {
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   height: 100%;
   padding: 0 20px;
 }
 #slide_home .ms_headline,
 #slide_home .ms_subhead,
 #slide_home .ms-btn-container {
   position: relative;
   top: inherit !important;
   left: inherit !important;
   display: block;
   width: 100% !important;
 }
 #slide_home .ms_headline {
   margin-bottom: 10px !important;
   font-size: 25px !important;
   line-height: 24px !important;
 }
 #slide_home .ms_subhead {
   font-size: 18px !important;
   line-height: 20px !important;
 }
 #slide_home .button_primary,
 #slide_home .button_secondary {
   display: inline-block !important;
   width: auto !important;
   margin: 5px 0 !important;
   padding: 5px 20px !important;
   font-size: 18px !important;
 }
 #footer_social li {
   width: 50%;
 }
}
@media screen and (max-width: 767px) {
 #footer_social {
   padding-bottom: 25px;
 }
 #footer_social li {
   width: 25%;
 }
 body {
   overflow-x: hidden;
 }
 .one_half,
 .one_fourth {
   width: 100%;
 }
 h1 {
   font-size: 24px;
   line-height: 30px;
 }
 h2,
 h3,
 h4,
 h5,
 h6 {
   font-size: 20px;
   line-height: 24px;
 }
}
@media screen and (max-width: 640px) {
 .elementor-column.elementor-col-25.box {
   width: 100%;
 }
}
@media screen and (max-width: 480px) {
 #mk-footer .footer-wrapper {
   padding-bottom: 60px;
 }
 h1 {
   font-size: 20px;
   line-height: 26px;
 }
 h2,
 h3,
 h4,
 h5,
 h6 {
   font-size: 18px;
   line-height: 22px;
 }
}
@media screen and (max-width: 1199px) {
 .elementor-widget-shortcode .container_box_yellow--contact.elementor-element {
   padding: 80px 30px;
 }
 .container_box_yellow--contact .elementor-element.box#box1 > .elementor-column-wrap.elementor-element-populated,
 .container_box_yellow--contact .elementor-element.box#box3 > .elementor-column-wrap.elementor-element-populated {
   background-size: cover;
 }
 .container_box_yellow--contact .elementor-element.box#box3 > .elementor-column-wrap.elementor-element-populated .elementor-widget-button .elementor-widget-container {
   margin: 146px 0 0;
 }
}
@media screen and (max-width: 991px) {
 .container_box_yellow--contact .elementor-element.box#box3 > .elementor-column-wrap.elementor-element-populated .elementor-widget-button .elementor-widget-container {
   margin: 182px 0 0;
 }
 .elementor-column.elementor-col-25.box {
   width: 50%;
 }
 .container_box_yellow--contact .elementor-element.box#box1 > .elementor-column-wrap.elementor-element-populated .elementor-widget-button .elementor-widget-container {
   margin-top: 25px;
 }
}
/* ==========================================================================
  8. Base elements and typography
  ========================================================================== */
html {
 box-sizing: border-box;
 font-family: var(--ytpi-typography-font-family--primary);
 font-size: var(--ytpi-typography-font-size--default);
 font-weight: 400;
 line-height: var(--ytpi-typography-line-height--default);
 color: var(--ytpi-color-text);
}
h1,
h2,
h3,
h4,
h5,
h6 {
 font-family: var(--ytpi-typography-font-family--accent);
 font-weight: 400;
}
h1 *,
h1 a,
h2 *,
h2 a,
h3 *,
h3 a,
h4 *,
h4 a,
h5 *,
h5 a,
h6 *,
h6 a {
 font-family: inherit;
 font-size: inherit;
 font-weight: inherit;
}
h1 {
 font-size: var(--ytpi-typography-font-size--h1);
}
h2 {
 font-size: var(--ytpi-typography-font-size--h2);
}
h3 {
 font-size: var(--ytpi-typography-font-size--h3);
}
h4 {
 font-size: var(--ytpi-typography-font-size--h4);
}
h5 {
 font-size: var(--ytpi-typography-font-size--h5);
}
h6 {
 font-size: var(--ytpi-typography-font-size--h6);
}
p:first-child {
 margin-top: 0;
}
p:last-child {
 margin-bottom: 0;
}
strong,
b,
strong *,
b * {
 font-weight: 700;
}
i,
i * {
 font-style: italic;
}
input,
select,
textarea {
 transition: var(--ytpi-settings-transition--default);
}
label[for] {
 cursor: pointer;
}
label.required::after {
 display: inline;
 content: "*";
}
a,
a:link,
a:visited {
 color: var(--ytpi-color-links);
}
p a,
p a:link,
p a:visited,
.elementor-text-editor a,
.elementor-text-editor a:link,
.elementor-text-editor a:visited {
 color: var(--ytpi-color-primary);
}
p a:not([class*="button"]),
p a:not([class*="button"]):link,
p a:not([class*="button"]):visited,
li a:not([class*="button"]):not([class*="menu-item"]),
li a:not([class*="button"]):not([class*="menu-item"]):link,
li a:not([class*="button"]):not([class*="menu-item"]):visited {
 text-decoration: underline;
}
a:focus,
a:hover,
a:active {
 color: var(--ytpi-color-links--active);
 text-decoration: none;
}
@media (max-width: 991px) {
 :root {
   --ytpi-layout-section-spacing-y--smaller: 0.75rem;
   --ytpi-layout-section-spacing-y--default: 1.5rem;
   --ytpi-layout-section-spacing-y--big: 2rem;
   --ytpi-layout-section-spacing-y--bigger: 3rem;
   --ytpi-typography-font-size--h1: 1.75rem;
   --ytpi-typography-font-size--h2: 1.5rem;
   --ytpi-typography-font-size--h3: 1.25rem;
   --ytpi-typography-font-size--h4: 1.125rem;
   --ytpi-typography-font-size--h5: 1rem;
   --ytpi-typography-font-size--smaller: 0.75rem;
   --ytpi-typography-font-size--small: 0.875rem;
   --ytpi-typography-font-size--big: 1.25rem;
   --ytpi-typography-font-size--bigger: 1.5rem;
 }
}
@media (max-width: 767px) {
 :root {
   --ytpi-layout-section-spacing-y--smaller: 1rem;
   --ytpi-layout-section-spacing-y--default: 1.25rem;
   --ytpi-layout-section-spacing-y--big: 1.5rem;
   --ytpi-layout-section-spacing-y--bigger: 2rem;
   --ytpi-typography-font-size--h1: 1.5rem;
   --ytpi-typography-font-size--h2: 1.25rem;
   --ytpi-typography-font-size--h3: 1.125rem;
   --ytpi-typography-font-size--h4: 1rem;
   --ytpi-typography-font-size--smaller: 0.875rem;
   --ytpi-typography-font-size--small: 0.95rem;
   --ytpi-typography-font-size--big: 1.125rem;
   --ytpi-typography-font-size--bigger: 1.25rem;
 }
}
/* ==========================================================================
  9. Action bar and testimonial
  ========================================================================== */
#action_bar {
 position: fixed;
 z-index: 30;
 top: 40%;
 right: 0;
}
#action_bar ul {
 margin: 0;
 padding: 0;
}
#action_bar ul li {
 margin: 0 0 1px;
 padding: 0;
 list-style-type: none;
}
#action_bar a {
 display: block;
 padding: 10px 5px;
 font-size: 13px;
 line-height: 20px;
 text-align: center;
 color: #ffffff;
 text-decoration: none;
 background: #000000;
}
#action_bar a:hover {
 background: var(--ytpi-color-primary);
}
#action_bar a i {
 display: block;
 font-size: 20px;
}
#action_bar li:first-of-type a {
 border-radius: 10px 0 0;
}
#action_bar li:last-of-type a {
 border-radius: 0 0 0 10px;
}
.shortcode-heading.mk-fancy-title .pattern-style {
 font-size: 2em;
 text-align: center;
}
.mk-testimonial-image {
 width: 100%;
 text-align: center;
}
.mk-testimonial.modern-style .mk-testimonial-image img {
 width: 150px !important;
 height: 150px !important;
 margin: 0 auto;
}
@media (max-width: 991px) {
 #action_bar {
   top: inherit;
   bottom: 42px;
   display: block !important;
 }
 body.page-id-4193 #action_bar {
   display: none !important;
 }
 #action_bar ul {
   display: flex;
   flex-wrap: wrap;
 }
 #action_bar a {
   padding: 10px 15px;
 }
 #action_bar li:last-of-type a {
   border-radius: 0 10px 0 0;
 }
}
@media (max-width: 767px) {
 #action_bar {
   right: inherit;
   bottom: 0;
   left: 0;
 }
}
/* ==========================================================================
  10. Reference letters
  ========================================================================== */
.single-referenzschreiben .logo img {
 max-width: 12rem;
}
.single-referenzschreiben .elementor-widget-image:not(.logo):not(:first-child) {
 margin-top: 2rem;
}
.single-referenzschreiben .elementor-widget-image:not(.logo):not(:last-child) {
 margin-bottom: 2rem;
}
.single-referenzschreiben .wp-caption .wp-caption-text {
 padding: 0;
 font-size: 0.8rem;
 line-height: 2;
 color: var(--ytpi-color-grey--dark);
}
.single-referenzschreiben .alignleft {
 float: left;
}
.single-referenzschreiben .alignright {
 float: right;
}
.single-referenzschreiben [class*="align"] {
 max-width: 50%;
}
.single-referenzschreiben .raven-nav-menu-align-left {
 max-width: none;
}
.single-referenzschreiben .logo.elementor-widget:not(:last-child) {
 margin-bottom: 2rem;
}
.single-referenzschreiben .elementor-widget-heading:not(:first-child) h2 {
 margin-top: 1em;
}
.single-referenzschreiben .mk-single-content {
 margin-top: 2rem;
 margin-bottom: 0;
}
.single-referenzschreiben .single-post-tags {
 margin-bottom: 0;
}
.single-referenzschreiben .mk-header {
 border-bottom: none;
}
.single-referenzschreiben .intro-left,
.single-referenzschreiben .blog-single-meta,
.single-referenzschreiben .blog-single-title,
.single-referenzschreiben .single-social-section {
 display: none;
}
.single-referenzschreiben .elementor-blockquote__content {
 font-style: italic;
 quotes: "»" "«";
}
.single-referenzschreiben .elementor-blockquote__content::before {
 content: open-quote;
}
.single-referenzschreiben .elementor-blockquote__content::after {
 content: close-quote;
}
@media only screen and (max-width: 830px) {
 .single-referenzschreiben [class*="elementor-"] .elementor-element[class*="elementor-element-"].references {
   padding-right: 0.75em;
   padding-left: 0.75em;
 }
}
@media only screen and (max-width: 767px) {
 .single-referenzschreiben [class*="align"] {
   max-width: 100%;
   margin: 2rem 0;
 }
 .single-referenzschreiben p + [class*="align"] {
   margin-top: 1rem;
 }
}

/* ==========================================================================
  11. Header banner
  ========================================================================== */
.header-banner {
 display: flex;
 align-items: center;
 justify-content: center;
 min-height: 600px;
 background-repeat: no-repeat;
 background-position: center;
 background-size: cover;
}
.header-banner h2 {
 margin-bottom: 0;
}
@media (max-width: 1023px) {
 .header-banner {
   min-height: 400px;
 }
}
@media (max-width: 767px) {
 .header-banner {
   min-height: 250px;
 }
}
/* ==========================================================================
  12. Single posts and archives
  ========================================================================== */
.jupiterx-no-comment,
.single .jupiterx-main-header,
.jupiterx-no-comment + .jupiterx-article-divider {
 display: none;
}
.single .jupiterx-main-content {
 padding-top: 0;
}
[class*="elementor-"] .elementor-element[class*="elementor-element-"][id="single_post_banner"] {
 display: flex;
 flex-direction: column;
 justify-content: flex-end;
 min-height: 30rem;
 padding: 2rem 2rem 4rem;
}
[class*="elementor-"] .elementor-element[class*="elementor-element-"][id="single_post_banner"] > .elementor-container {
 width: 100%;
 min-height: 0;
}
@media (max-width: 1023px) {
 [class*="elementor-"] .elementor-element[class*="elementor-element-"][id="single_post_banner"] {
   min-height: 20rem;
 }
}
@media (max-width: 767px) {
 [class*="elementor-"] .elementor-element[class*="elementor-element-"][id="single_post_banner"] {
   min-height: 15rem;
   padding-bottom: 2rem;
 }
}
.archive .jupiterx-main-header {
 position: absolute;
 overflow: hidden;
 width: 1px;
 height: 1px;
 padding: 0;
 white-space: nowrap;
 border: 0;
 clip: rect(0, 0, 0, 0);
 clip-path: inset(50%);
}
[data-elementor-type="archive"] {
 max-width: 45rem;
 margin-right: auto;
 margin-left: auto;
}
[data-elementor-type="archive"] .elementor-post {
 margin-bottom: 3rem;
}
[data-elementor-type="archive"] .elementor-post__text {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
}
[data-elementor-type="archive"] .elementor-post__text > * {
 order: 1;
}
[data-elementor-type="archive"] .elementor-post__text > .elementor-post__meta-data {
 order: 0;
}
[data-elementor-type="archive"] .elementor-posts .elementor-post__title {
 margin-top: 0.5rem;
 margin-bottom: 0.75rem;
 font-family: var(--ytpi-typography-font-family--accent);
 font-size: 1.2rem;
 font-weight: 400;
 line-height: 1;
 text-decoration: none;
}
[data-elementor-type="archive"] .elementor-posts .elementor-post__meta-data {
 font-size: 0.6rem;
 font-weight: 400;
 font-style: italic;
 color: var(--ytpi-color-text);
}
[data-elementor-type="archive"] .elementor-posts .elementor-post__meta-data > * {
 font: inherit;
}
[data-elementor-type="archive"] .elementor-posts .elementor-post__excerpt {
 margin-bottom: 1.5rem;
}
[data-elementor-type="archive"] .elementor-posts .elementor-post__excerpt p {
 font-size: 1rem;
 color: var(--ytpi-color-text);
}
[data-elementor-type="archive"] .elementor-post__read-more {
 padding: 0.6rem 1.2rem;
 font-size: 1rem;
 font-weight: 400;
 line-height: 1;
 color: var(--ytpi-color-text);
 white-space: nowrap;
 text-decoration: none;
 user-select: none;
 border: 0.1rem solid var(--ytpi-color-primary);
 border-radius: 0.75rem;
 background-color: var(--ytpi-color-primary);
 transition: color 250ms ease-in-out, border-color 250ms ease-in-out, background-color 250ms ease-in-out;
}
[data-elementor-type="archive"] .elementor-post__read-more:hover {
 color: var(--ytpi-color-text);
 border-color: var(--ytpi-color-primary);
 background-color: #ffffff;
}
[data-elementor-type="archive"] [class*="elementor-"] .elementor-element[class*="elementor-element-"] .elementor-posts-container .elementor-post__thumbnail {
 padding-bottom: calc(9 / 16 * 100%);
}
.page-numbers {
 display: inline-grid;
 min-width: 2rem;
 height: 2rem;
 padding-right: 0.25rem;
 padding-left: 0.25rem;
 border: 0.1rem solid var(--ytpi-color-text);
 place-items: center;
 transition: color 250ms ease-in-out, border-color 250ms ease-in-out, background-color 250ms ease-in-out;
}
.page-numbers:hover {
 color: var(--ytpi-color-text);
 border-color: var(--ytpi-color-primary);
 background-color: var(--ytpi-color-primary);
}
.page-numbers.current {
 color: #ffffff;
 background-color: var(--ytpi-color-text);
}
.theme-page-wrapper > .theme-content > .wpb_row {
 padding-top: var(--ytpi-layout-section-spacing-y--default);
 padding-bottom: var(--ytpi-layout-section-spacing-y--default);
}
body .main-navigation-ul li.menu-item ul.sub-menu li.menu-item a.menu-item-link {
 max-width: 100%;
 font-size: 14px;
}
/* ==========================================================================
  13. Contact Form 7
  ========================================================================== */
.wpcf7 .wpcf7-form label,
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap,
.wpcf7 .wpcf7-form input[type="email"],
.wpcf7 .wpcf7-form input[type="number"],
.wpcf7 .wpcf7-form input[type="password"],
.wpcf7 .wpcf7-form input[type="search"],
.wpcf7 .wpcf7-form input[type="tel"],
.wpcf7 .wpcf7-form input[type="text"],
.wpcf7 .wpcf7-form select,
.wpcf7 .wpcf7-form textarea {
 display: block;
}
.wpcf7 .wpcf7-form input[type="email"],
.wpcf7 .wpcf7-form input[type="number"],
.wpcf7 .wpcf7-form input[type="password"],
.wpcf7 .wpcf7-form input[type="search"],
.wpcf7 .wpcf7-form input[type="tel"],
.wpcf7 .wpcf7-form input[type="text"],
.wpcf7 .wpcf7-form select,
.wpcf7 .wpcf7-form textarea {
 width: 100%;
}
.wpcf7 .wpcf7-form input[type="checkbox"] {
 width: 1rem;
 height: 1rem;
}
.wpcf7 .wpcf7-form form .wpcf7-response-output {
 margin-top: 0;
 margin-right: 0;
 margin-left: 0;
}
.wpcf7 form .wpcf7-response-output {
 margin-top: 0;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
 color: #ffffff;
 border-color: #000000;
 background-color: #ff7600;
}
.wpcf7 form.sent .wpcf7-response-output {
 color: #ffffff;
 background: #46b450;
}
.wpcf7-form-control.wpcf7-acceptance label {
 position: relative;
}
.wpcf7-form-control.wpcf7-acceptance label input {
 position: absolute;
 top: 0.25em;
 left: 0;
}
.wpcf7-form-control.wpcf7-acceptance label span {
 display: block;
 padding-left: 1.5rem;
}
form.wpcf7-form input.wpcf7-submit {
 display: block;
 padding: 1em;
 font-size: 1rem;
 font-weight: 700;
 line-height: var(--ytpi-typography-line-height--default) !important;
 vertical-align: top;
 color: #ffffff;
 letter-spacing: 0.05em;
 white-space: pre-wrap;
 text-transform: uppercase;
 cursor: pointer;
 border: none;
 border-radius: 10px;
 background-color: #252525;
}
form.wpcf7-form input.wpcf7-submit:hover {
 color: #ffffff;
 background-color: #707070;
}
form.wpcf7-form input.wpcf7-submit:disabled:hover {
 background-color: #252525;
}
form.wpcf7-form .wpcf7-acceptance a {
 font-weight: 700;
}
form.wpcf7-form .wpcf7-acceptance a:hover {
 color: #54595f;
}
/* ==========================================================================
  14. Generic components
  ========================================================================== */
.competencies-list {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 grid-gap: 1rem;
 margin: 0;
 list-style: none;
}
.competencies-list .fas {
 color: var(--ytpi-color-primary);
}
.post-snippet:not(:first-child) {
 margin-top: 1rem;
}
.post-snippet:not(:last-child) {
 padding-bottom: 1.5rem;
 border-bottom: 1px solid var(--ytpi-color-grey);
}
.post-snippet-excerpt {
 font-size: 0.8rem;
 line-height: 1.75;
}
.post-snippet-excerpt + .post-snippet-button {
 margin-top: 1rem;
}
a.post-snippet-button {
 display: inline-block;
 padding: 0.4rem 1.5rem;
 font-size: 0.8rem;
 line-height: 1;
 color: var(--ytpi-color-text);
 white-space: nowrap;
 text-decoration: none;
 user-select: none;
 border: 2px solid var(--ytpi-color-primary);
 border-radius: 0.75rem;
 background-color: var(--ytpi-color-primary);
 transition: 250ms ease-in-out;
}
a.post-snippet-button:hover,
a.post-snippet-button:focus {
 color: var(--ytpi-color-text);
 border-color: var(--ytpi-color-primary);
 background-color: transparent;
}
@media only screen and (max-width: 767px) {
 .mobile_no_shadow .elementor-column-wrap {
   box-shadow: none !important;
 }
 .competencies-list {
   grid-template-columns: repeat(1, minmax(0, 1fr));
   grid-gap: 1rem;
 }
}

/* ==========================================================================
  15. WPBakery components
  ========================================================================== */
.preloader-logo {
 height: auto;
 max-height: none;
}
.theme-page-wrapper:not(.full-width-layout) .mk-fullwidth-true.vc_row .vc_col-sm-12 {
 padding-right: 15px !important;
 padding-left: 15px !important;
}
.vc_row--header {
 min-height: 100px;
 padding: 10% 0 0 !important;
}
.vc_row--cta-box {
 background-color: var(--ytpi-color-grey--lighter);
}
.vc_row--cf7 {
 background-color: var(--ytpi-color-primary--light);
}
.vc_row--cf7 input[type="submit"] {
 color: var(--ytpi-color-grey--dark);
 background-color: var(--ytpi-color-primary);
}
.vc_row--cf7 input[type="submit"]:hover,
.vc_row--cf7 input[type="submit"]:focus,
.vc_row--cf7 input[type="submit"]:active {
 color: #ffffff;
 background-color: var(--ytpi-color-primary--dark);
}
.vc_inner.vc_row.equal-columns > * {
 display: flex;
 align-items: center;
 flex-flow: row wrap;
 height: 100%;
}
.vc_separator[class*="--custom-spacing"] .vc_sep_holder .vc_sep_line {
 border: none;
}
.vc_separator--custom-spacing--small .vc_sep_holder .vc_sep_line {
 height: 1.5rem;
}
.vc_separator--custom-spacing--medium .vc_sep_holder .vc_sep_line {
 height: 2rem;
}
.vc_separator--custom-spacing--big .vc_sep_holder .vc_sep_line {
 height: 5rem;
}
.vc_general[class*="vc_btn"][class*="color-primary"] {
 color: var(--ytpi-color-grey--dark);
 background-color: var(--ytpi-color-primary);
}
.vc_general[class*="vc_btn"][class*="color-primary"]:hover,
.vc_general[class*="vc_btn"][class*="color-primary"]:focus,
.vc_general[class*="vc_btn"][class*="color-primary"]:active {
 color: #ffffff;
 background-color: var(--ytpi-color-primary--dark);
}
.vc_general.vc_tta[class*="-color"] .vc_tta-panel.vc_active .vc_tta-panel-heading {
 background-color: var(--ytpi-color-primary);
}
.vc_general.vc_tta[class*="-color"] .vc_tta-panel.vc_active .vc_tta-panel-heading * {
 color: var(--ytpi-color-grey--dark);
}
.vc_message_box-icon .fa,
.vc_message_box-icon .fab,
.vc_message_box-icon .fad,
.vc_message_box-icon .fal,
.vc_message_box-icon .far,
.vc_message_box-icon .fas {
 color: #ffffff;
}
.vc_btn3-icon.fa,
.vc_btn3-icon.fab,
.vc_btn3-icon.fad,
.vc_btn3-icon.fal,
.vc_btn3-icon.far,
.vc_btn3-icon.fas {
 color: var(--ytpi-color-grey--dark);
}
/* ==========================================================================
  16. Legacy pricing table
  ========================================================================== */
.new-style.pricing-table .pricing-cols .pricing-col {
 min-width: 420px;
 border: 1px solid var(--ytpi-color-grey--light);
 background-color: #ffffff;
}
.new-style.pricing-table .pricing-cols .pricing-heading {
 background-color: var(--ytpi-color-grey--lighter);
}
.new-style.pricing-table .pricing-cols .pricing-col.column-bigger-true {
 border: none;
 box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.25);
}
.new-style.pricing-table .pricing-cols .pricing-col.column-bigger-true .pricing-heading {
 background-color: var(--ytpi-color-primary);
}
.new-style.pricing-table .pricing-cols .pricing-col.column-bigger-true .pricing-heading * {
 color: var(--ytpi-color-grey--dark);
}
.new-style.pricing-table .pricing-cols .pricing-heading > *,
.new-style.pricing-table .pricing-cols .pricing-features,
.new-style.pricing-table .pricing-cols .pricing-button {
 background-color: transparent !important;
}
.new-style.pricing-table .pricing-cols .pricing-plan {
 line-height: var(--ytpi-typography-line-height--default);
}
.new-style.pricing-table .pricing-cols .pricing-price .pricing-save {
 font-size: var(--ytpi-typography-font-size--small);
}
.new-style.pricing-table .pricing-cols .pricing-plan + .pricing-price {
 padding-top: 0;
}
.new-style.pricing-table .pricing-cols .pricing-features {
 padding: var(--ytpi-layout-section-spacing-y--default);
}
.new-style.pricing-table .pricing-cols .pricing-features p {
 margin-bottom: var(--ytpi-layout-section-spacing-y--smaller);
}
.new-style.pricing-table .pricing-cols .pricing-features p:last-child {
 margin-bottom: 0;
}
.new-style.pricing-table .pricing-cols .pricing-button .mk-button {
 color: var(--ytpi-color-grey--dark) !important;
 background-color: var(--ytpi-color-primary) !important;
}
.new-style.pricing-table .pricing-cols .pricing-button .mk-button:hover {
 color: #ffffff !important;
 background-color: var(--ytpi-color-primary--dark) !important;
}
.new-style.pricing-table .pricing-cols .pricing-button .mk-button[href="#!"] {
 display: none !important;
}
#mk-pricing-table-46.new-style.pricing-table .pricing-features {
 min-height: 940px;
}
#mk-pricing-table-46.new-style.pricing-table .column-bigger-true .pricing-features {
 min-height: 980px;
}
.box .jupiter-donut-height-full > * {
 display: flex;
 align-items: center;
 justify-content: center;
 height: 100%;
}
/* ==========================================================================
  17. Blog, search, and post banner
  ========================================================================== */
.blog #mk-page-introduce,
.blog-loop-comments,
.single-post #mk-page-introduce {
 display: none !important;
}
.featured-image .post-type-badge::after {
 position: relative;
 top: 5px;
 left: -28px;
 display: block;
 content: "mehr lesen";
 text-align: center;
 color: #ffffff;
}
.featured-image .post-type-badge::before {
 font-family: "Font Awesome 5 Free";
 font-size: 38px;
 font-weight: bold;
 content: "\f5da";
 color: #ffffff;
}
.featured-image .post-type-badge svg {
 display: none !important;
}
.featured-image .post-type-badge svg::before {
 content: "+";
}
#single_post_banner {
 background-repeat: no-repeat;
 background-position: center;
 background-size: cover;
}
.single-post #mk-page-introduce,
.search-results #mk-page-introduce,
.search-no-results #mk-page-introduce,
.archive #mk-page-introduce {
 background: var(--ytpi-color-primary);
}
.single-post #mk-breadcrumbs .mk-breadcrumbs-inner.dark-skin,
.single-post #mk-breadcrumbs .mk-breadcrumbs-inner.dark-skin a,
.single-post #mk-page-introduce .page-subtitle,
.search-results #mk-breadcrumbs .mk-breadcrumbs-inner.dark-skin,
.search-results #mk-breadcrumbs .mk-breadcrumbs-inner.dark-skin a,
.search-results #mk-page-introduce .page-subtitle,
.search-no-results #mk-breadcrumbs .mk-breadcrumbs-inner.dark-skin,
.search-no-results #mk-breadcrumbs .mk-breadcrumbs-inner.dark-skin a,
.search-no-results #mk-page-introduce .page-subtitle,
.archive #mk-breadcrumbs .mk-breadcrumbs-inner.dark-skin,
.archive #mk-breadcrumbs .mk-breadcrumbs-inner.dark-skin a,
.archive #mk-page-introduce .page-subtitle {
 color: #000000;
}
.single-post #theme-page .theme-page-wrapper .theme-content,
.search-results #theme-page .theme-page-wrapper .theme-content,
.search-no-results #theme-page .theme-page-wrapper .theme-content,
.archive #theme-page .theme-page-wrapper .theme-content,
.blog #theme-page .theme-page-wrapper .theme-content {
 padding: 50px 250px;
}
.single-post .mk-blog-print,
.single-post .single-post-tags {
 display: none;
}
.theme-page-wrapper:not(.full-width-layout) .mk-fullwidth-true.vc_row,
.theme-page-wrapper:not(.full-width-layout) .vc_inner.vc_row {
 margin-right: -15px !important;
 margin-left: -15px !important;
}
/* ==========================================================================
  18. JupiterX header and Raven navigation
  ========================================================================== */
.jupiterx-header {
 padding-right: 16px;
 padding-left: 16px;
 border-bottom: 1px solid #ededed;
 background-color: #ffffff;
}
.jupiterx-header .elementor-image img {
 width: 168px;
 height: auto;
}
.jupiterx-header .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
 padding: 0;
}
.jupiterx-header .elementor-widget-wrap {
 display: flex;
 align-items: center;
 flex-wrap: nowrap;
}
.jupiterx-header .elementor-widget-wrap > .elementor-element {
 width: auto;
 margin-bottom: 0;
}
.jupiterx-header .elementor-widget-wrap > .elementor-widget-raven-nav-menu {
 margin-left: auto;
}
.jupiterx-header .elementor-section.elementor-section-boxed > .elementor-container {
 max-width: 1400px;
}
.jupiterx-header .elementor-widget-raven-search-form {
 max-width: 160px;
}
@media (min-width: 1200px) {
 .raven-nav-menu-horizontal > .raven-nav-menu a.raven-link-item:not([class*="elementor"]) {
   height: 90px;
   padding: 0 20px;
   font-size: 16px;
   line-height: 90px;
   color: #000000;
   cursor: pointer;
   transition: height 250ms ease-in-out, line-height 250ms ease-in-out;
 }
 .raven-nav-menu-horizontal > .raven-nav-menu a.raven-link-item:not([class*="elementor"]):hover,
 .raven-nav-menu-horizontal > .raven-nav-menu .current-menu-item a.raven-link-item:not([class*="elementor"]),
 .raven-nav-menu-horizontal > .raven-nav-menu .current-menu-parent a.raven-link-item:not([class*="elementor"]) {
   color: var(--ytpi-color-primary);
 }
 .jupiterx-header.is-active .raven-nav-menu-horizontal > .raven-nav-menu a.raven-link-item:not([class*="elementor"]) {
   height: 55px;
   line-height: 55px;
 }
 .raven-nav-menu-horizontal > .raven-nav-menu ul.sub-menu,
 .raven-nav-menu-horizontal > .raven-nav-menu ul.submenu {
   border-top: 2px solid var(--ytpi-color-primary);
   background-color: #333333;
 }
 .raven-nav-menu-horizontal > .raven-nav-menu ul.sub-menu li.menu-item a.raven-link-item,
 .raven-nav-menu-horizontal > .raven-nav-menu ul.submenu li.menu-item a.raven-link-item {
   height: auto;
   padding: 10px 20px;
   line-height: 18px;
   color: #b3b3b3;
   background-color: transparent;
 }
 .raven-nav-menu-horizontal > .raven-nav-menu ul.sub-menu li.menu-item a.raven-link-item:hover,
 .raven-nav-menu-horizontal > .raven-nav-menu ul.submenu li.menu-item a.raven-link-item:hover {
   color: #ffffff;
 }
 li.login.menu-item {
   margin-top: 29px;
   margin-right: 20px;
   transition: margin 250ms ease-in-out;
 }
 .jupiterx-header.is-active li.login.menu-item {
   margin-top: 12px;
 }
 li.login.menu-item .raven-submenu {
   top: 62px !important;
 }
 .raven-nav-menu-horizontal > .raven-nav-menu .login.menu-item > .highlighted + ul.sub-menu,
 .raven-nav-menu-horizontal > .raven-nav-menu .login.menu-item > .highlighted + ul.submenu {
   display: flex;
   flex-wrap: wrap;
   padding: 8px 0;
 }
 li.login.menu-item > ul.sub-menu > li.menu-item {
   width: 50%;
 }
 li.login.menu-item > ul.sub-menu > li.menu-item:first-child {
   width: 100%;
   padding-right: 10px;
   padding-left: 10px;
 }
 li.login.menu-item > ul.sub-menu > li.menu-item > a.raven-link-item {
   height: auto;
 }
 li.login.menu-item > ul.sub-menu > li.menu-item:first-child > a.raven-link-item {
   display: block;
   width: 100%;
   height: auto;
   margin: 0;
   padding: 10px 20px;
   font-size: 14px;
   font-weight: 400;
   line-height: 18px;
   text-align: center;
   color: var(--ytpi-color-primary);
   border-radius: 10px;
   background-color: #000000;
 }
 li.login.menu-item > ul.sub-menu > li.menu-item:first-child > a.raven-link-item:hover {
   color: #000000;
   background-color: var(--ytpi-color-primary);
 }
 .jupiterx-header .raven-nav-menu-horizontal > .raven-nav-menu .login.menu-item a.raven-link-item:not([class*="elementor"]),
 .jupiterx-header.is-active .raven-nav-menu-horizontal > .raven-nav-menu .login.menu-item a.raven-link-item:not([class*="elementor"]) {
   height: auto;
   line-height: 18px;
 }
 .jupiterx-header li.login.menu-item .raven-submenu {
   min-width: 290px !important;
 }
 .jupiterx-header.is-active li.login.menu-item .raven-submenu {
   top: 44px !important;
 }
 .jupiterx-header .raven-nav-menu-horizontal > .raven-nav-menu .login.menu-item > a.raven-link-item:not([class*="elementor"]) {
   display: inline-block;
   height: auto;
   padding: 2px 20px;
   line-height: 20px;
   color: #ffffff;
   border: 1px solid #000000;
   border-radius: 10px;
   background-color: #000000;
 }
}

/* ==========================================================================
  19. Mobile Raven navigation
  ========================================================================== */
@media (max-width: 1199px) {
 .jupiterx-header {
   display: flex;
   align-items: center;
   height: 90px;
 }
 .jupiterx-header > div {
   width: 100%;
 }
 .raven-breakpoint-tablet .raven-nav-menu-main {
   display: none;
 }
 .raven-breakpoint-mobile .raven-nav-menu-main .raven-megamenu-wrapper {
   position: absolute;
 }
 .raven-breakpoint-tablet .raven-nav-menu-toggle,
 .raven-breakpoint-tablet .raven-nav-menu-active.raven-nav-menu-dropdown {
   display: block;
 }
 .jupiterx-header .elementor-widget-raven-search-form {
   display: none;
 }
 .raven-nav-menu-dropdown {
   top: 38px !important;
   left: calc(-100vw + 41px) !important;
   width: 100vw !important;
   padding: 0;
   background-color: #ffffff;
 }
 .raven-nav-menu a.raven-link-item {
   border-bottom: 1px solid #dedede;
 }
 [class*="elementor-"] .elementor-element[class*="elementor-element-"] .menu-item .sub-menu .menu-item .raven-link-item {
   padding-left: 48px;
 }
 [class*="elementor-"] .elementor-element[class*="elementor-element-"] .menu-item .sub-menu .menu-item .sub-menu .raven-link-item {
   padding-left: 64px;
 }
 .raven-nav-menu li.menu-item > a.raven-link-item .sub-arrow {
   transition: 250ms ease-in-out;
 }
 .raven-nav-menu li.menu-item > a.raven-link-item.highlighted .sub-arrow {
   transform: rotate(180deg);
 }
 .raven-nav-menu-dropdown > .raven-container {
   max-width: none !important;
 }
}
/* ==========================================================================
  20. Elementor pricing table
  ========================================================================== */
.page-link {
 text-decoration: none !important;
}
.page-link:hover {
 color: var(--ytpi-color-primary);
}
.page-item.active .page-link {
 border-color: var(--ytpi-color-primary);
 background-color: var(--ytpi-color-primary);
}
.elementor-price-table .elementor-price-table__header {
 background-color: var(--ytpi-color-grey--lighter);
}
.elementor-widget-price-table.is-highlighted .elementor-price-table .elementor-price-table__header {
 background-color: var(--ytpi-color-primary);
}
.elementor-price-table .elementor-price-table__heading {
 font-size: 14px;
 font-weight: 700;
 line-height: var(--ytpi-typography-line-height--default);
 color: var(--ytpi-color-text);
}
.elementor-price-table .elementor-price-table__price {
 padding-top: 20px;
 font-weight: 400;
 color: var(--ytpi-color-grey--dark);
 background-color: var(--ytpi-color-grey--lighter);
}
.elementor-widget-price-table.is-highlighted .elementor-price-table .elementor-price-table__price {
 background-color: var(--ytpi-color-primary);
}
.elementor-price-table .elementor-price-table__price .elementor-price-table__currency {
 font-size: 24px;
 line-height: 1;
}
.elementor-price-table .elementor-price-table__price .elementor-price-table__integer-part {
 font-size: 48px;
 line-height: 1;
}
.elementor-widget-price-table .elementor-widget-container {
 border: 1px solid var(--ytpi-color-grey--light);
 background-color: #ffffff;
}
.elementor-widget-price-table.is-highlighted .elementor-widget-container {
 position: relative;
 z-index: 10;
 margin-top: -24px;
 border: none;
 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
}
.elementor-price-table .elementor-price-table__features-list i,
[class*="elementor-"] .elementor-element[class*="elementor-element-"] .elementor-price-table__features-list li::before {
 display: none;
}
.elementor-price-table .elementor-price-table__features-list li .elementor-price-table__feature-inner {
 margin-bottom: var(--ytpi-layout-section-spacing-y--smaller);
 font-size: 20px;
 line-height: 1.666666;
}
.elementor-price-table .elementor-price-table__features-list {
 padding: 32px;
}
.elementor-price-table .elementor-price-table__footer {
 display: none;
}
@media (max-width: 1023px) {
 .elementor-price-table .elementor-price-table__features-list li .elementor-price-table__feature-inner span {
   font-size: 16px;
 }
 .elementor-price-table .elementor-price-table__features-list {
   padding: 24px;
 }
}
@media (max-width: 767px) {
 .elementor-widget-price-table.is-highlighted .elementor-widget-container {
   margin-top: 0;
 }
 .elementor-column:not(:last-child) .elementor-widget-price-table {
   margin-bottom: 32px;
 }
 .elementor-price-table .elementor-price-table__features-list {
   padding: 16px;
 }
 #action_bar ul li {
   border-left: 5px solid #000000;
 }
 #action_bar ul li:first-of-type {
   border-left: none;
 }
}
/* ==========================================================================
  21. Custom buttons, boxes, and content
  ========================================================================== */
.box {
 display: flex;
 flex-flow: column wrap;
 justify-content: center;
 min-height: 200px;
 padding: 1em;
}
.box--small {
 min-height: 100px;
}
.box--primary {
 background-color: var(--ytpi-color-primary);
}
.box .jupiter-donut-height-full {
 display: flex;
 flex-flow: column nowrap;
 justify-content: center;
}
.box .jupiter-donut-height-full > *:last-child {
 margin-bottom: 0;
}
.ytpi-button:not([class*="vc_btn"]):not([class*="elementor-element"]),
.ytpi-button[class*="vc_btn"] a,
.ytpi-button[class*="elementor-element"] a {
 display: inline-block !important;
 padding: 0.4em 1.6em !important;
 font-size: 1rem !important;
 color: var(--ytpi-color-text) !important;
 border: 2px solid transparent !important;
 border-radius: 0.8em !important;
 background-color: #ffffff !important;
 transition: var(--ytpi-settings-transition--default);
}
.ytpi-button:not([class*="vc_btn"]):not([class*="elementor-element"]) * {
 padding: 0 !important;
 font-size: inherit !important;
 color: inherit !important;
 border: none !important;
 border-radius: 0 !important;
 background-color: transparent !important;
}
.ytpi-button:not([class*="vc_btn"]):not([class*="elementor-element"]):hover,
.ytpi-button:not([class*="vc_btn"]):not([class*="elementor-element"]):focus,
.ytpi-button:not([class*="vc_btn"]):not([class*="elementor-element"]):active,
.ytpi-button[class*="vc_btn"] a:hover,
.ytpi-button[class*="vc_btn"] a:focus,
.ytpi-button[class*="vc_btn"] a:active,
.ytpi-button[class*="elementor-element"] a:hover,
.ytpi-button[class*="elementor-element"] a:focus,
.ytpi-button[class*="elementor-element"] a:active {
 color: #ffffff !important;
 background-color: var(--ytpi-color-text) !important;
}
.ytpi-button--default:not([class*="vc_btn"]):not([class*="elementor-element"]),
.ytpi-button--default[class*="vc_btn"] a,
.ytpi-button--default[class*="elementor-element"] a {
 border-color: var(--ytpi-color-text) !important;
 background-color: transparent !important;
}
.ytpi-button--primary:not([class*="vc_btn"]):not([class*="elementor-element"]),
.ytpi-button--primary[class*="vc_btn"] a,
.ytpi-button--primary[class*="elementor-element"] a {
 border-color: var(--ytpi-color-primary) !important;
 background-color: var(--ytpi-color-primary) !important;
}
.ytpi-button--primary:not([class*="vc_btn"]):not([class*="elementor-element"]):hover,
.ytpi-button--primary:not([class*="vc_btn"]):not([class*="elementor-element"]):focus,
.ytpi-button--primary:not([class*="vc_btn"]):not([class*="elementor-element"]):active,
.ytpi-button--primary[class*="vc_btn"] a:hover,
.ytpi-button--primary[class*="vc_btn"] a:focus,
.ytpi-button--primary[class*="vc_btn"] a:active,
.ytpi-button--primary[class*="elementor-element"] a:hover,
.ytpi-button--primary[class*="elementor-element"] a:focus,
.ytpi-button--primary[class*="elementor-element"] a:active {
 color: var(--ytpi-color-text) !important;
 background-color: transparent !important;
}
.single-post-tags,
.single-post-categories {
 margin-bottom: 1rem;
 font-size: 0.75rem;
}
.single-post-tags a {
 font-size: inherit;
 line-height: inherit;
}
iframe[id*="player_"] {
 max-width: 100%;
}
.elementor-element .infobox {
 margin-top: 1rem;
}
.infobox {
 overflow-x: auto;
 padding: 0.8rem;
 background-color: var(--ytpi-color-grey--light);
 -webkit-overflow-scrolling: touch;
}
.infobox table {
 margin-bottom: 0;
}
.infobox table td {
 padding: 0.4rem;
 line-height: 1.25;
 text-align: left;
}
/* ==========================================================================
  22. Elementor widgets and layout
  ========================================================================== */
.elementor-widget-button a {
 text-decoration: none;
}
a.elementor-button {
 padding: 8px 32px;
 font-size: 1rem;
 line-height: normal;
 color: #ffffff;
 border: 2px solid #000000;
 border-radius: 0.8em;
 background-color: #000000;
}
@media (max-width: 1199px) {
 .elementor-row {
   flex-wrap: wrap;
 }
 .container_box_yellow--info .elementor-column {
   width: 50%;
 }
 .container_box_yellow--info .elementor-column:not(:first-child):not(:nth-child(2)) {
   margin-top: var(--ytpi-layout-section-spacing-y--small);
 }
}
@media (max-width: 991px) {
 .container_box_yellow--info .elementor-column {
   width: 100%;
 }
 .container_box_yellow--info .elementor-column:not(:first-child) {
   margin-top: var(--ytpi-layout-section-spacing-y--default);
 }
 .container_box_yellow--info .elementor-row {
   max-width: 480px;
   margin: auto;
 }
}

/* ==========================================================================
  23. Chat, sidebar navigation, and integrations
  ========================================================================== */
.zammad-chat {
 left: 20px;
}
.zammad-chat-header {
 height: auto !important;
}
.zammad-chat-icon,
.zammad-chat-header-icon > * {
 font-size: 0.6rem;
}
#ProvenExpert_widgetbar_container ~ .zammad-chat {
 bottom: 44px !important;
}
.ytpi-bs-affix {
 visibility: visible;
 width: 230px;
 max-width: 100%;
 padding: 10px;
 opacity: 1;
 background-color: rgba(255, 255, 255, 0.9);
 transition: var(--ytpi-settings-transition--default);
}
.ytpi-bs-affix:hover {
 background-color: rgba(255, 255, 255, 1);
}
.ytpi-bs-affix.affix-top {
 z-index: 0;
 visibility: hidden;
 opacity: 0;
}
.ytpi-bs-affix ul li a,
.ytpi-bs-affix ul li a * {
 font-size: 13px;
 line-height: 20px;
 text-decoration: none !important;
}
.ytpi-bs-affix ul li a {
 display: block;
 padding: 0.5em;
 border-left: 5px solid var(--ytpi-color-grey--lighter);
}
.ytpi-bs-affix ul li a:hover {
 color: #000000;
 text-decoration: underline !important;
}
.ytpi-bs-affix ul li.active a {
 border-left-color: var(--ytpi-color-primary);
}
@media (max-width: 1790px) {
 .ytpi-bs-affix {
   display: none !important;
 }
 #action_bar {
   display: none;
 }
}
@media (max-width: 767px) {
 .zammad-chat {
   left: 0;
 }
 #ProvenExpert_widgetbar_container ~ .zammad-chat {
   bottom: 0 !important;
 }
}
/* ==========================================================================
  24. Landing page and Mailchimp
  ========================================================================== */
.page-id-3765 .elementor-element .elementor-icon-list-item *,
.page-id-3765 .elementor-element .elementor-icon-list-item a,
.page-id-3765 .elementor-text-editor *,
.page-id-3765 .elementor-price-table__feature-inner {
 font-size: 0.75rem;
}
.mc4wp-form label {
 display: block;
}
.mc4wp-form select option,
.mc4wp-form #confirm_ds {
 font-size: 14px;
}
.mc4wp-form input[type="submit"] {
 padding: 8px 30px;
 font-size: 16px;
 font-weight: 500;
 color: #ffffff;
 border: 3px solid #000000;
 border-radius: 15px;
 background-color: #000000;
 fill: #ffffff;
}
.mc4wp-form input[type="submit"]:hover {
 color: #000000;
 border-color: var(--ytpi-color-primary);
 background-color: var(--ytpi-color-primary);
}
/* ==========================================================================
  25. Utility classes
  ========================================================================== */
.background-color-grey--lighter {
 background-color: var(--ytpi-color-grey--lighter) !important;
}
.background-color-grey--light {
 background-color: var(--ytpi-color-grey--light) !important;
}
.background-color-grey {
 background-color: var(--ytpi-color-grey) !important;
}
.background-color-primary {
 background-color: var(--ytpi-color-primary) !important;
}
.z-index--smaller {
 z-index: var(--ytpi-settings-z-index--smaller) !important;
}
.z-index--small {
 z-index: var(--ytpi-settings-z-index--small) !important;
}
.z-index--default {
 z-index: var(--ytpi-settings-z-index--default) !important;
}
.z-index--big {
 z-index: var(--ytpi-settings-z-index--big) !important;
}
.z-index--bigger {
 z-index: var(--ytpi-settings-z-index--bigger) !important;
}
.mt-1,
.my-1,
.m-1 {
 margin-top: 1rem !important;
}
.mr-1,
.mx-1,
.m-1 {
 margin-right: 1rem !important;
}
.mb-1,
.my-1,
.m-1 {
 margin-bottom: 1rem !important;
}
.ml-1,
.mx-1,
.m-1 {
 margin-left: 1rem !important;
}
.mt-2,
.my-2,
.m-2 {
 margin-top: 2rem !important;
}
.mr-2,
.mx-2,
.m-2 {
 margin-right: 2rem !important;
}
.mb-2,
.my-2,
.m-2 {
 margin-bottom: 2rem !important;
}
.ml-2,
.mx-2,
.m-2 {
 margin-left: 2rem !important;
}
.mt-3,
.my-3,
.m-3 {
 margin-top: 3rem !important;
}
.mr-3,
.mx-3,
.m-3 {
 margin-right: 3rem !important;
}
.mb-3,
.my-3,
.m-3 {
 margin-bottom: 3rem !important;
}
.ml-3,
.mx-3,
.m-3 {
 margin-left: 3rem !important;
}
@media (max-width: 1199px) {
 .mb-1-tablet--default {
   margin-bottom: 1em !important;
 }
}
@media (max-width: 767px) {
 .mb-1-mobile--default {
   margin-bottom: 1em !important;
 }
}
/* ==========================================================================
  26. Table of contents
  ========================================================================== */
#ez-toc-container {
 position: fixed;
 z-index: 100;
 top: 50%;
 left: 0;
 width: 240px;
 max-width: 100%;
 padding: 1rem;
 visibility: visible;
 opacity: 1;
 background-color: rgba(255, 255, 255, 0.75);
 transform: translateY(-50%);
 transition: var(--ytpi-settings-transition--default);
}
#ez-toc-container:hover {
 background-color: rgba(255, 255, 255, 1);
}
#ez-toc-container.affix-top {
 z-index: 0;
 visibility: hidden;
 opacity: 0;
}
#ez-toc-container ul,
#ez-toc-container li {
 margin: 0;
}
#ez-toc-container ul {
 list-style: none;
}
#ez-toc-container ul li a,
#ez-toc-container ul li a * {
 font-size: var(--ytpi-typography-font-size--smaller);
 text-decoration: none !important;
}
#ez-toc-container ul li a {
 display: block;
 padding: 0 0.5em;
 border-left: 5px solid var(--ytpi-color-grey--lighter);
}
#ez-toc-container ul li.active a {
 border-left-color: var(--ytpi-color-primary);
}
@media (max-width: 1559px) {
 #ez-toc-container {
   display: none !important;
 }
}
/* ==========================================================================
  27. Miscellaneous
  ========================================================================== */
.page-id-5735 #salia-cloud {
 display: block;
}
.blockquote-author {
 font-size: inherit;
 font-weight: 300;
}
/* ==========================================================================
  28. ALECS Magazine
  ========================================================================== */
.custom-magazin-grid .magazin-title,
.custom-magazin-grid .magazin-title a {
 font-family: "Baloo", "Baloo Bhai 2", sans-serif !important;
 font-size: 18px !important;
 font-weight: 700 !important;
 line-height: 1.2 !important;
 letter-spacing: 0 !important;
}
.custom-magazin-grid .magazin-excerpt {
 font-family: "Open Sans", Helvetica, Arial, sans-serif !important;
 font-size: 12px !important;
 font-weight: 400 !important;
 line-height: 1.55 !important;
}
.custom-magazin-grid .magazin-readmore a {
 font-family: "Open Sans", Helvetica, Arial, sans-serif !important;
 font-size: 10px !important;
 font-weight: 700 !important;
 line-height: 1.3 !important;
 letter-spacing: 0 !important;
}
.custom-magazin-grid .magazin-expert-name,
.custom-magazin-grid .magazin-date {
 font-family: "Open Sans", Helvetica, Arial, sans-serif !important;
 font-size: 10px !important;
 font-weight: 400 !important;
 line-height: 1.4 !important;
}
.custom-magazin-grid .magazin-category {
 font-family: "Open Sans", Helvetica, Arial, sans-serif !important;
 font-size: 10px !important;
 font-weight: 700 !important;
 line-height: 1 !important;
 letter-spacing: 0 !important;
 text-transform: none !important;
}
@media (min-width: 1200px) {
 .jupiterx-main-content > .container:has(.custom-magazin-grid) {
   width: 100% !important;
   max-width: 1500px !important;
   margin-right: auto !important;
   margin-left: auto !important;
   padding-right: 24px !important;
   padding-left: 24px !important;
   overflow: visible !important;
 }
 .custom-magazin-grid {
   width: 100% !important;
   max-width: none !important;
   margin: 0 !important;
   gap: 18px !important;
   grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
   transform: none !important;
 }
}