/*----------------------------------------------------------------------------------------------------------------------
Project:	    LifeCoach
Version:        1.0.0

Default Color   #f4b200;

Body copy:		'Poppins', sans-serif; 14px;
Headers:		'Nunito', sans-serif;

----------------------------------------------------------------------------------------------------------------------*/

/***********************************************************************************************************************
A. Basic Styling
***********************************************************************************************************************/

/*-------------------------------------------
  -- Styling - Colors, Font Size, Font Family
-------------------------------------------*/

body {
    color: #333;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 1.1rem;
    margin: 0;
    padding: 0;
}

html {
    font-size: 80%;
}

h1, h2, h3, h4, h5 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
}

h1, .ts-h1 {
    font-size: 2.5rem;
}

h2, .ts-h2 {
    font-size: 1.5rem;
}

h3, .ts-h3 {
    font-size: 1.25rem;
    margin-bottom: 1.5625rem;
}

h4, .ts-h4 {
    margin-bottom: 1.875rem;
}

h5, .ts-h5 {
    font-size: 1rem;
    font-weight: 600;
}

h6, .ts-h6 {
    font-size: .9375rem;
}

/* NEW */

/***********************************************************************************************************************
B. Helpers
***********************************************************************************************************************/

/*-------------------------------------------
  -- Animations
-------------------------------------------*/

[data-animate] {
    opacity: 0;
    animation-fill-mode: forwards;
    animation-duration: .6s;
    animation-timing-function: ease;
}

/* Fade In Up */

@keyframes ts-fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 1.25rem, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.ts-fadeInUp {
    animation-name: ts-fadeInUp;
}

/* Fade In Down */

@keyframes ts-fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -1.25rem, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.ts-fadeInDown {
    animation-name: ts-fadeInDown;
}

/* Fade In Left */

@keyframes ts-fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-1.25rem, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.ts-fadeInLeft {
    animation-name: ts-fadeInLeft;
}

/* Fade In Right */

