/*!
 * Theme CSS Styles
 */



 @font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Light.woff2') format('woff2'),
        url('fonts/Poppins-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Bold.woff2') format('woff2'),
        url('fonts/Poppins-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-SemiBold.woff2') format('woff2'),
        url('fonts/Poppins-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Regular.woff2') format('woff2'),
        url('fonts/Poppins-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-ExtraBoldItalic.woff2') format('woff2'),
        url('fonts/Poppins-ExtraBoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-MediumItalic.woff2') format('woff2'),
        url('fonts/Poppins-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Black.woff2') format('woff2'),
        url('fonts/Poppins-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-ExtraLight.woff2') format('woff2'),
        url('fonts/Poppins-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-BoldItalic.woff2') format('woff2'),
        url('fonts/Poppins-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Italic.woff2') format('woff2'),
        url('fonts/Poppins-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-SemiBoldItalic.woff2') format('woff2'),
        url('fonts/Poppins-SemiBoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-LightItalic.woff2') format('woff2'),
        url('fonts/Poppins-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Medium.woff2') format('woff2'),
        url('fonts/Poppins-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Thin.woff2') format('woff2'),
        url('fonts/Poppins-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-ExtraBold.woff2') format('woff2'),
        url('fonts/Poppins-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-ExtraLightItalic.woff2') format('woff2'),
        url('fonts/Poppins-ExtraLightItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-BlackItalic.woff2') format('woff2'),
        url('fonts/Poppins-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-ThinItalic.woff2') format('woff2'),
        url('fonts/Poppins-ThinItalic.woff') format('woff');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}




/* Schriften */

html {
    font-size: 23px;
}

body {
    font-family: 'Poppins';
    font-weight: 400;
    line-height: 1.7;
    color: #11162B;
    background: #fff;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins';
    font-weight: 400;
    line-height: 1.2;
    color: #11162B;
}

p {
    margin-bottom: 1rem;
}

h1 {
    font-size: 2rem;
    font-weight: 500;
    padding-bottom: 35px;
}

.home h1 {
    font-size: 3.2rem;
}

h2 {
    font-size: 2.6rem;
    padding-bottom: 25px;
}

h3 {
    font-size: 1.6rem;
    padding-bottom: 20px;
}

h4 {
    font-size: 1.6rem; 
}

h5, h6 {
    font-size: .9rem;
    font-weight: 600;
}

a,
a:active,
a:visited,
a:focus,
a:focus-visible {
    color: #56B181;
    text-decoration: none;
}



/* Allgemein */

.row {
    width: 86%;
    max-width: 1700px;
    margin: 0 auto;
}

.team-row {
    width: 90% !important;
}

.button,
.menu-button a,
.gform_wrapper.gravity-theme .gform_button,
body .gpnf-modal .tingle-btn,
button.gpnf-add-entry {
    position: relative;
    display: inline-block;
    vertical-align: top;
    color: #fff !important;
    background: #56B181;
    padding: .75rem 2rem .75rem;
    font-size: .85rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    letter-spacing: 1px;
    border-radius: 40px;
    border: none;
    overflow: hidden;
    transition: all 400ms ease-in-out;
    cursor: pointer;
}

.button span {
    position: relative;
}


.cta-button-wrapper {
    margin-top: 5vh;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.cta-button-wrapper a:not(:last-child) {
    margin-right: 2vw;
}

.section-title-wrapper {
    text-align: center;
    margin-bottom: 6vh;
}



/* Header */

main {
    min-height: 100vh;
    padding-top: 175px;
}

#header {
    height: 175px;
    padding-bottom: 10px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    background: transparent;
    z-index: 999;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

#header.hidden-absolute {
    position: absolute;
    top: -100%;
    padding-bottom: 0;
    transform: translateY(-100%);
}

#header.hidden {
    height: 95px;
    position: fixed;
    top: 0;
    padding-bottom: 0;
    background: #fff;
    transform: translateY(-100%);
    box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.15);
    transition: all 600ms ease-in-out;
}

