.elementor-kit-7{--e-global-color-primary:#4E4E4E;--e-global-color-secondary:#2E2E2E;--e-global-color-text:#FFFFFF;--e-global-color-accent:#0184CC;--e-global-color-d5ed464:#00418C;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-text );font-family:"ff-meta-web-pro", Sans-serif;font-size:18px;letter-spacing:1px;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#02010100;font-family:"exo-soft", Sans-serif;font-size:17px;font-weight:700;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-text );border-radius:0px 0px 0px 0px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-d5ed464 );color:var( --e-global-color-text );border-style:solid;border-color:var( --e-global-color-d5ed464 );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-text );}.elementor-kit-7 h1{font-family:"exo-soft", Sans-serif;}.elementor-kit-7 h2{font-family:"exo-soft", Sans-serif;}.elementor-kit-7 h3{font-family:"exo-soft", Sans-serif;}.elementor-kit-7 h4{font-family:"exo-soft", Sans-serif;}.elementor-kit-7 h5{font-family:"exo-soft", Sans-serif;}.elementor-kit-7 h6{font-family:"exo-soft", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */:root {
    --custom-border-radius: 10px;
    --custom-padding: 80px;
    --custom-margin: 100px;
}

@media (width < 768px) {
    :root {
        --custom-padding: 40px;
        --custom-margin: 50px;
    }
}

#wpadminbar {
    z-index: 99999999;
}

body {
    background-color: var(--e-global-color-primary);
    font-smooth: always;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

body::before {
    content: '';
    background-image: url(https://ceralab.dentalmedia3.de/wp-content/uploads/2025/08/ceralab-bg.svg);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    z-index: -1;
}

body::after {
    content: '';
    background: linear-gradient(180deg,rgba(0, 0, 0, .4) 0%, rgba(255, 255, 255, 0) 100%);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.cursor-follow {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
  z-index: 999999999999999;
  transition: transform 0.15s ease-out, opacity 0.5s ease-out;
}

.cursor-inner {
  width: 20px;
  height: 20px;
  background-color: #0184ccaa;
  border-radius: 50%;

  animation: pulse .7s ease-in-out infinite;
}

.cursor-outer {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #0184cc88;
  border-radius: 50%;
  z-index: -1;

  animation: burst .7s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}

@keyframes burst {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.7); }
}

p:last-of-type {
    margin-bottom: 0;
}

p+*, *+p {
    margin-top: 20px;
}

h2 {
    font-size: clamp(25px, 3vw, 32px);
}

.elementor-widget-text-editor a {
    border-bottom: 1px solid;
}

.elementor-widget-text-editor a:hover {
    color: var(--e-global-color-accent);
}

.padding-0 {
    padding: 0;
}

.section-margin {
    margin-top: var(--custom-margin);
    margin-bottom: var(--custom-margin);
}

.section-padding {
    padding-top: var(--custom-padding);
    padding-bottom: var(--custom-padding);
}

.accent-headline-small,
.accent-headline-small h1,
.accent-headline-small h2 {
    font-size: 20px;
    letter-spacing: 1px;
}

.fake-headline-big,
.fake-headline-big h2 {
    font-family: "exo-soft", sans-serif;
    font-weight: 700;
    font-size: clamp(35px, 5vw, 71px);
    hyphens: auto;
}

.button-accent .elementor-button {
    background-color: var(--e-global-color-accent);
    border-color: var(--e-global-color-accent);
}

.button-dark-blue .elementor-button {
    background-color: var(--e-global-color-d5ed464);
    border-color: var(--e-global-color-d5ed464);
}

.button-white .elementor-button {
    background-color: #fff;
}

.button-white .elementor-button span {
    color: var(--e-global-color-primary);
}

.button-white .elementor-button svg {
    fill: var(--e-global-color-primary);
}

.button-grey .elementor-button {
    background-color: var(--e-global-color-primary);
    border-color: var(--e-global-color-primary);
}

.button-grey-border .elementor-button {
    border-color: var(--e-global-color-primary);
    color: var(--e-global-color-primary);
}

.elementor-button:focus span {
    color: #fff;
}

.elementor-button:focus svg {
    fill: #fff;
}

.grayscale {
    filter: grayscale(1);
}

.text-dark {
    color: var(--e-global-color-primary);
}

.text-align-right {
    text-align: right;
}

figcaption {
    font-family: "exo-soft", sans-serif;
    font-style: normal;
    background-color: #fff;
    width: auto;
    display: inline-block;
    margin-top: 10px !important;
    padding: 15px 20px;
}

.elementor-widget-image {
    text-align: left;
}

@media (width > 1300px) {
    .margin-left-23 {
        margin-left: calc(23% - 20px);
    }
    
    .margin-left-25 {
        margin-left: calc(25% - 20px);
    }
}

@media (width < 1024px) {
    .margin-left-23,
    .margin-left-25 {
        width: 100% !important;
        padding: 0 10px;
    }
}

header .elementor-button {
    font-size: 24px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px;
    display: flex;
    height: 65px;
    align-items: center;
}

header .elementor-button:hover span {
    color: #fff;
}

header .elementor-button:hover svg {
    fill: #fff;
}

header .elementor-button .elementor-button-content-wrapper {
    gap: 10px;
}

header .elementor-button.custom-button {
    gap: 10px;
    text-align: left;
    text-transform: none !important;
}

header .elementor-button.custom-button .elementor-button-icon {
    font-size: 30px;
}

header .elementor-button.custom-button .accent {
    display: block;
    font-size: 18px;
    font-weight: 400;
}

header .elementor-sticky {
    z-index: 9999999 !important;
}

header .elementor-sticky--effects {
    background-color: var(--e-global-color-secondary);
}

header .button-white.close,
.popup-menu-open header .button-white.open {
    display: none;
}

.popup-menu-open header .button-white.close {
    display: block;
}

 @media (width < 1270px) {
     header .elementor-button-text {
         display: none;
     }
 }
 
 @media (width < 1024px) {
     header .elementor-button {
         padding: 8px !important;
         height: auto;
     }
     
     header .elementor-button.custom-button .elementor-button-icon {
         font-size: inherit;
     }
     
     header #nav {
         gap: 10px
     }
 }
 
 .dialog-prevent-scroll header .elementor-sticky {
         background-color: rgba(255, 255, 255, 0.4);
          -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
 }