@keyframes ts-fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(1.25rem, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.ts-fadeInRight {
    animation-name: ts-fadeInRight;
}

/* Zoom In */

@keyframes ts-zoomIn {
    from {
        opacity: 0;
        transform: scale(.5);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.ts-zoomIn {
    animation-name: ts-zoomIn;
}

/* Zoom Out In */

@keyframes ts-zoomOutIn {
    from {
        opacity: 0;
        transform: scale(1.1);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.ts-zoomOutIn {
    animation-name: ts-zoomOutIn;
}

/* Zoom In Short */

@keyframes ts-zoomInShort {
    from {
        opacity: 0;
        transform: scale(.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.ts-zoomInShort {
    animation-name: ts-zoomInShort;
}

/*-------------------------------------------
  -- Borders
-------------------------------------------*/

.ts-border-radius__sm {
    border-radius: .125rem;
    overflow: hidden;
}

.ts-border-radius__md {
    border-radius: .25rem;
    overflow: hidden;
}

.ts-border-radius__lg {
    border-radius: .5rem;
    overflow: hidden;
}

.ts-border-radius__xl {
    border-radius: .75rem;
    overflow: hidden;
}

.ts-border-radius__pill {
    border-radius: 6.25rem !important;
    overflow: hidden;
}

.ts-border-radius__round-shape {
    border-radius: 187.5rem;
    overflow: hidden;
}

.ts-border-none {
    border: none;
}

.ts-border-bottom {
    border-bottom: .0625rem solid rgba(0, 0, 0, .1);
}

.ts-font-color__white {
    color: #fff;
}

.ts-font-color__black {
    color: #000;
}

.ts-font-color__primary {
    color: #f4b200;
}

/*-------------------------------------------
  -- Background
-------------------------------------------*/

[data-bg-image] {
    background-size: cover;
    background-position: 50%;
}

.ts-background {
    bottom: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    position: absolute;
    width: 100%;
    z-index: -2;
}

.ts-background .ts-background {
    height: 100%;
    width: 100%;
}

.ts-background-repeat {
    background-repeat: repeat;
    background-size: inherit;
}

.ts-background-repeat .ts-background-image {
    background-repeat: repeat;
    background-size: inherit;
}

.ts-background-image, .ts-img-into-bg {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;
    height: 100%;
    overflow: hidden;
    width: 100%;
}

.ts-background-image img, .ts-img-into-bg img {
    display: none;
}

.ts-background-original-size {
    background-size: inherit;
}

.ts-background-size-cover {
    background-size: cover;
}

.ts-background-size-contain {
    background-size: contain;
}

.ts-background-repeat-x {
    background-repeat: repeat-x;
}

.ts-background-repeat-y {
    background-repeat: repeat-y;
}

.ts-background-repeat-repeat {
    background-repeat: repeat;
    background-size: inherit;
}

.ts-background-position-top {
    background-position: top;
}

.ts-background-position-center {
    background-position: center;
}

.ts-background-position-bottom {
    background-position: bottom;
}

.ts-background-position-left {
    background-position-x: left !important;
}

.ts-background-position-right {
    background-position-x: right !important;
}

.ts-background-particles {
    height: 120%;
    left: 0;
    margin-left: -10%;
    margin-top: -10%;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 120%;
    z-index: 1;
}

.ts-background-is-dark {
    color: #fff;
}

.ts-background-is-dark .form-control {
    box-shadow: 0 0 0 .125rem rgba(255, 255, 255, .2);
}

.ts-background-is-dark .form-control:focus {
    box-shadow: 0 0 0 .125rem rgba(255, 255, 255, .4);
}

.ts-background-is-dark .ts-btn-border-muted {
    border-color: rgba(255, 255, 255, .1);
}

.ts-video-bg {
    height: 100%;
}

.ts-video-bg .fluid-width-video-wrapper {
    height: 100%;
}

/*-------------------------------------------
  -- Height
-------------------------------------------*/

.ts-height__50px {
    height: 3.125rem;
}

.ts-height__100px {
    height: 6.25rem;
}

.ts-height__150px {
    height: 9.375rem;
}

.ts-height__200px {
    height: 12.5rem;
}

.ts-height__250px {
    height: 15.625rem;
}

.ts-height__300px {
    height: 18.75rem;
}

.ts-height__350px {
    height: 21.875rem;
}

.ts-height__400px {
    height: 25rem;
}

.ts-height__450px {
    height: 28.125rem;
}

.ts-height__500px {
    height: 31.25rem;
}

.ts-height__600px {
    height: 37.5rem;
}

.ts-height__700px {
    height: 43.75rem;
}

.ts-height__800px {
    height: 50rem;
}

.ts-height__900px {
    height: 56.25rem;
}

.ts-height__1000px {
    height: 62.5rem;
}

/*-------------------------------------------
  -- Margin
-------------------------------------------*/

.ts-mt__0 {
    margin-top: 0 !important;
}

.ts-mr__0 {
    margin-right: 0 !important;
}

.ts-mb__0 {
    margin-bottom: 0 !important;
}

.ts-ml__0 {
    margin-left: 0 !important;
}

/*-------------------------------------------
  -- No Gutters - Removes padding from col*
-------------------------------------------*/

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.no-gutters > .col, .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

/*-------------------------------------------
  -- Opacity
-------------------------------------------*/

.ts-opacity__5 {
    opacity: .05;
}

.ts-opacity__10 {
    opacity: .1;
}

.ts-opacity__20 {
    opacity: .2;
}

.ts-opacity__30 {
    opacity: .3;
}

.ts-opacity__40 {
    opacity: .4;
}

.ts-opacity__50 {
    opacity: .5;
}

.ts-opacity__60 {
    opacity: .6;
}

.ts-opacity__70 {
    opacity: .7;
}

.ts-opacity__80 {
    opacity: .8;
}

.ts-opacity__90 {
    opacity: .9;
}

/*-------------------------------------------
  -- Overflow
-------------------------------------------*/

.ts-overflow__hidden {
    overflow: hidden;
}

.ts-overflow__visible {
    overflow: visible;
}

/*-------------------------------------------
  -- Padding
-------------------------------------------*/

.ts-pt__0 {
    padding-top: 0 !important;
}

.ts-pr__0 {
    padding-right: 0 !important;
}

.ts-pb__0 {
    padding-bottom: 0 !important;
}

.ts-pl__0 {
    padding-left: 0 !important;
}

/*-------------------------------------------
  -- Position
-------------------------------------------*/

/* Top */

.ts-top__0 {
    top: 0%;
}

.ts-top__50 {
    top: 50%;
}

.ts-top__100 {
    top: 100%;
}

/* Right */

.ts-right__0 {
    right: 0%;
}

.ts-right__50 {
    right: 50%;
}

.ts-right__100 {
    right: 100%;
}

.ts-right__inherit {
    right: inherit;
}

/* Bottom */

.ts-bottom__0 {
    bottom: 0%;
}

.ts-bottom__50 {
    bottom: 50%;
}

.ts-bottom__100 {
    bottom: 100%;
}

/* Left */

.ts-left__0 {
    left: 0%;
}

.ts-left__50 {
    left: 50%;
}

.ts-left__100 {
    left: 100%;
}

.ts-left__inherit {
    left: inherit;
}

.ts-push-left__100 {
    transform: translateX(100%);
}

.ts-push-down__50 {
    transform: translateY(50%);
}

/*-------------------------------------------
  -- Shadow
-------------------------------------------*/

.ts-shadow__sm {
    box-shadow: 0 .125rem .3125rem rgba(0, 0, 0, .1);
}

.ts-shadow__md {
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
}

.ts-shadow__lg {
    box-shadow: .375rem .3125rem 1.5625rem rgba(0, 0, 0, .2);
}

.ts-shadow__none {
    box-shadow: none !important;
}

/*-------------------------------------------
  -- Typography
-------------------------------------------*/

a {
    color: #f4b200;
    transition: .3s ease;
}

a:hover {
    color: rgb(194, 142, 0);
    text-decoration: none;
}

p {
    line-height: 2.0rem;
    margin-bottom: 1.5rem;
    color: rgba(0, 0, 0, .8);
}

.ts-font-weight__normal {
    font-weight: normal;
}

.ts-font-weight__light {
    font-weight: lighter;
}

.ts-font-weight__bold {
    font-weight: bold;
}

.ts-text-small {
    font-size: .8125rem !important;
}

.ts-xs-text-center {
}

/*-------------------------------------------
  -- Title
-------------------------------------------*/

.ts-title {
}

.ts-title h5 {
    font-weight: normal;
    opacity: .5;
}

/*-------------------------------------------
  -- Utilities
-------------------------------------------*/

.ts-element {
    position: relative;
}

/* Social Icons */

.ts-social-icons {
    font-size: 120%;
}

.ts-social-icons a {
    padding: .125rem .25rem;
    color: #9e9e9e;
}

/* Overlay */

.ts-has-overlay {
    position: relative;
}

.ts-has-overlay:after {
    background-color: #000;
    content: "";
    height: 100%;
    left: 0;
    opacity: .5;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

/* Flip x */

.ts-flip-x {
    transform: scaleY(-1);
}

/* Flip Y */

.ts-flip-y {
    transform: scaleX(-1);
}

.ts-video-bg {
    height: 100%;
}

.ts-video-bg .fluid-width-video-wrapper {
    height: 100%;
}

.ts-video-bg iframe {
    border: 0;
    height: 100%;
    width: 100%;
}

/*-------------------------------------------
  -- Width
-------------------------------------------*/

.ts-width__10px {
    width: .625rem;
}

.ts-width__20px {
    width: 1.25rem;
}

.ts-width__30px {
    width: 1.875rem;
}

.ts-width__40px {
    width: 2.5rem;
}

.ts-width__50px {
    width: 3.125rem;
}

.ts-width__100px {
    width: 6.25rem;
}

.ts-width__200px {
    width: 12.5rem;
}

.ts-width__300px {
    width: 18.75rem;
}

.ts-width__400px {
    width: 25rem;
}

.ts-width__500px {
    width: 31.25rem;
}

.ts-width__inherit {
    width: inherit !important;
}

.ts-width__auto {
    width: auto !important;
}

/*-------------------------------------------
  -- Z-index
-------------------------------------------*/

.ts-z-index__-1 {
    z-index: -1 !important;
}

.ts-z-index__0 {
    z-index: 0 !important;
}

.ts-z-index__1 {
    z-index: 1 !important;
}

.ts-z-index__2 {
    z-index: 2 !important;
}

.ts-z-index__1000 {
    z-index: 1000 !important;
}

/***********************************************************************************************************************
C. Components
***********************************************************************************************************************/

/*-------------------------------------------
  -- Block
-------------------------------------------*/

.ts-block {
    padding-bottom: 5rem;
    padding-top: 5rem;
    position: relative;
    /*
  &:after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'  width='103.987' height='105.599'%3E%3cpath fill='var(--color-primary-svg)' d='M101.017 45.961c-10.338 22.34-33.156 61.239-62.326 59.586-31.984-1.803-44.52-48.772-36.182-73.996 15.682-47.439 120.287-40.376 98.508 14.41-10.998 23.766 1.923-4.836 0 0z'/%3E%3c/svg%3E");
  }
  */
}

.ts-block-inside {
    padding: 1.25rem;
    position: relative;
}

section {
    position: relative;
}

/*-------------------------------------------
  -- Blockquote
-------------------------------------------*/

blockquote {
    font-size: 1.125rem;
    position: relative;
    padding-bottom: 2rem;
}

blockquote [class*="ts-circle"] {
    box-shadow: .375rem .3125rem 1.5625rem rgba(0, 0, 0, .2);
    position: relative;
    z-index: 2;
    margin-top: 1rem;
}

blockquote p {
    background-color: #f1f1f1;
    border-radius: .25rem;
    margin-top: -2.5rem;
    padding: 2.5rem;
    position: relative;
    z-index: 1;
}

blockquote p:after {
    border-color: #f1f1f1 transparent transparent transparent;
    border-style: solid;
    border-width: .8125rem .8125rem 0 .8125rem;
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -0.8125rem;
}

blockquote h4 {
    margin-bottom: .3125rem;
}

blockquote h6 {
    opacity: .5;
}

.blockquote-footer {
    color: inherit;
}

.blockquote-footer:before {
    display: none;
}

.ts-carousel-blockquote .owl-item figure, .ts-carousel-blockquote .owl-item p,
.ts-carousel-blockquote .owl-item .blockquote-footer {
    opacity: 0;
    transition: .6s ease;
    transform: translateY(.625rem);
}

.ts-carousel-blockquote .owl-item.active figure,
.ts-carousel-blockquote .owl-item.active p,
.ts-carousel-blockquote .owl-item.active .blockquote-footer {
    opacity: 1;
    transform: translateY(0);
}

.ts-carousel-blockquote .owl-item.active p {
    transition-delay: .1s;
}

.ts-carousel-blockquote .owl-item.active .blockquote-footer {
    transition-delay: .2s;
}

/*-------------------------------------------
  -- Box
-------------------------------------------*/

.ts-box {
    background-color: #fff;
    border-radius: .25rem;
    margin-bottom: 1.875rem;
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
    padding: 1.5625rem;
}

/*-------------------------------------------
  -- Buttons
-------------------------------------------*/

.btn {
    border-radius: 6.25rem;
    border-width: .125rem;
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
    font-weight: 600;
    font-size: .9375rem;
    padding: .5rem 1.25rem;
    position: relative;
    outline: none !important;
}

.btn:hover .fa-arrow-right {
    transform: translateX(.5rem);
}

.btn .fa-arrow-right {
    transition: .6s cubic-bezier(.85, -0.37, .17, 1.45);
    transform: translateX(0) rotate(.02deg);
}

.btn span {
    transition: .3s ease;
}

.btn .status {
    bottom: 0;
    height: 1.375rem;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    width: 1.5rem;
}

.btn .status .spinner {
    left: .3125rem;
    transition: .3s ease;
    top: .1875rem;
    position: absolute;
    opacity: 0;
}

.btn .status .status-icon {
    border-radius: 50%;
    left: 0;
    opacity: 0;
    font-size: .625rem;
    padding: .25rem .4375rem;
    position: relative;
    transition: .3s ease;
    z-index: 1;
    transform: scale(0);
}

.btn .status .status-icon.valid {
    background-color: var(--green);
}

.btn .status .status-icon.invalid {
    background-color: var(--red);
}

.btn.processing span {
    opacity: .2;
}

.btn.processing .spinner {
    opacity: 1;
}

.btn.done .ts-spinner {
    opacity: 0;
}

.btn.done .status-icon {
    transform: scale(1);
    opacity: 1;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    /*background-color: darken( var(--color-primary), 20% );
    border-color: darken( var(--color-primary), 20% );*/
    background-color: #f4b200;
    border-color: #f4b200;
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .3);
}

.btn-primary {
    background-color: #f4b200;
    border-color: #f4b200;
    color: #fff;
}

.btn-primary.disabled, .btn-primary:disabled {
    background-color: rgb(194, 142, 0);
    border-color: rgb(194, 142, 0);
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
    background-color: rgb(194, 142, 0);
    border-color: rgb(173, 127, 0);
    box-shadow: 0 .1875rem .9375rem rgba(0, 0, 0, .2);
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    background-color: rgb(194, 142, 0);
    border-color: rgb(194, 142, 0);
    box-shadow: 0 .1875rem .9375rem rgba(0, 0, 0, .2);
}

.btn-dark {
    background-color: #333;
    border-color: #333;
}

.btn-outline-primary {
    border-color: #f4b200;
    color: #f4b200;
}

.btn-outline-primary:hover {
    background-color: #f4b200;
    border-color: #f4b200;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus {
    background-color: #f4b200;
    border-color: #f4b200;
    box-shadow: 0 0 0 .2rem rgba(244, 178, 0, .5);
}

.btn-lg {
    padding: .75rem 1.5rem;
    font-size: 1.125rem;
}

.btn-sm {
    font-size: .8125rem;
    padding: .375rem 1rem;
}

.btn-xs {
    font-size: .75rem;
    font-weight: 600;
    padding: .125rem .6875rem;
    text-transform: uppercase;
}

[class*="btn-outline-"] {
    box-shadow: none;
}

.ts-btn-border-muted {
    border-color: rgba(25, 25, 25, .1);
}

/*-------------------------------------------
  -- Card
-------------------------------------------*/

.card {
    backface-visibility: hidden;
    border: none;
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
    margin-bottom: 1.875rem;
    overflow: hidden;
}

.card-columns .card {
    margin-bottom: 1.25rem;
}

.card-body, .card-footer, .card-header {
    padding: 1.5625rem;
}

.ts-cards-same-height > div[class*='col-'] {
    display: flex;
}

.ts-cards-same-height > div[class*='col-'] .card {
    width: 100%;
}

.ts-card__flat {
    border-radius: 0;
    box-shadow: none;
}

.ts-card__flat .card-footer {
    background-color: transparent;
    border: none;
}

.ts-card__image {
}

/*-------------------------------------------
  -- Circle
-------------------------------------------*/

.ts-circle__xs {
    border-radius: 50%;
    display: inline-block;
    height: 3rem;
    flex: 0 0 3rem;
    overflow: hidden;
    text-align: center;
    line-height: 3rem;
    width: 3rem;
}

.ts-circle__sm {
    border-radius: 50%;
    display: inline-block;
    height: 4.375rem;
    flex: 0 0 4.375rem;
    overflow: hidden;
    text-align: center;
    line-height: 4.375rem;
    width: 4.375rem;
}

.ts-circle__md {
    border-radius: 50%;
    display: inline-block;
    height: 6.25rem;
    flex: 0 0 6.25rem;
    overflow: hidden;
    text-align: center;
    line-height: 6.25rem;
    width: 6.25rem;
}

.ts-circle__lg {
    border-radius: 50%;
    display: inline-block;
    height: 8.125rem;
    flex: 0 0 8.125rem;
    overflow: hidden;
    text-align: center;
    line-height: 8.125rem;
    width: 8.125rem;
}

.ts-circle__xl {
    border-radius: 50%;
    display: inline-block;
    height: 10rem;
    flex: 0 0 10rem;
    overflow: hidden;
    text-align: center;
    line-height: 10rem;
    width: 10rem;
}

.ts-circle__xxl {
    border-radius: 50%;
    display: inline-block;
    height: 15.625rem;
    flex: 0 0 15.625rem;
    overflow: hidden;
    text-align: center;
    line-height: 15.625rem;
    width: 15.625rem;
}

/*-------------------------------------------
  -- Forms
-------------------------------------------*/

form.ts-labels-inside-input .form-group,
.ts-form.ts-labels-inside-input .form-group {
    position: relative;
}

form.ts-labels-inside-input .form-group label,
.ts-form.ts-labels-inside-input .form-group label {
    line-height: 2.625rem;
    left: .8125rem;
    opacity: .4;
    pointer-events: none;
    position: absolute;
    top: 0;
    transition: .3s ease;
}

form.ts-labels-inside-input .form-group label.focused,
.ts-form.ts-labels-inside-input .form-group label.focused {
    top: -2.1875rem;
    left: 0;
    font-size: .75rem;
    opacity: 1;
}

.form-control {
    border: 0;
    box-shadow: 0 0 0 .125rem rgba(0, 0, 0, .2);
    border-radius: .125rem;
    padding: .5625rem .75rem;
}

.form-control:focus {
    box-shadow: 0 0 0 .125rem rgba(0, 0, 0, .4);
}

.form-group {
    margin-bottom: 1.5625rem;
}

.form-group label {
    font-size: .8125rem;
}

.ts-gallery {
    position: relative;
}

.ts-gallery .ts-gallery__image {
    background-color: #333;
    color: #fff;
    display: block;
    height: 28rem;
    overflow: hidden;
}

.ts-gallery .ts-gallery__image:hover .ts-img-into-bg {
    opacity: .3;
    transform: scale(1.1);
}

.ts-gallery .ts-gallery__caption {
    padding: 3rem;
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: 2;
}

.ts-gallery .ts-img-into-bg {
    opacity: .6;
    transition: 1s cubic-bezier(.23, .05, .17, 1.02);
    transform: scale(1.03);
}

/*-------------------------------------------
  -- Inputs
-------------------------------------------*/

.ts-input__static {
    pointer-events: none;
    box-shadow: none;
}

.ts-inputs__transparent input, .ts-inputs__transparent textarea {
    background-color: transparent;
    color: #fff;
}

.ts-inputs__transparent input:active, .ts-inputs__transparent input:focus,
.ts-inputs__transparent textarea:active, .ts-inputs__transparent textarea:focus {
    background-color: transparent;
    color: #fff;
}

.ts-item {
    height: 100%;
    padding-bottom: 1.875rem;
}

.ts-item-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ts-item-header {
    margin-bottom: 1.5625rem;
    position: relative;
}

.ts-item-header .icon {
    position: relative;
    display: inline-block;
}

.ts-item-header .icon .step {
    background-color: #f4b200;
    top: 0;
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
    border-radius: 50%;
    color: #fff;
    font-weight: 600;
    line-height: 1.875rem;
    right: 0;
    height: 1.875rem;
    position: absolute;
    text-align: center;
    width: 1.875rem;
}

.ts-item-body {
    flex: 1 1 auto;
}

.ts-item-footer {
}

/*-------------------------------------------
  -- List
-------------------------------------------*/

ul {
    line-height: 2rem;
    list-style: none;
    padding-left: 0;
}

ul.ts-list-colored-bullets li:before {
    content: "•";
    color: #f4b200;
    vertical-align: middle;
    font-size: 1.75rem;
    padding-right: .75rem;
}

ul.ts-list-divided li {
    border-bottom: .0625rem solid rgba(0, 0, 0, .1);
    padding-bottom: .3125rem;
    padding-top: .3125rem;
}

ul.ts-list-divided li:last-child {
    border-bottom: none;
}

/*-------------------------------------------
  -- Loading Screen
-------------------------------------------*/

body.has-loading-screen:before {
    background-color: #000;
    content: "";
    height: 100%;
    right: 0;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 9999;
    transition: 1.5s ease;
    opacity: 1;
}

body.has-loading-screen:after {
    content: url("../../assets/img/loading.svg");
    height: 2.5rem;
    width: 2.5rem;
    position: fixed;
    margin: auto;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 1;
    transform: scale(1);
    transition: 1.5s ease;
    top: 0;
    z-index: 10000;
}

body.has-loading-screen.loading-done:before {
    width: 0;
}

body.has-loading-screen.loading-done:after {
    transform: scale(0);
    opacity: 0;
}

/*-------------------------------------------
  -- Map
-------------------------------------------*/

.map {
    min-height: 10rem;
}

.map a[href^="http://maps.google.com/maps"] {
    display: none !important;
}

.map a[href^="https://maps.google.com/maps"] {
    display: none !important;
}

.map .gmnoprint a, .map .gmnoprint span, .map .gm-style-cc {
    display: none;
}


/*-------------------------------------------
  -- Navbar
-------------------------------------------*/

.navbar {
    font-size: .875rem;
    font-weight: 500;
    padding-bottom: 2rem;
    padding-top: 2rem;
    transition: .3s ease;
}

.navbar.in {
    padding-bottom: 1rem;
    padding-top: 1rem;
}

.navbar.in .ts-background {
    opacity: 1 !important;
}

.navbar .ts-background {
    transition: 1s ease;
}

[class*="navbar-expand"] .navbar-nav .nav-link {
    padding-top: .5rem;
    padding-bottom: .5rem;
    border-bottom: .0625rem solid rgba(0, 0, 0, .1);
}

/*XL*/

/*LG*/

/*MD*/

/*SM*/

/*-------------------------------------------
  -- Page
-------------------------------------------*/

.ts-page-wrapper {
    overflow: hidden;
}

/*-------------------------------------------
  -- Partners
-------------------------------------------*/

.ts-partners a {
    display: block;
    padding: .625rem .3125rem;
}

/*-------------------------------------------
  -- Plugins
-------------------------------------------*/

.tv-site-widget {
    border: none !important;
}

iframe div {
    border: none;
}

/*-------------------------------------------
  -- Progress
-------------------------------------------*/

.progress {
    background-color: transparent;
    border: .125rem solid #f4b200;
    border-radius: 0;
    height: .625rem;
}

.progress .progress-bar {
    background-color: #f4b200;
}

/*-------------------------------------------
  -- Promo Numbers
-------------------------------------------*/

.ts-promo-numbers h2 {
    font-weight: normal;
}

.ts-promo-numbers h3 {
    font-weight: normal;
}

.ts-promo-number {
    margin-top: 1rem;
    margin-bottom: 1rem;
    position: relative;
}

.ts-promo-number .ts-promo-number-divider:after {
    content: "";
    bottom: 0;
    border: .125rem solid #f4b200;
    border-radius: 50%;
    height: .625rem;
    margin: auto;
    position: absolute;
    right: -0.3125rem;
    top: 0;
    width: .625rem;
}

/*-------------------------------------------
  -- Select
-------------------------------------------*/

select.form-control {
    box-shadow: .125rem .1875rem .9375rem rgba(0, 0, 0, .15);
    border-radius: .25rem;
    cursor: pointer;
    height: 2.8125rem !important;
    margin-top: -0.125rem;
    padding: .5rem;
    -webkit-appearance: none;
       -moz-appearance: none;
    text-indent: .0625rem;
    text-overflow: '';
}

select.form-control:focus, select.form-control:hover {
    box-shadow: .375rem .3125rem 1.5625rem rgba(0, 0, 0, .2);
}

select::-ms-expand {
    display: none;
}

.select-wrapper {
    position: relative;
}

.select-wrapper:before {
    position: absolute;
    display: inline-block;
    font-weight: 900;
    text-rendering: auto;
    top: 0;
    margin: auto;
    bottom: 0;
    right: .9375rem;
    height: 1.875rem;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome\ 5 Free";
    content: "\f0dd";
}

/*-------------------------------------------
  -- Slider
-------------------------------------------*/

.ts-slider {
    height: 100% !important;
}

.ts-slider div {
    height: 100% !important;
}

/*-------------------------------------------
  -- Tabs
-------------------------------------------*/

.nav-tabs {
    border-bottom: none;
}

.nav-tabs h4 {
    font-weight: normal;
    margin-bottom: 0;
}

.nav-tabs .nav-link {
    background-color: transparent;
    border: none;
    border-bottom: .1875rem solid transparent;
    margin-left: .9375rem;
    margin-right: .9375rem;
    padding-right: 0;
    padding-left: 0;
    color: inherit;
    opacity: .5;
}

.nav-tabs .nav-link.active {
    color: #333;
    background-color: transparent;
    border-bottom: .1875rem solid #f4b200;
    opacity: 1;
}

/***********************************************************************************************************************
D. Plugins Styles
***********************************************************************************************************************/

/*-------------------------------------------
  -- Magnific Popup
-------------------------------------------*/

/* overlay at start */

.mfp-fade.mfp-bg {
    opacity: 0;
    background-color: #000;
    -webkit-transition: all .15s ease-out;
       -moz-transition: all .15s ease-out;
            transition: all .15s ease-out;
}

/* overlay animate in */

.mfp-fade.mfp-bg.mfp-ready {
    opacity: .8;
}

/* overlay animate out */

.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0;
}

/* content at start */

.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    -webkit-transition: all .15s ease-out;
       -moz-transition: all .15s ease-out;
            transition: all .15s ease-out;
}

/* content animate it */

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}

/* content animate out */

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}

/*-------------------------------------------
  -- Owl Carousel
-------------------------------------------*/

.owl-carousel .owl-stage, .owl-carousel .owl-stage-outer,
.owl-carousel .owl-item {
    height: 100%;
}

.owl-carousel .owl-dots {
    text-align: center;
}

.owl-carousel .owl-dots .owl-dot {
    display: inline-block;
    padding: .3125rem;
}

.owl-carousel .owl-dots .owl-dot:hover span,
.owl-carousel .owl-dots .owl-dot.active span {
    opacity: .7;
}

.owl-carousel .owl-dots .owl-dot span {
    background-color: #333;
    border-radius: 50%;
    display: inline-block;
    height: .625rem;
    opacity: .2;
    transition: .3s ease;
    width: .625rem;
}

.owl-carousel .owl-nav {
    position: absolute;
    top: -1.25rem;
    bottom: 0;
    height: 0;
    margin: auto;
    width: 100%;
}

.owl-carousel .owl-nav .owl-prev, .owl-carousel .owl-nav .owl-next {
    background-color: rgba(25, 25, 25, .6);
    border-radius: 50%;
    box-shadow: 0 .125rem .3125rem rgba(0, 0, 0, .1);
    color: #fff;
    display: inline-block;
    height: 2.5rem;
    position: absolute;
    text-align: center;
    transition: .3s ease;
    width: 2.5rem;
}

.owl-carousel .owl-nav .owl-prev:after, .owl-carousel .owl-nav .owl-next:after {
    font-family: "Font Awesome\ 5 Free";
    font-weight: 900;
    font-size: 1.375rem;
    line-height: 2.5rem;
    -webkit-font-smoothing: antialiased;
}

.owl-carousel .owl-nav .owl-prev:hover, .owl-carousel .owl-nav .owl-next:hover {
    background-color: rgba(25, 25, 25, .8);
}

.owl-carousel .owl-nav .owl-next {
    right: .3125rem;
}

.owl-carousel .owl-nav .owl-next:after {
    content: "\f105";
    margin-left: .1875rem;
}

.owl-carousel .owl-nav .owl-prev {
    left: .3125rem;
}

.owl-carousel .owl-nav .owl-prev:after {
    content: "\f104";
    margin-right: .0625rem;
}

/***********************************************************************************************************************
E. Template Specific Elements
***********************************************************************************************************************/

/*-------------------------------------------
  -- Centered Slider
-------------------------------------------*/

.ts-carousel-centered .slide {
    margin-bottom: 1rem;
    margin-top: 1rem;
    padding: 1rem;
}

.ts-carousel-centered .owl-item {
    perspective: 1000;
}

.ts-carousel-centered .owl-item .slide {
    opacity: .5;
    transition: .3s ease;
    transform: scale(.95);
}

.ts-carousel-centered .owl-item.active.center .slide {
    opacity: 1;
    transform: scale(1);
}

.ts-carousel-centered .owl-nav .owl-prev,
.ts-carousel-centered .owl-nav .owl-next {
    height: 3.75rem;
    width: 3.75rem;
}

.ts-carousel-centered .owl-nav .owl-prev:after,
.ts-carousel-centered .owl-nav .owl-next:after {
    font-size: 1.375rem;
    line-height: 3.75rem;
}

.ts-carousel-centered .owl-nav .owl-prev:hover,
.ts-carousel-centered .owl-nav .owl-next:hover {
    background-color: rgb(25, 25, 25);
}

.ts-carousel-centered .owl-nav .owl-next {
    right: 1.25rem;
}

.ts-carousel-centered .owl-nav .owl-prev {
    left: 1.25rem;
}

/*-------------------------------------------
  -- Hero Form Floated
-------------------------------------------*/

.floated {
    position: relative;
    width: 100%;
    z-index: 1;
    bottom: -1.875rem;
}

.floated form {
    position: relative;
    padding: 1.875rem 3.75rem;
}

/*-------------------------------------------
  -- Price Box
-------------------------------------------*/

.ts-price-box__promoted {
    box-shadow: .375rem .3125rem 1.5625rem rgba(0, 0, 0, .2);
    margin-top: -1.25rem;
    margin-bottom: .625rem;
    z-index: 2;
}

.ts-price-box__promoted .ts-title {
    transform: scale(1.2);
}

/*-------------------------------------------
  -- Time Line
-------------------------------------------*/

.ts-time-line__horizontal {
    padding-bottom: .625rem;
    padding-top: .625rem;
    position: relative;
    /* timeline line */
}

.ts-time-line__horizontal ul {
    padding-left: 1.875rem;
    list-style: none;
    position: relative;
}

.ts-time-line__horizontal:after {
    background-color: #474747;
    content: "";
    bottom: 6.875rem;
    height: .1875rem;
    left: 0;
    position: absolute;
    width: 100%;
}

.ts-time-line__horizontal .ts-time-line__item {
    flex: 0 0 auto;
    margin-right: 1.875rem;
    position: relative;
    width: 18.75rem;
}

.ts-time-line__horizontal .ts-time-line__item .ts-box {
    position: relative;
    /* dot */
}

.ts-time-line__horizontal .ts-time-line__item .ts-box:before {
    background-color: #474747;
    bottom: -4.375rem;
    border-radius: 100%;
    content: "";
    left: 1.6875rem;
    height: .75rem;
    position: absolute;
    width: .75rem;
}

.ts-time-line__horizontal .ts-time-line__item .ts-box {
    /*triangle*/
}

.ts-time-line__horizontal .ts-time-line__item .ts-box:after {
    border-color: #fff transparent transparent transparent;
    border-style: solid;
    border-width: .5rem .5rem 0 .5rem;
    bottom: -0.4375rem;
    content: "";
    left: 1.5625rem;
    height: 0;
    position: absolute;
    width: 0;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone {
    width: 4.375rem;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone .ts-box {
    background-color: #f4b200;
    color: #fff;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone .ts-box:after {
    border-color: #f4b200 transparent transparent transparent;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone h5 {
    writing-mode: vertical-lr;
    margin: 0;
}

.ts-time-line__horizontal .ts-time-line__item figure {
    margin-left: 1.875rem;
    margin-top: 4.6875rem;
}

.ts-time-line__horizontal .ts-time-line__item figure small {
    text-transform: uppercase;
    opacity: .4;
}

.ts-time-line__horizontal .ts-time-line__item figure small,
.ts-time-line__horizontal .ts-time-line__item figure h6 {
    font-weight: 600;
}

.ts-time-line__horizontal .owl-stage-outer {
    padding: 1rem 1rem 0 1rem;
}

.ts-time-line__horizontal .owl-stage {
    align-items: flex-end;
    display: flex;
}

.ts-time-line__horizontal .ts-sly-frame.ts-loaded > ul {
    align-items: flex-end;
    display: flex;
}

/*-------------------------------------------
  -- SVG Shapes
-------------------------------------------*/

.ts-svg {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    top: 0;
    z-index: -1;
    height: 100%;
    position: absolute;
    width: 100%;
    left: 0;
    margin: auto;
}

.ts-story:hover {
    color: #fff;
}

.ts-story:hover p {
    color: #fff;
}

.ts-story:hover .ts-background {
    background-color: #000 !important;
}

.ts-story:hover .ts-background-image {
    opacity: .4 !important;
}

.ts-story {
    margin-bottom: 2rem;
    padding: 14rem 2rem 2rem 2rem;
    position: relative;
}

.ts-story .ts-background, .ts-story .ts-background-image {
    transition: .3s ease;
}

.ts-story figure {
    background-color: #fff;
    color: rgba(25, 25, 25, .2);
    font-weight: 500;
    position: absolute;
    top: -0.375rem;
    left: 3rem;
    padding: 1rem;
    transform: rotate(-90deg);
    transform-origin: bottom;
}

/*-------------------------------------------
  -- Other
-------------------------------------------*/

/* Footer push up */

#ts-footer .ts-box {
    margin-top: -3.125rem;
}

.ts-tabs-presentation .tab-pane img {
    opacity: 0;
    transition: .3s ease;
    transform: translateY(1.25rem);
}

.ts-tabs-presentation .tab-pane.show.active img {
    opacity: 1;
    transform: translateY(0);
}

/* Hero navigation arrows */

#ts-hero .owl-prev, #ts-hero .owl-next {
    background-color: transparent;
    border: .125rem solid rgba(255, 255, 255, .8);
}

#ts-hero .owl-prev:after, #ts-hero .owl-next:after {
    line-height: 2.25rem;
}

/* Hero slider height */

.ts-hero-slider {
    height: 100% !important;
}

.ts-hero-slider div {
    height: 100% !important;
}

@media (min-width: 36rem) and (max-width: 47.9375rem) {
    html {
        font-size: 85%;
    }

    h1, .ts-h1 {
        font-size: 2.5rem;
    }

    h2, .ts-h2 {
        font-size: 1.625rem;
    }

    h3, .ts-h3 {
        font-size: 1.25rem;
    }

    .ts-column-count-sm-1 {
        column-count: 1;
    }

    .ts-column-count-sm-2 {
        column-count: 2;
    }

    .ts-column-count-sm-3 {
        column-count: 3;
    }

    .ts-column-count-sm-4 {
        column-count: 4;
    }

    .ts-promo-numbers h2 {
        font-size: 2.375rem;
    }
}

@media (min-width: 48rem) and (max-width: 61.9375rem) {
    html {
        font-size: 90%;
    }

    h1, .ts-h1 {
        font-size: 3rem;
    }

    h2, .ts-h2 {
        font-size: 1.875rem;
    }

    h3, .ts-h3 {
        font-size: 1.375rem;
    }

    .ts-column-count-md-1 {
        column-count: 1;
    }

    .ts-column-count-md-2 {
        column-count: 2;
    }

    .ts-column-count-md-3 {
        column-count: 3;
    }

    .ts-column-count-md-4 {
        column-count: 4;
    }

    .ts-promo-numbers h2 {
        font-size: 2.5rem;
    }
}

@media (min-width: 62rem) and (max-width: 74.9375rem) {
    html {
        font-size: 95%;
    }

    h1, .ts-h1 {
        font-size: 3.125rem;
    }

    h2, .ts-h2 {
        font-size: 2rem;
    }

    h3, .ts-h3 {
        font-size: 1.375rem;
    }

    .ts-column-count-lg-1 {
        column-count: 1;
    }

    .ts-column-count-lg-2 {
        column-count: 2;
    }

    .ts-column-count-lg-3 {
        column-count: 3;
    }

    .ts-column-count-lg-4 {
        column-count: 4;
    }

    .ts-block {
        padding-bottom: 6.25rem;
        padding-top: 6.25rem;
    }

    .ts-card__image {
        height: 12.5rem;
    }

    .ts-promo-numbers h2 {
        font-size: 2.75rem;
    }
}

@media (min-width: 75rem) {
    html {
        font-size: 100%;
    }

    h1, .ts-h1 {
        font-size: 3.5rem;
    }

    h2, .ts-h2 {
        font-size: 2.25rem;
    }

    h3, .ts-h3 {
        font-size: 1.625rem;
    }

    .ts-column-count-xl-1 {
        column-count: 1;
    }

    .ts-column-count-xl-2 {
        column-count: 2;
    }

    .ts-column-count-xl-3 {
        column-count: 3;
    }

    .ts-column-count-xl-4 {
        column-count: 4;
    }

    .ts-block {
        padding-bottom: 8.125rem;
        padding-top: 8.125rem;
    }

    .ts-card__image {
        height: 15.625rem;
    }

    .navbar.navbar-expand-xl .navbar-nav {
        align-items: center;
    }

    .navbar.navbar-expand-xl .navbar-nav .nav-link {
        padding-top: .3125rem;
        padding-bottom: .3125rem;
        border-bottom: none;
    }

    .navbar.navbar-expand-xl .ts-background {
        opacity: 0;
    }

    .ts-promo-numbers h2 {
        font-size: 3rem;
    }

    .ts-carousel-centered .owl-nav .owl-next {
        right: 5rem;
    }

    .ts-carousel-centered .owl-nav .owl-prev {
        left: 5rem;
    }

    .floated form {
        padding: 2.5rem 5rem;
    }
}

@media (max-width: 35.9375rem) {
    h1, .ts-h1 {
        margin-bottom: 1.25rem;
    }

    [class*="ts-column-count-"] {
        column-count: 1;
    }

    .ts-xs-text-center {
        text-align: center !important;
    }

    .ts-title {
        margin-bottom: 1.875rem;
    }

    .ts-promo-numbers h2 {
        font-size: 2.25rem;
    }
}

@media (min-width: 36rem) and (max-width: 61.9375rem) {
    h1, .ts-h1 {
        margin-bottom: 1.875rem;
    }

    .ts-title {
        margin-bottom: 3.125rem;
    }

    .ts-block-inside {
        padding: 2.5rem;
    }
}

@media (min-width: 62rem) {
    h1, .ts-h1 {
        margin-bottom: 2.5rem;
    }

    .ts-title {
        margin-bottom: 5rem;
    }

    .ts-block-inside {
        padding: 3.75rem;
    }

    .navbar.navbar-expand-lg .navbar-nav {
        align-items: center;
    }

    .navbar.navbar-expand-lg .navbar-nav .nav-link {
        padding-top: .3125rem;
        padding-bottom: .3125rem;
        border-bottom: none;
    }

    .navbar.navbar-expand-lg .ts-background {
        opacity: 0;
    }

    .floated {
        position: absolute;
    }
}

@media (max-width: 47.9375rem) {
    h4, .ts-h4 {
        font-size: 1.125rem;
    }
}

@media (min-width: 48rem) {
    h4, .ts-h4 {
        font-size: 1.25rem;
    }

    .navbar.navbar-expand-md .navbar-nav {
        align-items: center;
    }

    .navbar.navbar-expand-md .navbar-nav .nav-link {
        padding-top: .3125rem;
        padding-bottom: .3125rem;
        border-bottom: none;
    }

    .navbar.navbar-expand-md .ts-background {
        opacity: 0;
    }
}

@media (max-width: 61.9375rem) {
    .ts-card__image {
        height: 15.625rem;
    }
}

@media (min-width: 36rem) {
    .navbar.navbar-expand-sm .navbar-nav {
        align-items: center;
    }

    .navbar.navbar-expand-sm .navbar-nav .nav-link {
        padding-top: .3125rem;
        padding-bottom: .3125rem;
        border-bottom: none;
    }

    .navbar.navbar-expand-sm .ts-background {
        opacity: 0;
    }

    .ts-carousel-centered .owl-nav .owl-next {
        right: 2.5rem;
    }

    .ts-carousel-centered .owl-nav .owl-prev {
        left: 2.5rem;
    }
}

.leistungen-approach {
    margin-top: 1.75rem;
    margin-bottom: 1.5rem;
}

.leistungen-approach span {
    display: block;
    font-weight: 700;
    margin-bottom: .75rem;
}

.leistungen-approach-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.leistungen-approach-list li {
    position: relative;
    padding-left: 1.4rem;
    margin-bottom: .45rem;
}

.leistungen-approach-list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: .6rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c7ab73;
}

.leistungen-closing {
    font-weight: 500;
    margin-bottom: 0;
}

/* Kacheln */
.leistung-tile {
    position: relative;
    padding: 2rem 1.6rem;
    height: 100%;
    min-height: 225px;
    margin-bottom: 0;
    border: 1px solid rgba(255,255,255,.24);
    box-shadow: 0 10px 24px rgba(0,0,0,.04);
    transition: transform .25s ease, box-shadow .25s ease;
    overflow: hidden;
    background: rgba(255,255,255,.18);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.leistung-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgba(0,0,0,.07);
}

.leistung-tile h5 {
    position: relative;
    z-index: 2;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: .8rem;
    color: #2f312e;
    max-width: 95%;
}

.leistung-tile p {
    position: relative;
    z-index: 2;
    margin-bottom: 0;
    line-height: 1.7;
    color: rgba(47,49,46,.78);
}

/* Verlauf von innen nach außen ins Transparente */
.leistung-tile::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    opacity: .82;
}

.leistung-tile::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    background:
        radial-gradient(circle at center,
            rgba(255,255,255,.10) 0%,
            rgba(255,255,255,.06) 35%,
            rgba(255,255,255,.02) 60%,
            rgba(255,255,255,0) 100%);
    pointer-events: none;
}