#header.fixed {
    height: 95px;
    position: fixed;
    top: 0;
    padding-bottom: 0;
    background: #fff;
    transform: translateY(0);
    box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.15);
    transition: all 600ms ease-in-out;
}


.logged-in #header:not(.hidden-absolute) {
    top: 32px;
}

.header-row {
    display: flex;
    flex-wrap: wrap;
}

.logo-col {
    width: 30%;
}

.menu-col {
    width: 70%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}

#header.hidden-absolute .menu-col,
#header.hidden .menu-col,
#header.fixed .menu-col {
    align-items: center;
}


ul#primary-menu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    list-style-type: none;
    padding: 0;
}

ul#primary-menu li:not(:last-child) {
   margin-right: 4vw;
}

ul#primary-menu li a:not(.menu-button a) {
    color: #11162B !important;
    font-size: 85%;
    transition: all 500ms ease;
    position: relative;
}

ul#primary-menu li a:not(.menu-button a):hover {
    color: #56B181 !important;
}

a.logo img {
    width: 9vw;
    transform: translate(0, 14px);
}

#header.hidden-absolute a.logo img,
#header.hidden a.logo img,
#header.fixed a.logo img {
    width: 115px;
    transform: translate(0, 3px);
}

ul#primary-menu li a:not(.menu-button a)::after {
    content: '';
    position: absolute;
    bottom: -7px;
    left: 0;
    right: 100%;
    height: 2px;
    background: #56B181;
    transition: all 500ms ease;
}

ul#primary-menu li a:not(.menu-button a):hover::after {
    right: 0;
    height: 2px;
}



/* Mobile Menü */

.mobile-trigger {
    display: none; 
    width: 45px;
    height: 28px;
    position: relative;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}

.mobile-trigger span {
    display: block;
    position: absolute;
    height: 3px;
    width: 45px;
    background: #56B181;
    border-radius: 3px;
    opacity: 1;
    left: 0;
    right: 0;
    margin: 0 auto;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

.mobile-trigger span:nth-child(1) {
    top: 0px;
}
  
.mobile-trigger span:nth-child(2), .mobile-trigger span:nth-child(3) {
    top: 12px;
}
  
.mobile-trigger span:nth-child(4) {
    top: 24px;
}

.mobile-trigger.open span:nth-child(1) {
    top: 12px;
    width: 0%;
    left: 50%;
}
  
.mobile-trigger.open span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
  
.mobile-trigger.open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
  
.mobile-trigger.open span:nth-child(4) {
    top: 12px;
    width: 0%;
    left: 50%;
}



/* Overlay Menü */

#overlay-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #e3f0e9;
    z-index: 998;
    padding-top: 250px;
}

ul#mobile-menu {
    list-style-type: none;
    padding: 0;
    text-align: center;
}

ul#mobile-menu li:not(:last-child){
    margin-bottom: 30px;
}

ul#mobile-menu li a:not(.menu-button a) {
    color: #11162B !important;
    font-size: 1.2rem;
    font-weight: 600;
    transition: all 300ms ease;
}

ul#mobile-menu .menu-button a {
    width: 240px;
}

.no-scroll {
    overflow: hidden;
}




/* Hero Home */

#home {
    height: 100vh;
}

#home .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
    background: #e3f0e9;
    border-radius: 3vw;
    padding: 4vh 5vw 8vh;
}

#home .hero-text-col {
    width: 48%;
    margin-right: 8%;
}

#home .hero-img-col {
    width: 44%;
}

#home img.hero-img {
    width: 100%;
    height: auto;
}

#home a.button {
    min-width: 300px;
}


/* Half-Half 003 */

.asp-block-003 {
    padding: 14vh 0;
}

.asp-block-003 .half-half-row {
    display: flex;
    flex-wrap: wrap;
}

.asp-block-003 .col-left {
    width: 53%;
    margin-right: 12%;
}

.asp-block-003 .col-right {
    width: 35%;
    height: 65vh;
    display: block;
    overflow: hidden;
    position: relative;
    border-radius: 3vw;
}