body.dialog-prevent-scroll .elementor-sticky {
    background-color: transparent;
}

/*body.dialog-prevent-scroll:not(.popup-menu-open)::after {
    z-index: 9999999 !important;
}*/

.popup-normal {
    z-index: 99999999 !important;
}

.popup-normal .dialog-widget-content .e-con-inner {
    padding: 25px;
}

.popup-normal .dialog-close-button {
    font-size: 25px;
    inset-inline-end: 10px;
    margin-top: -7px;
}

.popup-normal .dialog-close-button svg {
    fill: var(--e-global-color-accent);
}

#hero .e-con-inner,
#hero .hero-inner {
    padding-block: 0;
}

#hero .hero-media {
    aspect-ratio: 16/8;
    width: 100%;
    height: auto;
}

#hero .hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#hero .header-cert {
    position: absolute;
    top: calc(50% - 75px);
    right: 0;
}

#hero .header-cert img {
    width: 100%;
    max-width: 150px;
}

@media (width > 1650px) {
    #hero .header-cert {
        right: -50px;
    }
}

#hero .hero-intro::before {
    content: '';
    background-color: var(--e-global-color-accent);
    position: absolute;
    opacity: .72;
}

@media (width > 1024px) {
    #hero .hero-intro {
        position: absolute;
        bottom: 0;
        padding: 50px 50px 100px 100px;
        margin: -100px 0 -50px -50px;
    }
    
    #hero .hero-intro::before {
        width: calc(100% + 100px);
    }
}

@media (width < 1025px)  {
    #hero .hero-inner {
        gap: 0 !important;
    }
    
    #hero .hero-media {
        aspect-ratio: unset !important;
    }
    
    #hero .hero-intro {
        width: 100%;
        padding: 20px;
    }
    
    #hero .header-cert {
        display: none;
    }
    
    #hero .hero-intro .elementor-button {
        font-size: 14px;
        padding: 10px;
    }
    
    #hero .elementor-element-a5a2085 {
        gap: 10px
    }
}

#main-content {
    padding: 0;
}

/* Startseite */


@media (width < 768px) {
    .elementor-element-54343c7 .elementor-widget-image {
        text-align: center;
    }
    
    .elementor-element-54343c7 img {
        width: 100%;
        max-width: 150px;
    }
}