.tile-aqua::before {
    background:
        radial-gradient(circle at center,
            rgba(185,223,220,.62) 0%,
            rgba(185,223,220,.48) 45%,
            rgba(185,223,220,.22) 75%,
            rgba(185,223,220,.04) 100%);
}

.tile-sand::before {
    background:
        radial-gradient(circle at center,
            rgba(232,221,194,.62) 0%,
            rgba(232,221,194,.48) 45%,
            rgba(232,221,194,.22) 75%,
            rgba(232,221,194,.04) 100%);
}

.tile-sage::before {
    background:
        radial-gradient(circle at center,
            rgba(205,221,198,.62) 0%,
            rgba(205,221,198,.48) 45%,
            rgba(205,221,198,.22) 75%,
            rgba(205,221,198,.04) 100%);
}

.tile-sky::before {
    background:
        radial-gradient(circle at center,
            rgba(196,221,230,.62) 0%,
            rgba(196,221,230,.48) 45%,
            rgba(196,221,230,.22) 75%,
            rgba(196,221,230,.04) 100%);
}

.tile-lime::before {
    background:
        radial-gradient(circle at center,
            rgba(211,222,192,.62) 0%,
            rgba(211,222,192,.48) 45%,
            rgba(211,222,192,.22) 75%,
            rgba(211,222,192,.04) 100%);
}