.asp-block-003 .col-right img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.asp-block-003.cols-flipped .half-half-row {
    flex-direction: row-reverse;
}

.asp-block-003.cols-flipped .col-left {
    margin-right: 0;
}


.asp-block-003.cols-flipped .col-right {
    margin-right: 12%;
}



/* Dienstleistungen */

.info-blocks-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5vw;
}


.info-blocks-row .col:only-child {
    grid-column: 1 / -1;
    width: 75%;
    justify-self: center;
}

.info-blocks-row .col {
    background: #e3f0e9;
    border-radius: 3vw;
    padding: 8vh 3vw;
}


.info-block {
    display: grid;
    height: 100%;
    grid-template-rows: auto 1fr;
    gap: 20px;
}

img.info-block-img {
    width: auto;
    height: 6vw;
    margin-bottom: 30px;
}


.info-block-details {
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 15px;
}

.info-block-details h4,
.info-block-details p {
    margin: 0;
}


#anlagemoeglichkeiten .info-blocks-row .col {
    background: #fff;
}


/* Anlagemöglichkeiten */

#anlagemoeglichkeiten {
    background: #e3f0e9;
    padding: 14vh 0 14vh;
}


/* Termin vereinbaren */

#termin-vereinbaren {
    padding: 21vh 0;
}

#termin-vereinbaren .half-half-row {
    align-items: center;
}



/* Erfahrungsberichte */

#erfahrungsberichte {
    padding: 21vh 0 14vh;
}

#erfahrungen .section-title-row {
    text-align: center;
    margin-bottom: 10vh;
}

.testimonial-item {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

.testimonial-img-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55%;
    height: 56vh;
    margin-right: 10%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 2vw;
}

img.testimonial-play-button {
    width: 6vw;
    height: auto;
    transition: all 400ms ease-in-out;
    cursor: pointer;
}

.testimonial-img-wrapper:hover .testimonial-play-button {
    transform: scale(1.2);
}

.testimonial-icon {
    width: auto;
    height: 8vh;
    margin-bottom: 40px;
}

.testimonial-content {
    width: 35%;
    padding-right: 0;
}

.testimonial-name {
    display: block;
    text-transform: uppercase;
    font-weight: 500;
    padding-top: 20px;
    color: #08453B;
}

.slick-nav-wrapper {
    position: absolute;
    bottom: 0;
    left: 65%;
    right: auto;
    display: flex;
    justify-content: center;
}

.slick-nav-wrapper ul.slick-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style-type: none;
    padding: 0 !important;
    font-size: 0;
}

.slick-nav-wrapper ul.slick-dots li {
    margin: 0 5px;
}

.slick-nav-wrapper ul.slick-dots button {
    width: 15px;
    height: 3px;
    font-size: 0;
    border-radius: 2px;
    background: #e3f0e9;
    border: none;
}

.slick-nav-wrapper ul.slick-dots .slick-active button {
    background: #56B181;
}

.slick-nav-wrapper .slick-arrow {
    cursor: pointer;
    width: 55px;
}

img.slick-prev {
    margin-right: 12px;
}

img.slick-next {
    margin-left: 12px;
}




/* Video Modals */

.video-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}

.video-modal.show-modal {
    display: flex;
}

.video-modal-content {
    display: flex;
    position: relative;
    width: 90%;
    max-width: 900px;
    height: auto;
    padding: 10px;
    background-color: #fff;
    border-radius: 0;
    text-align: center;
}

.close-video-modal {
    position: absolute;
    top: -60px;
    right: -40px;
    font-size: 50px;
    font-weight: 300;
    cursor: pointer;
    color: #fff;
}

.video-modal-content video {
    width: 100%;
    height: auto;
}


/* Imprint */

#imprint {
    padding: 7vh 0 14vh;
}

#imprint h1 {
    padding-bottom: 3rem !important;
    text-align: center;
}


/* Gravity Forms */

p.gform_required_legend {
    display: none !important;
}


.gform_wrapper.gravity-theme .gf_step_label {
    font-size: .65rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    padding-left: 0 !important;
    display: block !important;
    text-align: center !important;
    margin-top: .5rem !important;
    max-width: 135px;
}