@media (width < 1024px) {
    .section-image-right,
    .section-video-text {
        padding: 20px;
    }
}

/* Sections */

.section-border::before {
    content: '';
    width: 80%;
    height: 75%;
    border: 1px solid #fff;
    border-left: 0;
}

.section-video-text .e-con-inner {
    gap: 0
}

.section-video-text .text {
    background-color: var(--e-global-color-accent);
    padding: clamp(20px, 3vw, 50px);
}

.section-video-text .text.bg-element::before {
    content: '';
    background-image: url(https://ceralab.dentalmedia3.de/wp-content/uploads/2025/08/logo-element-dark.svg);
    background-position: bottom;
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.section-video-text .video img {
    width: 100%;
}

.section-image-right .text {
    padding: clamp(20px, 3vw, 50px);
    background-color: #fff;
    z-index: 4;
}

.section-image-right .image img {
    width: 100%;
}

.section-image-right .image .headline {
    font-family: "exo-soft", sans-serif;
    font-weight: 700;
    font-size: clamp(30px, 4vw, 100px);
    z-index: 9;
}

.section-image-right .image,
.section-image-right .video,
.section-video-text .video {
    padding: 0;
}

@media (width > 767px) {
    .margin-b-70 {
        margin-bottom: -70px;
    }
}

@media (width < 1024px) {
    .section-image-right .e-con-inner {
        gap: 0;
    }
    
    .section-border::before {
        width: 98%;
    }
}

/* Statement */

.statement {
    font-family: "exo-soft", sans-serif;
    font-weight: 700;
    font-size: clamp(20px, 3vw, 50px);
}

.statement-icon {
    position: absolute;
    top: -10px;
    left: -10px;
}

.statement-icon svg {
    fill: #fff;
}

@media (width < 1550px) {
    .statement-icon {
        top: -10px;
        left: 5px;
    }
}

@media (width < 768px) {
    .statement {
    font-size: 30px;
}
}

/* List */

.custom-list {
    --e-icon-list-icon-size: 25px !important;
    font-family: "exo-soft", sans-serif;
    font-weight: 700;
    font-size: clamp(18px, 2vw, 26px);
}

.custom-list .elementor-icon-list-item {
    align-items: flex-start;
}

.custom-list .elementor-icon-list-icon {
    margin-top: 0px;
}

.custom-list svg {
    fill: var(--e-global-color-accent);
}

.custom-list a {
    color: var(--e-global-color-primary);
}

.custom-list .elementor-icon-list-item:hover a {
    color: var(--e-global-color-accent);
}

.custom-list-alt ul {
    list-style-type: none;
}

.custom-list-alt ul li {
    position: relative;
}

.custom-list-alt ul li:not(:last-of-type) {
    margin-bottom: 10px;
}

.custom-list-alt ul li::before {
    content: '';
    background-image: url(https://ceralab.dentalmedia3.de/wp-content/uploads/2025/08/plus.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: -40px;
    top: 4px;
    width: 25px;
    height: 25px;
}

.custom-list-alt ul li strong,
.custom-list-alt ul li b {
    display: block;
}

@media (width < 1300px) {
    .custom-list {
        --e-icon-list-icon-size: 18px !important;
    }
    
    .custom-list .elementor-icon-list-icon {
        margin-top: 6px;
    }
}

@media (width < 768px) {
    .custom-list .elementor-icon-list-icon {
        margin-top: 4px;
    }
}

@media (width > 767px) {
    .custom-list {
        column-count: 2;
    }
}

/* Table */

.benefits-table {
    display: grid;
    grid-template-columns: 200px repeat(2, 1fr);
}

.cell {
    padding: 12px;
    text-align: center;
}

.cell.color0 {
    background-color: #414141;
    color: var(--e-global-color-primary);
}

.color1 {
    background-color: var(--e-global-color-primary);
    color: #fff;
}

.color2 {
    background-color: var(--e-global-color-accent);
}

.feature {
    font-family: "exo-soft", sans-serif;
    text-align: left;
    font-weight: 700;
    color: var(--e-global-color-text) !important;
}

.header {
    font-family: "exo-soft", sans-serif;
    font-size: 25px;
    font-weight: 700;
    background-color: #414141 !important;
}

.header.color2 {
    background-color: #06699f !important;
}

.header span {
    display: block;
}

.benefits-box-responsive {
  padding: 20px;
  margin-bottom: 20px;
}

.benefits-box-responsive h2 {
    font-family: "exo-soft", sans-serif;
    font-weight: 700;
}

.benefits-box-responsive ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.benefits-box-responsive li {
  margin-bottom: 10px;
}

@media (max-width: 76/px) {
  .benefits-table {
    display: block;
  }

  .cell {
    display: block;
    text-align: left;
  }

  .feature {
    margin-top: 8px;
  }
}

/* Akkordeon */

.custom-akkordeon.elementor-widget-n-accordion {
    --n-accordion-padding: 20px;
    --n-accordion-icon-size: 20px !important;
    color: var(--e-global-color-primary);
    background: #fff;
}

.custom-akkordeon.elementor-widget-n-accordion details:not(:last-of-type) {
    border-bottom: 2px solid var(--e-global-color-primary);
}

.custom-akkordeon.elementor-widget-n-accordion details > .elementor-element {
    padding: 0 var(--n-accordion-padding) var(--n-accordion-padding) var(--n-accordion-padding);
}

.custom-akkordeon.elementor-widget-n-accordion .e-n-accordion-item-title-text {
    font-family: "exo-soft", sans-serif;
    font-weight: 700;
    font-size: clamp(20px, 3vw, 20px);
}

.custom-akkordeon.elementor-widget-n-accordion .e-n-accordion-item-title,
.custom-akkordeon.elementor-widget-n-accordion .elementor-element {
    border: none;
}

/* Form */

.custom-form input,
.custom-form textarea {
    color: var(--e-global-color-primary);
    border: 1px solid var(--e-global-color-primary);
    border-radius: 0;
}

.custom-form label {
    margin-bottom: 5px;
}

.custom-form .elementor-button {
    background-color: var(--e-global-color-accent);
    border-color: var(--e-global-color-accent);
    flex-basis: unset !important;
}

/* Grids */

.grid-cards .card {
    padding: clamp(15px, 2vw, 40px);
    border: 1px solid #fff;
    transition: 300ms ease;
}

.grid-cards .card::before {
    content: '';
    width: 100%;
    height: 100%;
    border: 7px solid transparent;
    transition: 300ms ease;
}

.grid-cards .card:hover::before {
    border-color: #fff;
}

.grid-cards .elementor-icon-wrapper {
    text-align: left !important;
}

.grid-cards .card svg {
    fill: #fff;
}

.grid-cards .card .card-headline {
    font-size: clamp(18px, 2vw, 30px);
    font-family: "exo-soft", sans-serif;
    font-weight: 700;
}

.grid-cards .card .card-icon .elementor-icon-wrapper {
    text-align: left;
}

@media (width < 768px) {
    .grid-cards .card {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
    }
    
    .grid-cards .card .card-headline {
        max-width: 70% !important;
    }
}

.grid-cards-image {
    margin-top: 100px;
}

.grid-cards-image .image {
    gap: 0;
}

.grid-cards-image .image img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/12;
    object-fit: cover;
}

.grid-cards-image .image .icon {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background-color: var(--e-global-color-accent);
    padding: 10px;
    opacity: 0;
    transition: 300ms ease;
}

.grid-cards-image .card:hover .icon {
    opacity: 1;
}

.grid-cards-image .image .icon svg {
    width: 20px !important;
    height: 20px !important;
    fill: #fff;
}

.grid-cards-image .image .elementor-icon-wrapper {
    display: flex;
}

.grid-cards-image .title {
    font-family: "exo-soft", sans-serif;
    font-size: clamp(18px, 2vw, 25px);
}

.grid-cards-image .elementor-swiper-button-prev,
.grid-cards-image .elementor-swiper-button-next {
    top: -60px !important;
}

.grid-cards-image .elementor-swiper-button-prev {
    left: 10px !important;
}

.grid-cards-image .elementor-swiper-button-next {
    left: 90px;
}

.grid-cards-image .elementor-swiper-button svg {
    fill: var(--e-global-color-text) !important;
    border: 1px solid var(--e-global-color-text);
    height: 50px !important;
    width: 70px !important;
    padding: 10px;
}

.grid-cards-image-bg {
    margin-top: clamp(15px, 3vw, 50px);
}

.grid-cards-image-bg .card {
    padding: 50px;
    aspect-ratio: 16 / 9;
    background-size: cover;
    object-fit: cover;
    justify-content: flex-end;
    filter: grayscale(1);
}

.grid-cards-image-bg .card::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0, .4);
}