.tile-sun::before {
    background:
        radial-gradient(circle at center,
            rgba(226,215,160,.62) 0%,
            rgba(226,215,160,.48) 45%,
            rgba(226,215,160,.22) 75%,
            rgba(226,215,160,.04) 100%);
}
#ueber-mich .ueber-mich-content {
    max-width: 560px;
}

#ueber-mich .ueber-mich-intro {
    max-width: 34rem;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
    line-height: 1.75;
    color: rgba(47, 49, 46, .82);
}

#ueber-mich .ueber-accordion {
    margin-top: 1.25rem;
}

#ueber-mich .ueber-accordion-item {
    border-top: 1px solid rgba(47, 49, 46, .08);
}

#ueber-mich .ueber-accordion-item:last-child {
    border-bottom: 1px solid rgba(47, 49, 46, .08);
}

#ueber-mich .ueber-accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 0;
    color: #2f312e;
    font-size: 1.08rem;
    font-weight: 700;
    text-decoration: none;
    transition: color .25s ease;
}

#ueber-mich .ueber-accordion-trigger:hover,
#ueber-mich .ueber-accordion-trigger:focus {
    color: #2f312e;
    text-decoration: none;
}

#ueber-mich .ueber-accordion-icon {
    position: relative;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

#ueber-mich .ueber-accordion-icon::before,
#ueber-mich .ueber-accordion-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #9fd1c6 0%, #d8cf99 100%);
    transform: translate(-50%, -50%);
    transition: transform .25s ease, opacity .25s ease;
}