.gform_wrapper.gravity-theme .gf_step {
    display: block !important;
    text-align: center !important;
    margin: 0 0 0 0 !important;
    width: 8.33%;
}

.gform_wrapper.gravity-theme .gf_page_steps {
    border-bottom: 1px solid #11162B !important;
    margin-bottom: 2rem !important;
    padding-bottom: 1rem;
    display: flex;
}

.gform_wrapper.gravity-theme .gf_step_number {
    background: #e3f0e9 !important;
    border: 2px solid #e3f0e9 !important;
    color: #56B181 !important;
    font-size: .8rem !important;
    font-weight: 500 !important;
    height: 2rem !important;
    text-align: center !important;
    width: 2rem !important;
    border-radius: 100% !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.gform_wrapper.gravity-theme .gf_step_active .gf_step_number,
.gform_wrapper.gravity-theme .gf_step_completed .gf_step_number {
    background: #56B181 !important;
    color: #fff !important;
    border: 2px solid #56B181 !important;
}

.gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::before {
    background: #56B181 !important;
    border: 2px solid #56B181 !important;
    border-radius: 100% !important;
    height: 2rem !important;
    width: 2rem !important;
}

.gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::after {
    font-size: 1.1rem !important;
}

.gpnf-nested-entries {
    border: 0 !important;
    margin-bottom: 0 !important;
}

.gpnf-nested-entries th {
    background-color: #fff !important;
    border-color: rgba(0, 0, 0, 0) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    border: 0 !important;
    padding: 0 !important;
}

tr.gpnf-no-entries {
    display: none !important;
}

.gpnf-nested-entries thead tr,
.gpnf-nested-entries tbody tr {
    display: flex;
    flex-wrap: wrap;
    column-gap: 2%;
}

.gpnf-nested-entries tbody tr:not(:first-child) {
    margin-top: .85rem;
}

td.gpnf-row-actions {
    width: 100% !important;
    font-size: .7rem !important;
    margin-top: -.25rem;
}

.gpnf-row-actions .delete a,
.gpnf-row-actions .delete-button {
    color: #11162b !important;
}

.gpnf-nested-entries td,
.gpnf-nested-entries th {
    border-bottom: 0 !important;
    padding: 0 !important;
    width: 32%;
}

.gpnf-nested-entries th {
    padding-bottom: .15rem !important;
}

.gpnf-nested-entries th:nth-child(1) {
    visibility: hidden;
}

.gpnf-nested-entries td:nth-child(1) {
    font-size: .9rem !important;
    font-weight: 500 !important;
    color: #11162B !important;
    transform: translate(0, -.7rem);
}

.gpnf-nested-entries th:nth-child(2),
.gpnf-nested-entries th:nth-child(3),
.gpnf-nested-entries td:nth-child(2),
.gpnf-nested-entries td:nth-child(3) {
    text-align: right !important;
}

.gpnf-nested-entries td:nth-child(2),
.gpnf-nested-entries td:nth-child(3) {
    font-size: .85rem;
    font-weight: 500 !important;
    color: #11162B !important;
}

.gform_wrapper.gravity-theme h2 {
    font-size: 1.3rem;
}

.gform_wrapper.gravity-theme input[type=number],
.gform_wrapper.gravity-theme .gfield_calculation input {
    border: 0 !important;
    color: #11162B !important;
    font-size: .85rem !important;
    font-weight: 500 !important;
    border-bottom: 1px solid #11162B !important;
    border-radius: 0 !important;
    -moz-appearance:textfield;
    text-align: right;
    padding: .25rem 0 !important;
}

.gform_wrapper.gravity-theme #gform_page_2_12 input[type=text],
.gform_wrapper.gravity-theme #gform_page_2_12 input[type=email],
.gform_wrapper.gravity-theme #gform_page_2_12 textarea {
    color: #11162B !important;
    font-size: .95rem !important;
    font-weight: 400 !important;
    border: 1px solid #56B181 !important;
    border-radius: 6px !important;
    text-align: left;
    padding: .35rem .5rem !important;
}