/* Logos */

.loop-logos {
    margin-top: 100px;
}

.loop-logos img {
    width: 100%;
    height: 70px;
    aspect-ratio: 16/6;
    object-fit: contain;
}

.loop-logos .elementor-swiper-button-prev,
.loop-logos .elementor-swiper-button-next {
    top: -70px !important;
}

.loop-logos .elementor-swiper-button-prev {
    left: 10px !important;
}

.loop-logos .elementor-swiper-button-next {
    left: 90px;
}

.loop-logos .elementor-swiper-button svg {
    fill: var(--e-global-color-text) !important;
    border: 1px solid var(--e-global-color-text);
    height: 50px !important;
    width: 70px !important;
    padding: 10px;
}

@media (width > 1600px) {
    .loop-logos {
        min-width: calc(110vw - ((100vw - 1600px) / 2)) !important;
    }
}

/* Popups */

.elementor-location-popup {
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

@media (width > 1023px) {
    .popup-menu-spacer {
        min-height: 150px;
    }
}

@media (width < 1023px) {
    .popup-menu-spacer {
        min-height: 50px;
    }
}

@media (width > 1024px) {
    .section-video-text .e-con-inner {
        align-items: flex-end !important;
        margin-bottom: 100px;
    }
    
    .section-video-text .text {
        margin-left: -50px;
        margin-bottom: -100px;
        /*margin-top: 200px;*/
    }
    
    .section-image-right .text {
        margin-top: 300px;
    }
    
    .section-image-right .text.margin-top-500 {
        margin-top: 500px;
    }
    
    .section-image-right .image {
        position: absolute;
        padding: 0;
        width: 55%;
        height: 100%;
        right: 0;
        z-index: 2;
        gap: 0;
    }
    
    .section-image-right .image img {
        width: 100%;
        height: auto;
        max-height: 650px;
        aspect-ratio: 5 / 6;
        object-fit: cover;
    }
    
    .section-image-right .image .headline {
        margin-left: 150px;
        }
}

/* Footer */

#footer {
    margin-top: 150px;
    font-family: "exo-soft", sans-serif;
    background: linear-gradient(0deg,rgba(20, 20, 20, 1) 0%, var(--e-global-color-primary) 50%);
}