#ueber-mich .ueber-accordion-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

#ueber-mich .ueber-accordion-trigger:not(.collapsed) .ueber-accordion-icon::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg) scaleX(.4);
}

#ueber-mich .ueber-accordion-body {
    padding: 0 0 1.3rem 0;
}

#ueber-mich .ueber-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#ueber-mich .ueber-list li {
    position: relative;
    padding-left: 1.2rem;
    margin-bottom: .7rem;
    line-height: 1.7;
    color: rgba(47,49,46,.74);
}

#ueber-mich .ueber-list li:last-child {
    margin-bottom: 0;
}

#ueber-mich .ueber-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c7ab73;
}

#ueber-mich .ueber-list-inline {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1.6rem;
    row-gap: .2rem;
}

#ueber-mich .ueber-section-intro,
#ueber-mich .ueber-section-closing {
    line-height: 1.7;
    color: rgba(47,49,46,.74);
}

#ueber-mich .ueber-section-intro {
    margin-bottom: .9rem;
}

#ueber-mich .ueber-section-closing {
    margin-top: 1rem;
    margin-bottom: 0;
}

#ueber-mich .ueber-mich-visual-photo {
    padding-top: .25rem;
}

#ueber-mich .ueber-mich-photo {
    width: 100%;
    max-width: 420px;
    height: auto;
    border-radius: 14px;
    box-shadow: 0 14px 30px rgba(0,0,0,.08);
    object-fit: cover;
}

@media (max-width: 991.98px) {
    #ueber-mich .ueber-list-inline {
        grid-template-columns: 1fr;
    }

    #ueber-mich .ueber-mich-visual-photo {
        margin-top: 2.5rem;
        justify-content: flex-start !important;
    }

    #ueber-mich .ueber-mich-photo {
        max-width: 360px;
    }
}

@media (max-width: 767.98px) {
    #ueber-mich .ueber-mich-content,
    #ueber-mich .ueber-mich-intro {
        max-width: 100%;
    }

    #ueber-mich .ueber-mich-photo {
        max-width: 100%;
        border-radius: 12px;
    }
}

#herausforderungen .herausforderungen-row {
    align-items: center;
}

#herausforderungen .herausforderungen-content {
    max-width: 560px;
}

#herausforderungen .herausforderungen-intro {
    margin-top: 1.5rem;
    margin-bottom: 1.35rem;
    line-height: 1.75;
    color: rgba(47, 49, 46, .82);
}

#herausforderungen .herausforderungen-list {
    list-style: none;
    margin: 0 0 1.5rem 0;
    padding: 0;
}

#herausforderungen .herausforderungen-list li {
    position: relative;
    padding-left: 1.2rem;
    margin-bottom: .75rem;
    line-height: 1.7;
    color: rgba(47,49,46,.76);
}

#herausforderungen .herausforderungen-list li:last-child {
    margin-bottom: 0;
}

#herausforderungen .herausforderungen-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c7ab73;
}

#herausforderungen .herausforderungen-closing {
    font-weight: 600;
    margin-bottom: 0;
    color: #2f312e;
}

/* =========================================================
   BILDER – final für Leistungen & Herausforderungen
   ========================================================= */

.leistungen-image,
.herausforderungen-image {
    position: absolute;
    overflow: hidden;
    border-radius: 14px;
}

.leistungen-image img,
.herausforderungen-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* LEISTUNGEN */
.leistungen-images {
    position: relative;
    min-height: 640px;
}

.leistungen-image-top {
    top: 0;
    left: 0;
    width: 72%;
    aspect-ratio: 4 / 5;
    z-index: 1;
}

.leistungen-image-bottom {
    right: 0;
    bottom: 0;
    width: 56%;
    aspect-ratio: 1 / 1;
    z-index: 2;
}

/* HERAUSFORDERUNGEN */
.herausforderungen-images {
    position: relative;
    min-height: 640px;
}

.herausforderungen-image-portrait {
    top: 0;
    right: 0;
    width: 72%;
    aspect-ratio: 4 / 5;
    z-index: 1;
}

.herausforderungen-image-square {
    left: 0;
    bottom: 0;
    width: 56%;
    aspect-ratio: 1 / 1;
    z-index: 2;
}

@media (max-width: 1199.98px) {
    .leistungen-images,
    .herausforderungen-images {
        min-height: 590px;
    }
}

@media (max-width: 991.98px) {
    .leistungen-images,
    .herausforderungen-images {
        min-height: 540px;
        margin-top: 2rem;
    }

    .leistungen-image-top,
    .herausforderungen-image-portrait {
        width: 72%;
    }

    .leistungen-image-bottom,
    .herausforderungen-image-square {
        width: 58%;
    }
}

@media (max-width: 767.98px) {
    .leistungen-images,
    .herausforderungen-images {
        min-height: auto;
        display: grid;
        gap: 1rem;
    }

    .leistungen-image,
    .herausforderungen-image {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: 100%;
    }

    .leistungen-image-top,
    .herausforderungen-image-portrait {
        aspect-ratio: 4 / 5;
    }

    .leistungen-image-bottom,
    .herausforderungen-image-square {
        aspect-ratio: 1 / 1;
    }
}
/* =========================================================
   SECTION BACKGROUNDS – gemeinsame Basis
   ========================================================= */

.bg-herausforderungen,
.bg-leistungen,
.bg-ueber-mich,
.bg-kontakt {
    position: relative;
    overflow: hidden;
}

.bg-herausforderungen::before,
.bg-leistungen::before,
.bg-ueber-mich::before,
.bg-kontakt::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-repeat: no-repeat;
}

.bg-herausforderungen > .container,
.bg-leistungen > .container,
.bg-ueber-mich > .container,
.bg-kontakt > .container {
    position: relative;
    z-index: 1;
}

.bg-herausforderungen::before {
    background:
        radial-gradient(circle at 88% 18%,
            rgba(191, 233, 229, 0.16) 0%,
            rgba(191, 233, 229, 0.08) 20%,
            rgba(191, 233, 229, 0.00) 42%),

        radial-gradient(circle at 18% 78%,
            rgba(151, 210, 155, 0.14) 0%,
            rgba(151, 210, 155, 0.07) 18%,
            rgba(151, 210, 155, 0.00) 40%),

        radial-gradient(circle at 42% 24%,
            rgba(220, 214, 168, 0.08) 0%,
            rgba(220, 214, 168, 0.04) 16%,
            rgba(220, 214, 168, 0.00) 34%);
}

.bg-leistungen::before {
    background:
        radial-gradient(circle at 10% 16%,
            rgba(198, 231, 225, 0.14) 0%,
            rgba(198, 231, 225, 0.07) 18%,
            rgba(198, 231, 225, 0.00) 40%),

        radial-gradient(circle at 82% 72%,
            rgba(216, 207, 153, 0.10) 0%,
            rgba(216, 207, 153, 0.05) 18%,
            rgba(216, 207, 153, 0.00) 40%),

        radial-gradient(circle at 36% 82%,
            rgba(151, 210, 155, 0.08) 0%,
            rgba(151, 210, 155, 0.04) 16%,
            rgba(151, 210, 155, 0.00) 36%);
}