.gform_wrapper.gravity-theme #gform_page_2_12 textarea {
    border-radius: 12px !important;
}

.gform_wrapper.gravity-theme #gform_page_2_12 .gform_save_link {
    display: none !important;
}

.gform_wrapper.gravity-theme input[type='number']::-webkit-outer-spin-button,
.gform_wrapper.gravity-theme input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.gform_wrapper.gravity-theme .gfield_label {
    display: inline-block !important;
    font-size: .65rem !important;
    font-weight: 400 !important;
    padding: 0 !important;
}

.gform_wrapper.gravity-theme .gfield--type-number .gfield_label {
    display: block !important;
    margin-bottom: 0 !important;
    text-align: right !important;
}

.gfield--type-html {
    font-size: .9rem !important;
    font-weight: 500 !important;
    color: #11162B !important;
    display: flex;
    align-items: center;
}

.gform_wrapper.gravity-theme legend.gfield_label.gform-field-label {
    font-size: .9rem !important;
    font-weight: 500 !important;
    color: #11162B !important;
}

.gform_wrapper.gravity-theme .gform_previous_button.button,
.gform_wrapper.gravity-theme .gform_save_link.button {
    background-color: #e3f0e9 !important;
    color: #56b181 !important;
}

.gform_wrapper.gravity-theme .gform_previous_button.button svg,
.gform_wrapper.gravity-theme .gform_save_link.button svg {
    display: none !important;
}

.gform_wrapper.gravity-theme .gfield_required {
    display: none !important;
}

.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer {
    margin: 0 !important;
    padding: 2rem 0 0 !important;
    display: flex;
    justify-content: flex-end;
    column-gap: 2%;
}

button.gpnf-add-entry {
    margin: 0 0 1rem;
}

.gform_wrapper.gravity-theme .gfield--type-section {
    margin: 3rem 0 !important;
    border-bottom: 3px solid #56b181 !important;
    padding: 0 !important;
}


/* Modal Nested Fields */

.gpnf-modal .gpnf-modal-header {
    display: none !important;
}

.tingle-modal-box__footer {
    background: #fff !important;
    padding: 0 2rem 1.5rem !important;
}

.tingle-modal-box__content {
    padding: 3rem 3rem 1rem !important; 
}

.tingle-modal-box__footer .gpnf-btn-cancel-mobile {
    display: none !important;
}

.gpnf-modal .gform_wrapper.gravity-theme input[type=text] {
    color: #11162B !important;
    font-size: .95rem !important;
    font-weight: 400 !important;
    border: 1px solid #56B181 !important;
    border-radius: 6px !important;
    text-align: left;
    padding: .35rem .5rem !important;
}

.gpnf-modal .gform_wrapper.gravity-theme .gfield--type-text {
    transform: translate(0, -.5rem);
}

.gpnf-modal button.tingle-btn.tingle-btn--default.gpnf-btn-cancel {
    background: #e3f0e9 !important;
    color: #56B181 !important;
}



/* Zinseszins-Rechner */

div#gform_wrapper_1 {
    background: #e3f0e9;
    padding: 3rem 4rem;
    border-radius: 2rem;
    max-width: 900px;
    margin: 0 auto;
}

div#gform_wrapper_1 input[type=text],
div#gform_wrapper_1 input[type=number],
div#gform_wrapper_1 select {
    color: #11162B !important;
    font-size: .95rem !important;
    font-weight: 500 !important;
    border: 1px solid #56B181 !important;
    border-radius: 6px !important;
    text-align: left;
    padding: .35rem .5rem !important;
}

div#gform_wrapper_1 .gfield_label {
    display: block !important;
    margin-bottom: .25rem !important;
    text-align: left !important;
    font-size: .85rem !important;
    font-weight: 500 !important;
}

div#gform_wrapper_1 .gform_fields {
    grid-row-gap: 1.5rem;
}

/* Footer */

#footer {
    background: #08453B;
    color: #fff;
    padding: 12vh 0;
}