#footer .footer-contact {
    background-color: var(--e-global-color-accent);
    padding: 50px;
    cursor: pointer;
}

#footer .footer-contact .headline {
    font-size: clamp(25px, 2vw, 50px);
}

#footer .footer-contact .elementor-icon-list-items {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
}

#footer .footer-contact .elementor-icon-list-icon  svg {
    fill: #fff;
    width: 20px;
    height: 20px;
}

#footer .logo {
    width: 100%;
    max-width: 400px;
}

#footer .footer-info .elementor-icon-box-icon svg {
    fill: #fff;
}

#footer .footer-info .elementor-icon {
    font-size: 30px;
}

#footer .footer-info table,
#footer .footer-info tr,
#footer .footer-info td {
    padding: 0;
    border: 0;
    background: transparent;
    margin: 0;
}

#footer .footer-bottom::before {
    content: '';
    width: calc(100% - 20px);
    height: 1px;
    background-color: #fff;
    margin: auto;
    left: 0;
    right: 0;
}

#footer .elementor-icon.elementor-social-icon {
    background-color: transparent;
    width: inherit;
}

#footer .elementor-social-icons-wrapper {
    word-spacing: 10px;
}

@media (width > 767px) {
    #footer .footer-contact {
        top: -220px;
    }
    
    #footer .footer-info {
    margin-top: 100px;
}
}

@media (width < 768px) {
    #footer {
        margin-top: 0;
    }
}

footer a.custom-footer-button {
    border: 2px solid;
    padding: 8px 15px;
    display: inline-block;
    margin-top: 10px;
}

footer a.custom-footer-button:hover {
    background-color: #fff;
    color: var(--e-global-color-primary);
}

footer .footer-imp-dat a {
    border: 0 none;
}/* End custom CSS */