.bg-ueber-mich::before {
    background:
        radial-gradient(circle at 14% 12%,
            rgba(151, 210, 155, 0.10) 0%,
            rgba(151, 210, 155, 0.05) 18%,
            rgba(151, 210, 155, 0.00) 38%),

        radial-gradient(circle at 78% 22%,
            rgba(220, 214, 168, 0.10) 0%,
            rgba(220, 214, 168, 0.05) 18%,
            rgba(220, 214, 168, 0.00) 38%),

        radial-gradient(circle at 74% 76%,
            rgba(198, 231, 225, 0.09) 0%,
            rgba(198, 231, 225, 0.045) 16%,
            rgba(198, 231, 225, 0.00) 36%);
}

.bg-kontakt::before {
    background:
        radial-gradient(circle at 8% 18%,
            rgba(151, 210, 155, 0.22) 0%,
            rgba(151, 210, 155, 0.12) 20%,
            rgba(151, 210, 155, 0.00) 44%),

        radial-gradient(circle at 82% 16%,
            rgba(198, 231, 225, 0.18) 0%,
            rgba(198, 231, 225, 0.09) 18%,
            rgba(198, 231, 225, 0.00) 40%),

        radial-gradient(circle at 28% 82%,
            rgba(216, 207, 153, 0.16) 0%,
            rgba(216, 207, 153, 0.08) 18%,
            rgba(216, 207, 153, 0.00) 40%),

        radial-gradient(circle at 86% 78%,
            rgba(191, 233, 229, 0.14) 0%,
            rgba(191, 233, 229, 0.07) 16%,
            rgba(191, 233, 229, 0.00) 36%);
}

/* =========================================================
   KONTAKTBEREICH
   ========================================================= */


#kontakt #form-contact {
    position: relative;
}

#kontakt .hp-field {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

#kontakt .hp-field label,
#kontakt .hp-field input {
    display: block !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}
/* Box */

#kontakt .kontakt-box {
    background: rgba(255,255,255,.84);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 18px;
    box-shadow: 0 18px 40px rgba(0,0,0,.08);
    max-width: 1120px;
    margin: -2.25rem auto 0 auto;
    padding: 3rem !important;
}

/* Linke Spalte */
#kontakt .kontakt-details h3 {
    margin-bottom: 1.75rem;
}

#kontakt .kontakt-details address {
    margin-bottom: 0;
    font-style: normal;
}

#kontakt .kontakt-details figure {
    margin-bottom: 1.15rem;
    color: rgba(47,49,46,.78);
    line-height: 1.75;
}

#kontakt .kontakt-details .kontakt-group {
    margin-top: 1.35rem;
    line-height: 1.7;
}

#kontakt .kontakt-details .font-weight-bold {
    color: #2f312e;
    margin-bottom: .2rem;
}

#kontakt .kontakt-details a {
    color: #c39d42;
    transition: color .25s ease;
}

#kontakt .kontakt-details a:hover {
    color: #2f312e;
    text-decoration: none;
}

/* Rechte Spalte */
#kontakt .kontakt-formular h3 {
    margin-bottom: 1.75rem;
}

/* Formular */
#kontakt .form-group label {
    color: #2f312e;
    font-weight: 600;
    margin-bottom: .45rem;
}

#kontakt input,
#kontakt textarea {
    border: 1px solid rgba(47,49,46,.14);
    border-radius: 12px;
    background: rgba(255,255,255,.60);
    color: #2f312e;
    box-shadow: none;
    transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

#kontakt input {
    min-height: 50px;
}

#kontakt textarea {
    min-height: 160px;
    resize: vertical;
}

#kontakt input::placeholder,
#kontakt textarea::placeholder {
    color: rgba(47,49,46,.42);
}

#kontakt input:focus,
#kontakt textarea:focus {
    border-color: rgba(159, 209, 198, .75);
    box-shadow: 0 0 0 4px rgba(159, 209, 198, .12);
    background: rgba(255,255,255,.85);
    outline: none;
}

/* Button */
#kontakt .kontakt-submit,
#kontakt #form-contact-submit {
    background: linear-gradient(135deg,
        #a9d8cb 0%,
        #c7e3c2 38%,
        #d9cf99 100%);
    border: none;
    color: #2f312e;
    font-weight: 600;
    border-radius: 20px;
    padding: .9rem 1.7rem;
    box-shadow:
        0 8px 18px rgba(0,0,0,.08),
        0 0 18px rgba(169, 216, 203, .18);
    transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease, filter .25s ease;
}

#kontakt .kontakt-submit:hover,
#kontakt #form-contact-submit:hover {
    transform: translateY(-1px);
    box-shadow:
        0 12px 24px rgba(0,0,0,.10),
        0 0 24px rgba(169, 216, 203, .24);
    filter: saturate(1.03);
    opacity: .98;
}

#kontakt .kontakt-submit:focus,
#kontakt #form-contact-submit:focus {
    outline: none;
    box-shadow:
        0 12px 24px rgba(0,0,0,.10),
        0 0 0 4px rgba(169, 216, 203, .16);
}

#kontakt .kontakt-consent-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 1rem;
}

#kontakt .kontakt-consent {
    flex: 1 1 auto;
}

#kontakt .form-check {
    padding-left: 1.5rem;
    margin-bottom: 0;
}

#kontakt .form-check-input {
    margin-top: .3rem;
}

#kontakt .form-check-label {
    font-size: .95rem;
    line-height: 1.65;
    color: rgba(47,49,46,.72);
}

#kontakt .form-check-label a {
    color: #2f312e;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid rgba(47,49,46,.18);
    transition: color .25s ease, border-color .25s ease;
}

#kontakt .form-check-label a:hover {
    color: #c39d42;
    border-color: rgba(195,157,66,.45);
    text-decoration: none;
}

@media (max-width: 767.98px) {
    #kontakt .kontakt-consent-row {
        flex-direction: column;
        align-items: stretch;
    }

    #kontakt .kontakt-submit,
    #kontakt #form-contact-submit {
        width: 100%;
    }
}



#kontakt .kontakt-footer {
    color: rgba(47,49,46,.42);
    border-top: 1px solid rgba(47,49,46,.06);
    margin-top: 1.5rem;
}

#kontakt .kontakt-footer small {
    font-size: .92rem;
}

#kontakt .kontakt-footer-copy {
    color: rgba(47,49,46,.45);
}

#kontakt .kontakt-footer-links a {
    color: rgba(47,49,46,.65);
    text-decoration: none;
    transition: color .25s ease;
}

#kontakt .kontakt-footer-links a:hover {
    color: #c39d42;
    text-decoration: none;
}

.modal-legal-header {
    overflow: hidden;
    border-bottom: 1px solid rgba(47,49,46,.06);
    background:
        radial-gradient(circle at 12% 22%,
            rgba(151, 210, 155, 0.22) 0%,
            rgba(151, 210, 155, 0.10) 18%,
            rgba(151, 210, 155, 0.00) 42%),
        radial-gradient(circle at 72% 18%,
            rgba(198, 231, 225, 0.16) 0%,
            rgba(198, 231, 225, 0.07) 18%,
            rgba(198, 231, 225, 0.00) 42%),
        radial-gradient(circle at 36% 72%,
            rgba(216, 207, 153, 0.14) 0%,
            rgba(216, 207, 153, 0.06) 18%,
            rgba(216, 207, 153, 0.00) 40%),
        #faf9f6;
}

.modal-legal-header h2,
.modal-legal-header h5 {
    color: #2f312e;
}

#modalImpressum .modal-content,
#modalDatenschutzLegal .modal-content {
    border-radius: 18px;
    overflow: hidden;
}

#modalImpressum .modal-body,
#modalDatenschutzLegal .modal-body {
    max-height: 70vh;
    overflow-y: auto;
}

@media (max-width: 767.98px) {
    #kontakt .kontakt-footer {
        text-align: center;
    }
}

.modal-datenschutz-header {
    overflow: hidden;
    border-bottom: 1px solid rgba(47,49,46,.06);
    background:
        radial-gradient(circle at 12% 22%,
            rgba(151, 210, 155, 0.22) 0%,
            rgba(151, 210, 155, 0.10) 18%,
            rgba(151, 210, 155, 0.00) 42%),
        radial-gradient(circle at 72% 18%,
            rgba(198, 231, 225, 0.16) 0%,
            rgba(198, 231, 225, 0.07) 18%,
            rgba(198, 231, 225, 0.00) 42%),
        radial-gradient(circle at 36% 72%,
            rgba(216, 207, 153, 0.14) 0%,
            rgba(216, 207, 153, 0.06) 18%,
            rgba(216, 207, 153, 0.00) 40%),
        #faf9f6;
}

.modal-datenschutz-header h2,
.modal-datenschutz-header h5 {
    color: #2f312e;
}

#modalDatenschutz .modal-content {
    border-radius: 18px;
    overflow: hidden;
}


/* Responsive */
@media (max-width: 991.98px) {
    #kontakt .kontakt-box {
        padding: 2.2rem !important;
    }

    #kontakt .kontakt-details {
        margin-bottom: 2rem;
    }
}

@media (max-width: 767.98px) {
    #kontakt {
    }

    #kontakt .kontakt-box {
        padding: 1.5rem !important;
        border-radius: 14px;
    }

    #kontakt .kontakt-formular h3,
    #kontakt .kontakt-details h3 {
        margin-bottom: 1.25rem;
    }

    #kontakt #form-contact-submit {
        float: none !important;
        width: 100%;
        margin-top: .5rem;
    }

    #kontakt textarea {
        min-height: 140px;
    }
}


/* =========================================================
   CTA KONTAKT – final bereinigt
   ========================================================= */

#cta-kontakt {
    position: relative;
    overflow: hidden;
    padding-top: 4.75rem;
    padding-bottom: 4.75rem;
}

#cta-kontakt::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 30%,
            rgba(198, 231, 225, 0.10) 0%,
            rgba(198, 231, 225, 0.05) 18%,
            rgba(198, 231, 225, 0.00) 38%),
        radial-gradient(circle at 80% 70%,
            rgba(216, 207, 153, 0.08) 0%,
            rgba(216, 207, 153, 0.04) 18%,
            rgba(216, 207, 153, 0.00) 36%);
}

#cta-kontakt .container {
    position: relative;
    z-index: 1;
}