#footer a {
    color: #fff;
}

.footer-block {
    font-size: 90%;
}

.footer-links {
    font-size: 80%;
}

.footer-links a {
    display: inline-block;
}

.footer-links a:not(:last-child) {
    margin-bottom: 34px;
}

#footer h5 {
    color: #fff;
}

.footer-row {
    display: flex;
    flex-wrap: wrap;
}

.footer-col-one {
    width: 20%;
    margin-right: 5%;
}

.footer-col-two {
    width: 26%;
    margin-right: 20%;
}

.footer-col-three {
    width: 15%;
    margin-right: 5%;
}

.footer-col-four {
    width: 9%;
    margin-right: 0;
}

.footer-logo-wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 30px;
}

img.footer-logo {
    width: auto;
    height: 10vh;
}

.footer-contact {
    padding-top: calc(30px + 10vh);
}

.footer-newsletter {
    padding-top: calc(1em + 40px);
}

#footer h5 {
    color: #fff;
    padding: 15px 0 45px;
}

.footer-social-wrapper {
    margin-top: 30px;
    display: flex;
}

.footer-social-wrapper a {
    display: inline-block;
}

.footer-social-wrapper a:not(:last-child) {
    margin-right: 30px;
}


.footer-social-wrapper a img {
    width: 2.75vw;
    height: 2.75vw;
}








@media all and (max-width: 1700px) {

    html {
        font-size: 21px;
    }

    .row {
        width: 88%;
    }

    main {
        padding-top: 160px;
    }
    
    #header {
        height: 160px;
    }

    .slick-nav-wrapper .slick-arrow {
        width: 50px;
    }

    .footer-col-two {
        width: 22%;
        margin-right: 24%;
    }

    .footer-links a:not(:last-child) {
        margin-bottom: 31px;
    }
    
}


@media all and (max-width: 1600px) {

    html {
        font-size: 20px;
    }

    img.info-block-img {
        height: 6.5vw;
    }

    .footer-social-wrapper a img {
        width: 3vw;
        height: 3vw;
    }
    
}


@media all and (max-width: 1500px) {

    main {
        padding-top: 150px;
    }
    
    #header {
        height: 150px;
    }

    .row {
        width: 90%;
    }

    .testimonial-img-wrapper {
        height: 54vh;
    }
    
}


@media all and (max-width: 1400px) {

    html {
        font-size: 19px;
    }

    img.info-block-img {
        height: 7vw;
    }

    .button,
    .menu-button a,
    .gform_wrapper.gravity-theme .gform_button {
        padding: .8rem 2rem .8rem;
    }

    .testimonial-img-wrapper {
        height: 58vh;
    }

    .footer-links a:not(:last-child) {
        margin-bottom: 29px;
    }

    #footer h5 {
        padding: 15px 0 40px;
    }

    .footer-social-wrapper a img {
        width: 3.5vw;
        height: 3.5vw;
    }
    
}


@media all and (max-width: 1300px) {

    html {
        font-size: 18px;
    }

    main {
        padding-top: 140px;
    }
    
    #header {
        height: 140px;
    }

    a.logo img {
        width: 115px;
    }

    ul#primary-menu li a:not(.menu-button a) {
        font-size: 90%;
    }

    .button,
    .menu-button a,
    .gform_wrapper.gravity-theme .gform_button {
        padding: .85rem 2rem .8rem;
    }

    img.info-block-img {
        height: 7vw;
        margin-bottom: 20px;
    }

    .slick-nav-wrapper .slick-arrow {
        width: 45px;
    }

    .footer-col-two {
        width: 24%;
        margin-right: 22%;
    }

}


@media all and (max-width: 1024px) {

    html {
        font-size: 16px;
    }

    main {
        padding-top: 135px;
    }

    .button,
    .menu-button a,
    .gform_wrapper.gravity-theme .gform_button {
        padding: .85rem 2rem .85rem;
        font-size: 85%;
    }

    #header.hidden-absolute {
        position: absolute;
        top: 0;
        padding-bottom: 0;
        transform: translateY(-0);
    }

    #header {
        height: 85px !important;
        position: fixed !important;
        top: 0 !important;
        padding-bottom: 0;
        background: #fff;
        transform: translateY(0) !important;
        box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.15) !important;
    }

    #header.hidden-absolute {
        position: fixed !important;
        top: 0 !important;
        padding-bottom: 0;
        transform: translateY(-0);
    }

    #header a.logo img,
    #header.hidden-absolute a.logo img,
    #header.hidden a.logo img,
    #header.fixed a.logo img {
        transform: translate(0, 3px) !important;
    }

    .logged-in #header {
        top: 32px !important;
    }


    .menu-hauptmenue-container {
        display: none;
    }

    .mobile-trigger {
        display: block;
    }

    .menu-col {
        align-items: center !important;
    }

    #home {
        height: 75vh;
    }

    .home h1 {
        font-size: 3rem;
    }

    h2 {
        font-size: 2.2rem;
        padding-bottom: 20px;
    }

    .info-blocks-row .col {
        padding: 6vh 3vw;
    }

    .section-title-wrapper {
        margin-bottom: 4vh;
    }

    .cta-button-wrapper {
        margin-top: 3vh;
    }

    img.info-block-img {
        height: 75px;
        margin-bottom: 15px;
    }

    .asp-block-003 .col-left {
        width: 56%;
        margin-right: 8%;
    }

    .asp-block-003 .col-right {
        width: 36%;
        height: 55vh;
    }

    .asp-block-003.cols-flipped .col-right {
        margin-right: 8%;
    }

    .testimonial-img-wrapper {
        height: 42vh;
        margin-right: 6%;
    }

    .testimonial-icon {
        width: auto;
        height: 50px;
        margin-bottom: 25px;
    }

    .testimonial-content {
        width: 39%;
    }

    .slick-nav-wrapper {
        left: 61%;
    }

    .testimonial-name {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .slick-nav-wrapper .slick-arrow {
        width: 40px;
    }

    .video-modal-content {
        max-width: 800px;
    }

    .close-video-modal {
        top: -65px;
        right: -5px;
    }

    .footer-col-two {
        width: 26%;
        margin-right: 15%;
    }

    .footer-col-two {
        width: 26%;
        margin-right: 15%;
    }

    .footer-links a:not(:last-child) {
        margin-bottom: 31px;
    }

    .asp-block-003 {
        padding: 12vh 0;
    }

    #termin-vereinbaren {
        padding: 17vh 0;
    }

    #anlagemoeglichkeiten {
        padding: 12vh 0 12vh;
    }

    #erfahrungsberichte {
        padding: 17vh 0 12vh;
    }

    #footer {
        padding: 10vh 0;
    }

}