.cta-divider {
    width: 110px;
    height: 2px;
    margin: 0 auto;
    border-radius: 999px;
    background: linear-gradient(90deg, #a9d8cb 0%, #d9cf99 100%);
    opacity: .75;
}

.cta-divider-top {
    margin-bottom: 1.6rem;
}

.cta-divider-bottom {
    margin-top: 1.4rem;
}

.cta-kontakt-head {
    max-width: 860px;
    margin: 0 auto 1.8rem auto;
}

.cta-kontakt-head h3 {
    margin-bottom: .85rem !important;
}

.cta-kontakt-lead {
    font-size: 1.15rem;
    line-height: 1.75;
    color: rgba(47,49,46,.82);
    margin-bottom: .75rem;
}

.cta-kontakt-text {
    line-height: 1.8;
    color: rgba(47,49,46,.76);
    margin-bottom: 0;
}

.cta-kontakt-cards {
    margin-top: 0;
}

.cta-kontakt-cards > [class*="col-"] {
    margin-bottom: 1.25rem;
}

.cta-card {
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(255,255,255,.65);
    box-shadow: 0 12px 28px rgba(0,0,0,.05);
    padding: 1.7rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 230px;
}

.cta-card h5 {
    margin-bottom: .9rem;
    font-size: 1.08rem;
    font-weight: 700;
    color: #2f312e;
}

.cta-card p {
    line-height: 1.65;
    color: rgba(47,49,46,.74);
    margin-bottom: 1.25rem;
}

.cta-main-btn {
    align-self: flex-start;
    background: linear-gradient(135deg,
        #a9d8cb 0%,
        #c7e3c2 38%,
        #d9cf99 100%);
    border: none;
    color: #2f312e;
    font-weight: 700;
    border-radius: 999px;
    padding: .9rem 1.7rem;
    box-shadow:
        0 8px 18px rgba(0,0,0,.08),
        0 0 18px rgba(169, 216, 203, .18);
    transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}

.cta-main-btn:hover {
    transform: translateY(-1px);
    box-shadow:
        0 12px 24px rgba(0,0,0,.10),
        0 0 24px rgba(169, 216, 203, .24);
    color: #2f312e;
}

.cta-secondary-btn {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    font-weight: 600;
    color: #2f312e;
    text-decoration: none;
    border-bottom: 1px solid rgba(47,49,46,.18);
    padding-bottom: .15rem;
    transition: color .25s ease, border-color .25s ease;
}

.cta-secondary-btn:hover {
    color: #c39d42;
    border-color: rgba(195,157,66,.45);
    text-decoration: none;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
    #cta-kontakt {
        padding-top: 4.1rem;
        padding-bottom: 4.1rem;
    }

    .cta-divider-top {
        margin-bottom: 1.35rem;
    }

    .cta-kontakt-head {
        margin-bottom: 1.5rem;
    }

    .cta-kontakt-cards > [class*="col-"] {
        margin-bottom: 1rem;
    }

    .cta-card {
        min-height: 220px;
        padding: 1.5rem 1.3rem;
    }

    .cta-divider-bottom {
        margin-top: 1.1rem;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    #cta-kontakt {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .cta-divider-top {
        margin-bottom: 1.1rem;
    }

    .cta-kontakt-head {
        margin-bottom: 1.2rem;
    }

    .cta-kontakt-head h3 {
        margin-bottom: .7rem !important;
    }

    .cta-kontakt-lead {
        font-size: 1.05rem;
        margin-bottom: .65rem;
    }

    .cta-kontakt-cards > [class*="col-"] {
        margin-bottom: .85rem;
    }

    .cta-card {
        min-height: auto;
        padding: 1.35rem 1.15rem;
    }

    .cta-card h5 {
        margin-bottom: .7rem;
    }

    .cta-card p {
        margin-bottom: 1rem;
        line-height: 1.55;
    }

    .cta-divider-bottom {
        margin-top: .85rem;
    }
}

/* =========================================================
   FINAL CLEANUP – Spacing / Hero / Sections / Navbar
   ans Ende der style.css setzen
   ========================================================= */

:root {
    --section-space-lg: 5.25rem;
    --section-space-md: 4.75rem;
    --section-space-sm: 4rem;
}

/* -----------------------------------------
   Allgemeine Section-Abstände
   ----------------------------------------- */

:root {
    --nav-anchor-offset: 105px;
}

#herausforderungen,
#leistungen,
#ueber-mich,
#cta-kontakt {
    padding-top: var(--section-space-lg);
    padding-bottom: var(--section-space-lg);
}

#kontakt {
    padding-top: 5rem;
    padding-bottom: 0;
}

@media (max-width: 991.98px) {
    :root {
        --nav-anchor-offset: 118px;
    }

    #herausforderungen,
    #leistungen,
    #ueber-mich,
    #cta-kontakt {
        padding-top: var(--section-space-md);
        padding-bottom: var(--section-space-md);
    }

    #kontakt {
        padding-top: 4.5rem;
    }
}

@media (max-width: 767.98px) {
    :root {
        --nav-anchor-offset: 102px;
    }

    #herausforderungen,
    #leistungen,
    #ueber-mich,
    #cta-kontakt {
        padding-top: var(--section-space-sm);
        padding-bottom: var(--section-space-sm);
    }

    #kontakt {
        padding-top: 4rem;
    }
}
/* =========================================================
   HERO – final
   ========================================================= */

#ts-hero {
    display: flex;
    position: relative;
    overflow: hidden;
    min-height: 100svh;
}

.hero-content-wrap {
    position: relative;
    z-index: 2;
}

.hero-content {
    max-width: 680px;
    padding-top: clamp(4.4rem, 7.6vh, 6.4rem);
    padding-bottom: clamp(1.75rem, 4vh, 3rem);
}

.hero-content h1 {
    margin-bottom: 1.6rem;
    font-size: clamp(3rem, 5vw, 5rem);
    line-height: .98;
    letter-spacing: -0.03em;
    text-wrap: balance;
}

.hero-copy {
    max-width: 620px;
}

.hero-copy p {
    color: rgba(47,49,46,.78);
    line-height: 1.68;
    margin-bottom: 1rem;
}

.hero-copy .hero-lead {
    font-size: 1.14rem;
    line-height: 1.65;
    color: rgba(47,49,46,.86);
    max-width: 34rem;
    margin-bottom: 1.1rem;
}

.hero-copy .hero-trust {
    max-width: 35rem;
    color: rgba(47,49,46,.74);
}

.hero-actions {
    margin-top: 1.6rem;
}

.hero-cta {
    background: linear-gradient(135deg,
        #a9d8cb 0%,
        #c7e3c2 38%,
        #d9cf99 100%);
    border: none;
    color: #2f312e;
    font-weight: 700;
    border-radius: 999px;
    padding: 1rem 1.8rem;
    box-shadow:
        0 10px 22px rgba(0,0,0,.08),
        0 0 18px rgba(169,216,203,.16);
    transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}

.hero-cta:hover {
    transform: translateY(-1px);
    box-shadow:
        0 14px 28px rgba(0,0,0,.10),
        0 0 24px rgba(169,216,203,.22);
    color: #2f312e;
}

/* Hero-Bild rechts */
#ts-hero > .ts-background > .ts-background-image.ts-z-index__1 {
    background-position: center 0px !important;
}

/* =========================================================
   HERO – weicher Übergang zwischen Text und Foto
   ========================================================= */

/* Organische Flächen */
#ts-hero .ts-background > .ts-background-image.ts-z-index__0,
#ts-hero .ts-background > .ts-background-image.ts-z-index__-1 {
    background-position: center center;
}

/* Tablet */
@media (max-width: 991.98px) {
    .hero-content {
        max-width: 100%;
        padding-top: 2.2rem;
        padding-bottom: 1.75rem;
    }

    .hero-copy,
    .hero-copy .hero-lead,
    .hero-copy .hero-trust {
        max-width: 100%;
    }

    .hero-content h1 {
        font-size: clamp(2.7rem, 7vw, 4rem);
        line-height: 1.01;
        margin-bottom: 1.35rem;
    }

    .hero-actions {
        margin-top: 1.35rem;
    }

    #ts-hero > .ts-background > .ts-background-image.ts-z-index__1 {
        background-position: center -12px !important;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .hero-content {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }

    .hero-content h1 {
        font-size: clamp(2.3rem, 9vw, 3.35rem);
        line-height: 1.03;
        margin-bottom: 1.15rem;
    }

    .hero-copy p {
        line-height: 1.6;
    }

    .hero-copy .hero-lead {
        font-size: 1.02rem;
    }

    .hero-actions {
        margin-top: 1.2rem;
    }

    .hero-cta {
        width: 100%;
        justify-content: center;
    }

    #ts-hero > .ts-background > .ts-background-image.ts-z-index__1 {
        background-position: center top !important;
    }
}

/* Flache Desktop-Screens */
@media (max-height: 820px) and (min-width: 992px) {
    .hero-content-wrap {
        align-self: flex-start !important;
        padding-top: 7.2rem;
    }

    .hero-content {
        padding-top: .9rem;
        padding-bottom: 1.6rem;
    }

    .hero-content h1 {
        font-size: clamp(2.55rem, 4.4vw, 4.2rem);
        line-height: 1.01;
        margin-bottom: 1.15rem;
    }

    .hero-copy .hero-lead {
        font-size: 1.03rem;
        margin-bottom: .9rem;
    }

    .hero-copy p {
        margin-bottom: .8rem;
        line-height: 1.55;
    }

    .hero-actions {
        margin-top: 1.1rem;
    }
}

/* Sehr flache Desktop-Screens */
@media (max-height: 700px) and (min-width: 992px) {
    .hero-content-wrap {
        align-self: flex-start !important;
        padding-top: 6.8rem;
    }

    .hero-content {
        padding-top: .75rem;
    }

    .hero-content h1 {
        font-size: clamp(2.2rem, 3.9vw, 3.5rem);
        line-height: 1.02;
    }

    .hero-copy {
        max-width: 540px;
    }

    .hero-copy p {
        font-size: .98rem;
        line-height: 1.5;
    }

    .hero-cta {
        padding: .9rem 1.5rem;
    }
}

/* -----------------------------------------
   Inhalt etwas harmonischer
   ----------------------------------------- */

#herausforderungen .herausforderungen-content,
#leistungen .leistungen-content,
#ueber-mich .ueber-mich-content {
    max-width: 560px;
}

#herausforderungen h2,
#leistungen h2,
#ueber-mich h2 {
    margin-bottom: 1.25rem;
}

#herausforderungen h4,
#leistungen h4,
#ueber-mich h4 {
    margin-bottom: 1.5rem;
}

#herausforderungen .herausforderungen-intro,
#ueber-mich .ueber-mich-intro {
    margin-top: 1.25rem;
    margin-bottom: 1.5rem;
}

/* =========================================================
   HERO – letzter Feinschliff Abstand zur Navi
   ========================================================= */

@media (min-width: 992px) {
    .hero-content {
        padding-top: clamp(4.7rem, 7.9vh, 6.7rem);
    }
}

/* Flache Desktop-Screens */
@media (max-height: 820px) and (min-width: 992px) {
    .hero-content-wrap {
        padding-top: 7.2rem;
    }

    .hero-content {
        padding-top: .9rem;
    }
}

/* Sehr flache Desktop-Screens */
@media (max-height: 700px) and (min-width: 992px) {
    .hero-content-wrap {
        padding-top: 6.8rem;
    }

    .hero-content {
        padding-top: .75rem;
    }
}

/* =========================================================
   HERO – finaler Responsive-Feinschliff
   Mobile + Tablet
   ========================================================= */