@media all and (max-width: 982px) {

    main {
        padding-top: 125px;
    }

    .logged-in #header {
        top: 46px !important;
    }

    #home .row {
        padding: 6vh 5vw 5vh;
    }

    #home .hero-text-col {
        width: 100%;
        margin-right: 0;
    }

    #home .hero-img-col {
        width: 100%;
    }

    #home {
        height: auto;
    }

    #home .hero-img-col {
        width: 100%;
        text-align: center;
        margin-top: 5vh;
    }

    #home img.hero-img {
        width: 70%;
        height: auto;
        margin: 0 auto;
    }

    .asp-block-003 .col-left {
        width: 100%;
        margin-right: 0;
    }

    .asp-block-003 .col-right {
        width: 100%;
        height: 400px;
        margin-top: 8vh;
    }

    .asp-block-003.cols-flipped .col-right {
        margin-right: 0;
    }

    .section-title-wrapper {
        margin-bottom: 3vh;
    }

    .info-blocks-row {
        grid-template-columns: 1fr;
        gap: 3vh;
    }

    .info-blocks-row .col {
        padding: 4vh 5vw;
    }

    #termin-vereinbaren {
        padding: 13vh 0;
    }

    .info-blocks-row .col:only-child {
        width: 100%;
    }

    #anlagemoeglichkeiten {
        padding: 8vh 0 8vh;
    }

    #erfahrungsberichte {
        padding: 13vh 0 8vh;
    }

    .testimonial-img-wrapper {
        height: 375px;
        margin-right: 0;
        margin-bottom: 4vh;
        width: 100%;
    }

    .testimonial-content {
        width: 95%;
    }

    .testimonial-name {
        padding-bottom: 0;
    }

    .slick-nav-wrapper {
        bottom: 5px;
        left: auto !important;
        right: 0;
    }

    img.testimonial-play-button {
        width: 65px;
    }

    #footer {
        padding: 6vh 0 3vh;
    }

    img.footer-logo {
        width: auto;
        height: 70px;
    }

    .footer-contact {
        padding-top: calc(30px + 7vh);
    }

    .footer-social-wrapper {
        margin-top: 25px;
    }

    .footer-newsletter {
        padding-top: calc(1em + 28px);
    }

    .footer-social-wrapper a img {
        width: 38px;
        height: 38px;
    }

    .footer-col-one {
        width: 46%;
        margin-right: 8%;
    }

    .footer-col-two {
        width: 46%;
        margin-right: 0;
    }

    .footer-col-three {
        width: 100%;
        margin-right: 0;
        text-align: center;
        margin-top: 6vh;
    }

    .footer-col-four {
        width: 100%;
        margin-right: 0;
        text-align: center;
        margin-top: 4vh;
    }

    #footer h5 {
        padding: 0 0 10px;
    }

    .footer-links a:not(:last-child) {
        margin-bottom: 0;
        margin-right: 25px;
    }

    .footer-links {
        font-size: 85%;
    }

    .footer-links br {
        display: none;
    }

    .footer-links p {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

}



@media all and (max-width: 600px) {

    main {
        padding-top: 115px;
    }

    .home h1 {
        font-size: 2.2rem;
        padding-bottom: 25px;
    }

    h2 {
        font-size: 1.6rem;
        padding-bottom: 20px;
    }

    h4 {
        font-size: 1.4rem;
    }

    #home .row {
        padding: 6vh 25px 5vh;
    }

    #home img.hero-img {
        width: 90%;
    }

    #home .hero-img-col {
        margin-top: 6vh;
    }

    #home a.button {
        min-width: 0;
    }

    .cta-button-wrapper a {
        width: 100% !important;
    }

    .cta-button-wrapper {
        margin-top: 5vh;
    }

    .asp-block-003 .col-right {
        height: 225px;
    }

    img.info-block-img {
        height: 70px;
        margin-bottom: 10px;
    }

    .info-blocks-row .col {
        padding: 6vh 25px;
    }

    .info-blocks-row .cta-button-wrapper {
        margin-top: 3vh;
    }

    #anlagemoeglichkeiten {
        padding: 12vh 0 12vh;
    }

    .testimonial-img-wrapper {
        height: 215px;
    }

    .video-modal-content {
        padding: 5px;
    }

    #erfahrungsberichte {
        padding: 12vh 0 16vh;
    }

    .slick-nav-wrapper {
        bottom: -45px;
        left: 0 !important;
        right: 0;
    }

    #footer {
        padding: 8vh 0 6vh;
    }

    img.footer-logo {
        width: auto;
        height: 65px;
        margin: 0 auto;
    }

    .footer-social-wrapper {
        margin-top: 20px;
        justify-content: center;
    }

    .footer-col-one {
        width: 100%;
        margin-right: 0;
        text-align: center;
    }

    .footer-col-two {
        width: 100%;
        margin-right: 0;
        text-align: center;
    }

    .footer-col-three .footer-links a:not(:last-child) {
        margin-bottom: 10px;
        margin-right: 0;
    }

    .footer-col-three .footer-links br {
        display: block !important;
    }

    .footer-col-three .footer-links p {
        display: block;
    }

    .footer-contact {
        padding-top: 5vh;
    }

    .footer-col-three {
        margin-top: 8vh;
    }

    .footer-col-four {
        margin-top: 6vh;
    }

    .footer-newsletter {
        padding-top: 4vh;
    }

}