@media (max-width: 991.98px) {
    #ts-hero,
    #ts-hero.ts-full-screen {
        min-height: auto !important;
        height: auto !important;
    }

    .hero-content-wrap {
        align-self: flex-start !important;
    }

    .hero-content {
        max-width: 100%;
        padding-bottom: 2rem;
    }

    .hero-copy,
    .hero-copy .hero-lead,
    .hero-copy .hero-trust {
        max-width: 100%;
    }

    .hero-actions {
        margin-top: 1.1rem;
    }

    .hero-cta {
        display: flex;
        width: 100%;
        max-width: 100%;
        justify-content: center;
        align-items: center;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.3;
        padding: 1rem 1.2rem;
    }

    .hero-cta i {
        display: none;
    }

    /* Hero-Foto auf Tablet + Mobile ausblenden */
    #ts-hero > .ts-background > .ts-background-image.ts-z-index__1,
    #ts-hero .ts-background > .ts-background-image.ts-z-index__-1 {
        display: none;
    }

    /* linke organische Fläche dezent im Hintergrund */
    #ts-hero .ts-background > .ts-background-image.ts-z-index__0 {
        background-position: left top !important;
        opacity: .45;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
    .hero-content {
        padding-top: 10.4rem;
        padding-bottom: 1.8rem;
    }

    .hero-content h1 {
        font-size: clamp(3rem, 8vw, 4.2rem);
        line-height: 1.02;
        margin-bottom: 1.1rem;
    }

    .hero-copy p {
        line-height: 1.58;
        margin-bottom: .9rem;
    }

    .hero-copy .hero-lead {
        font-size: 1.05rem;
        margin-bottom: .95rem;
    }

    #herausforderungen {
        padding-top: 2.6rem;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .hero-content {
        padding-top: 10.4rem;
        padding-bottom: 1.6rem;
    }

    .hero-content h1 {
        font-size: clamp(2.2rem, 11vw, 3.3rem);
        line-height: 1.02;
        margin-bottom: 1rem;
        text-wrap: balance;
    }

    .hero-copy p {
        line-height: 1.55;
        margin-bottom: .9rem;
    }

    .hero-copy .hero-lead {
        font-size: 1rem;
        margin-bottom: .9rem;
    }

    .hero-cta {
        font-size: .98rem;
        padding: 1rem 1rem;
    }

    #herausforderungen {
        padding-top: 2.2rem;
    }
}

/* sehr kleine Geräte */
@media (max-width: 420px) {
    .hero-content {
        padding-top: 11.8rem;
    }

    .hero-cta {
        font-size: .94rem;
        padding: .95rem .95rem;
    }
}


/* =========================================================
   TABLET – Bildbereiche etwas präsenter
   ========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {
    .leistungen-images,
    .herausforderungen-images {
        min-height: 620px;
        max-width: 430px;
        margin-top: 2rem;
        margin-left: auto;
        margin-right: auto;
    }

    .leistungen-image-top,
    .herausforderungen-image-portrait {
        width: 78%;
    }

    .leistungen-image-bottom,
    .herausforderungen-image-square {
        width: 62%;
    }
}

/* =========================================================
   LEISTUNGEN – Kachelbereich Abstände bereinigt
   ========================================================= */

.leistungen-tiles-row {
    margin-top: 3.25rem;
}

.leistungen-tiles-title {
    margin-bottom: 2.25rem !important;
}

.leistungen-tiles-row > [class*="col-"] {
    margin-bottom: 1.5rem;
}

.leistung-tile {
    padding: 1.7rem 1.45rem;
    min-height: 210px;
}

.leistung-tile h5 {
    font-size: 1.02rem;
    line-height: 1.28;
    margin-bottom: .7rem;
}

.leistung-tile p {
    line-height: 1.6;
    margin-bottom: 0;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
    .leistungen-tiles-row {
        margin-top: 2.5rem;
    }

    .leistungen-tiles-title {
        margin-bottom: 1.6rem !important;
    }

    .leistungen-tiles-row > [class*="col-"] {
        margin-bottom: 1.2rem;
    }

    .leistung-tile {
        min-height: 190px;
        padding: 1.45rem 1.2rem;
    }

    .leistung-tile h5 {
        font-size: 1rem;
        margin-bottom: .6rem;
    }

    .leistung-tile p {
        line-height: 1.55;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .leistungen-tiles-row {
        margin-top: 2rem;
    }

    .leistungen-tiles-title {
        margin-bottom: 1.2rem !important;
    }

    .leistungen-tiles-row > [class*="col-"] {
        margin-bottom: 1rem;
    }

    .leistung-tile {
        min-height: auto;
        padding: 1.35rem 1.15rem;
    }

    .leistung-tile h5 {
        font-size: 1rem;
        line-height: 1.3;
        margin-bottom: .55rem;
    }

    .leistung-tile p {
        line-height: 1.5;
    }
}


/* =========================================================
   NAVBAR – final erweitert
   ========================================================= */

.iris-navbar-organic {
    transition: padding .25s ease;
}

.iris-navbar-organic .container {
    position: relative;
    z-index: 2;
}

.iris-navbar-organic .ts-background {
    opacity: 1 !important;
    background: rgba(250, 249, 246, 0.78) !important;
    border-bottom: 1px solid rgba(47, 49, 46, 0.06);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.022);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.iris-navbar-organic.navbar-scrolled .ts-background,
.iris-navbar-organic.ts-navbar-scrolled .ts-background {
    background: rgba(250, 249, 246, 0.92) !important;
    border-bottom: 1px solid rgba(47, 49, 46, 0.07);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.03);
}

.iris-navbar-organic .navbar-brand {
    position: relative;
    padding-top: 0;
    padding-bottom: 0;
    z-index: 2;
}

.iris-navbar-organic .navbar-brand::before {
    content: "";
    position: absolute;
    left: -3.2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 250px;
    height: 175px;
    border-radius: 42% 58% 46% 54% / 52% 41% 59% 48%;
    background:
        radial-gradient(circle at 15% 45%,
            rgba(144, 201, 143, .40) 0%,
            rgba(176, 214, 156, .28) 22%,
            rgba(196, 225, 216, .22) 42%,
            rgba(232, 221, 194, .16) 62%,
            rgba(255, 255, 255, 0) 82%);
    filter: blur(6px);
    opacity: .95;
    pointer-events: none;
    z-index: 0;
}

.iris-navbar-organic .navbar-brand::after {
    content: "";
    position: absolute;
    left: 1.8rem;
    top: 50%;
    transform: translateY(-50%);
    width: 220px;
    height: 140px;
    border-radius: 61% 39% 55% 45% / 47% 57% 43% 53%;
    background:
        radial-gradient(circle at 50% 50%,
            rgba(203, 230, 228, .22) 0%,
            rgba(225, 218, 166, .15) 38%,
            rgba(255, 255, 255, 0) 72%);
    filter: blur(10px);
    pointer-events: none;
    z-index: 0;
}

.iris-navbar-organic .navbar-brand img {
    position: relative;
    z-index: 1;
    height: auto;
    transition: transform .25s ease, opacity .25s ease;
}

.iris-navbar-organic .navbar-brand:hover img {
    transform: translateY(-1px);
    opacity: .96;
}

.iris-navbar-organic .navbar-nav .nav-link {
    position: relative;
    font-weight: 400;
    color: rgba(47, 49, 46, 0.5) !important;
    transition: color .25s ease, transform .25s ease;
}

.iris-navbar-organic .navbar-nav .nav-link:hover,
.iris-navbar-organic .navbar-nav .nav-link:focus {
    color: rgba(47, 49, 46, 0.78) !important;
}

.iris-navbar-organic .navbar-nav .nav-link.active {
    color: #2f312e !important;
}

.iris-navbar-organic .navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #9fd1c6 0%, #d8cf99 100%);
    box-shadow: 0 0 10px rgba(175, 213, 204, .18);
    transition: width .28s ease;
}

.iris-navbar-organic .navbar-nav .nav-link:hover::after,
.iris-navbar-organic .navbar-nav .nav-link.active::after {
    width: 100%;
}

.iris-navbar-organic .navbar-nav .nav-link.active::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 999px;
    background: radial-gradient(circle,
        rgba(180, 223, 218, .16) 0%,
        rgba(232, 221, 194, .10) 45%,
        rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
}

/* -----------------------------------------
   Desktop
   ----------------------------------------- */

@media (min-width: 992px) {
    .iris-navbar-organic {
        padding-top: .45rem;
        padding-bottom: .45rem;
    }

    .navbar.navbar-expand-lg.iris-navbar-organic .ts-background {
        opacity: 1 !important;
    }

    .iris-navbar-organic .navbar-brand img {
        width: 160px;
    }

    .iris-navbar-organic .navbar-nav .nav-link {
        margin-left: 1.25rem;
        padding: .28rem 0;
        font-size: .98rem;
    }

    .iris-navbar-organic .navbar-nav .nav-link::after {
        bottom: -.24rem;
    }

    .iris-navbar-organic .navbar-nav .nav-link.active::before {
        bottom: -.46rem;
        width: 60px;
        height: 15px;
    }
}

/* -----------------------------------------
   Tablet / Mobile
   ----------------------------------------- */

@media (max-width: 991.98px) {
    .iris-navbar-organic {
        padding-top: .75rem;
        padding-bottom: .75rem;
    }

    .iris-navbar-organic .navbar-brand::before {
        width: 180px;
        height: 110px;
        left: -1.15rem;
    }

    .iris-navbar-organic .navbar-brand::after {
        width: 120px;
        height: 80px;
        left: .95rem;
    }

    .iris-navbar-organic .navbar-brand img {
        width: 168px;
    }

    .iris-navbar-organic .navbar-toggler {
        border: 1px solid rgba(47,49,46,.10);
        border-radius: 14px;
        padding: .55rem .72rem;
        background: rgba(255,255,255,.74);
        box-shadow: 0 8px 20px rgba(0,0,0,.04);
        transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
    }

    .iris-navbar-organic .navbar-toggler:hover,
    .iris-navbar-organic .navbar-toggler:focus {
        background: rgba(255,255,255,.92);
        border-color: rgba(159,209,198,.35);
        box-shadow: 0 10px 24px rgba(0,0,0,.06);
        outline: none;
    }

    .iris-navbar-organic .navbar-toggler:focus {
        box-shadow: 0 0 0 3px rgba(169,216,203,.14);
    }

    .iris-navbar-organic .navbar-collapse {
        margin-top: .9rem;
        background: rgba(250, 249, 246, .97);
        border: 1px solid rgba(255,255,255,.72);
        border-radius: 1rem;
        padding: 1rem 1.05rem;
        box-shadow: 0 14px 30px rgba(0, 0, 0, .055);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .iris-navbar-organic .navbar-nav .nav-link {
        margin-left: 0;
        padding: .72rem 0;
        font-size: 1rem;
    }

    .iris-navbar-organic .navbar-nav .nav-link::after {
        display: none;
    }

    .iris-navbar-organic .navbar-nav .nav-link.active {
        padding-left: .9rem;
        font-weight: 600;
    }

    .iris-navbar-organic .navbar-nav .nav-link.active::before {
        display: block;
        left: 0;
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
        width: 4px;
        height: 22px;
        border-radius: 999px;
        background: linear-gradient(180deg, #9fd1c6 0%, #d8cf99 100%);
    }
}

/* -----------------------------------------
   Small Mobile
   ----------------------------------------- */

@media (max-width: 575.98px) {
    .iris-navbar-organic .navbar-brand img {
        width: 152px;
    }

    .iris-navbar-organic .navbar-toggler {
        padding: .5rem .65rem;
        border-radius: 13px;
    }

    .iris-navbar-organic .navbar-collapse {
        padding: .9rem .95rem;
    }

    .iris-navbar-organic .navbar-nav .nav-link {
        padding: .68rem 0;
        font-size: .98rem;
    }
}