/* Source Sans 3 Variable Font */
@font-face {
    font-family: 'Source Sans 3';
    src:
        url('../fonts/SourceSans3-VariableFont_wght.woff2') format('woff2-variations'),
        url('../fonts/SourceSans3-VariableFont_wght.ttf') format('truetype-variations');
    font-weight: 100 900;
    /* min bis max Gewicht */
    font-style: normal;
}

@font-face {
  font-family: "FFKievitPro";
  src: url('../fonts/FFKievitProMedium.woff2') format('woff2'), url('../fonts/FFKievitProMedium.woff') format('woff');
    font-weight: 500;
}

@font-face {
  font-family: "FFKievitPro";
  src: url('../fonts/FFKievitProRegular.woff2') format('woff2'), url('../fonts/FFKievitProRegular.woff') format('woff');
    font-weight: 400;
}

@font-face {
  font-family: "FFKievitPro";
  src: url('../fonts/FFKievitProBold.woff2') format('woff2'), url('../fonts/FFKievitProBold.woff') format('woff');
    font-weight: 600;
}


:root {
    --primary: #002155;
    --secondary: #AE0014;
    --mittelblau: #637898;
    --hellblau: #ECF1F8;
    --akzent: #AE0014;
    --link: #002155;
    --text: #676767;
    --footer: #002155;
    --footerblau: #BCC8DB;
    --white: #FFF;
    --trenner: #EAEAEA;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */

html * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    hyphens: none;
    padding: 0px;
    margin: 0px;
    box-sizing: border-box;
    line-height: 0;
}

body {
    font-size: 1rem;
    font-family: 'FFKievitPro', sans-serif;
    font-weight: 300;
    color: var(--text);
}

p,
ul,
ol {
    font-size: 1.25rem;
    font-family: 'FFKievitPro', sans-serif;
    font-weight: 400;
    color: var(--text);
    margin-bottom: 20px;
    margin-top: 20px;
    text-align: left;
    line-height: 1.4em;
}

ul,
ol,
li {
    line-height: 1.8em;
}

a {
    font-size: 1.25rem;
    line-height: 1.4em;
    font-family: 'FFKievitPro', sans-serif;
    font-weight: 400;
    color: var(--link);
    text-decoration: none !important;
    letter-spacing: 0.4px;
}

a:hover,
a:visited,
a:active,
a:focus {
    text-decoration: none !important;
    color: var(--link);
    outline: none !important;
}

h1,
h2,
h3,
h4 {
    text-transform: uppercase;
    color: var(--mittelblau);
    font-weight: 500;
    text-align: center;
    font-size: 4.5rem;
    line-height: 1em;
}

h1 {
    font-size: 1.25rem;
    color: var(--text);
    text-align: center;
    margin: 0 auto;
    font-weight: 400;
    text-transform: none;
}

h2.top {
    font-size: 2.5rem;
    color: var(--primary);
    text-align: center;
    text-transform: uppercase;
    margin: 20px auto 50px;
    font-weight: 500;
}

h2 {
    font-size: 1.25rem;
    color: var(--text);
    text-align: center;
    margin: 0 auto;
    font-weight: 400;
    text-transform: none;
}

h3 {
    font-size: 2.5rem;
    color: var(--primary);
    text-align: center;
    margin: 20px auto 50px;
    max-width: 800px;
    line-height: 1.2em;
}

h4 {
    font-size: 2.5rem;
    color: var(--mittelblau);
    text-align: center;
    margin: 20px auto 50px;
}


/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++ Layout +++++++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */

.wrapper {
    margin: 100px auto 0px;
    max-width: 1920px;
}

section {
    position: relative;
    margin: 80px 0px;
}

.content {
    width: 100%;
    max-width: 1360px;
    padding: 0 40px;
    margin: auto;
}

.content.fullwidth {
    position: relative;
    max-width: 100%;
    padding: 0;
}

section.bg_hellblau .content {
    padding-top: 20px;
    padding-bottom: 40px;
}

.text_center {
    text-align: center;
}

.maxwidth800 {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

img.fullwidth {
    width: 100%;
    margin: 80px auto;
}

.sprungmarke {
    position: absolute;
    top: -160px;
}

.padding_bottom0 {
    padding-bottom: 0 !important;
}

.margin_bottom0 {
    margin-bottom: 0px !important;
}

.margin_bottom50 {
    margin-bottom: 50px !important;
}

.margin_top0 {
    margin-top: 0px !important;
}

.margin_top60 {
    margin-top: 60px !important;
}

.margin_top80 {
    margin-top: 80px !important;
}

.margin_top220 {
    margin-top: 220px !important;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++ Navigation +++++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */

nav {
    position: fixed;
    z-index: 10000;
    top: 0px;
    width: 100%;
    background-color: var(--primary);
}

nav .content {
    display: grid;
    grid-template-columns: 1fr 240px 1fr;
    grid-gap: 20px;
    align-items: center;
    max-width: 1360px;
    height: 100px;
    margin: auto;
    padding: 0px 40px;
}

.navigation {
    z-index: 1000;
}

.hamburger {
    display: grid;
    align-content: center;
    justify-content: center;
    background-color: var(--primary);
    width: 40px;
    height: 40px;
    transition: .3s;
}

.hamburger span {
    display: block;
    width: 40px;
    height: 3px;
    background-color: var(--white);
    margin: 4px;
    transition: .3s;
}

.hamburger:hover span {
    margin: 7px 5px;
    transition: .3s;
}

#hauptnavi {
    display: none;
}

#hauptnavi.active {
    display: block;
    position: absolute;
    left: 0px;
    width: 100%;
    z-index: 1000;
    margin: 0px;
    background-color: #fff;
    box-shadow: 0px 5px 15px #0003;
    padding: 90px 20px 30px;
}

#hauptnavi ul {
    margin: 0px;
}

#hauptnavi li {
    display: block;
}

#hauptnavi li a,
#hauptnavi li p {
    display: inline-block;
    width: 100%;
    font-size: 1.375rem;
    font-weight: 400;
    color: var(--primary);
    margin-bottom: 15px;
    text-align: center;
    text-transform: uppercase;
    transition: .3s;
}

#hauptnavi li:nth-child(2) a {
    margin-bottom: 5px;
}

#hauptnavi ul li a {
    font-size: 1.125rem;
    font-weight: 400;
    color: var(--mittelblau);
    margin-bottom: 5px;
}

#hauptnavi ul li:last-child a {
    margin-bottom: 15px;
}

#hauptnavi li a:hover {
    color: var(--akzent);
    transition: .3s;
}

.schnellnavi {
    position: absolute;
    top: 120px;
    right: 0px;
    display: grid;
    grid-template-rows: 72px 72px 72px;
    grid-gap: 20px;
    opacity: 0;
    pointer-events: none;
    /* nicht anklickbar, solange unsichtbar */
    transition: opacity 1s ease;
}

.schnellnavi.visible {
    opacity: 1;
    pointer-events: auto;
}

.schnellnavi div {
    position: relative;
}

.schnellnavi div a {
    cursor: pointer;
}

.schnellnavi div a:first-child {
    display: flex;
    position: absolute;
    z-index: 99;
    top: 40px;
    right: -220px;
    width: 220px;
    justify-content: center;
    align-content: center;
    background-color: var(--hellblau);
    border-radius: 0px;
    padding: 10px 25px 10px 15px;
    margin-top: -20px;
    box-shadow: 5px 5px 5px #00215522;
}

.schnellnavi div.active a:first-child {
    animation: schnellnaviactive 0.3s ease-out forwards;
}

@keyframes schnellnaviactive {
    0% {
        right: -220px;
        opacity: 0;
    }

    10% {
        right: 40px;
        opacity: 0;
    }

    100% {
        right: 70px;
        opacity: 1;
    }
}

.schnellnavi div a:nth-child(2) {
    position: relative;
    z-index: 999;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* +++++++++++++++++++ Content +++++++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++ Startseite +++++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */


section.startseite_keyvisual {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}

.barrierefrei {
    width: 40px;
}

.logo {
    position: relative;
    width: 240px;
}

.logo img {
    position: absolute;
    z-index: 10000;
    top: -30px;
    left: 0px;
    width: 100%;
}

hr {
    border: none;
    height: 2px;
    width: 100%;
    max-width: 800px;
    margin: 80px auto;
    background: var(--trenner)
}

.video-fullwidth {
    width: 100%;
    height: 800px;
    display: block;
    object-fit: cover;
    outline: none;
    border: 0;
}

a.runder_btn {
    position: absolute;
    z-index: 10;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 150px;
    height: 150px;
    font-size: 1.5rem;
    text-align: center;
    line-height: 1.4em;
    font-weight: 400;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--white);
    border-radius: 500px;
    transition: .3s;
}

a.runder_btn:hover {
    opacity: .7;
    transition: .3s;
}

.startseite .startseite_top {
    max-width: 700px;
}

.startseite .startseite_top h1 {
    font-size: 1.25rem;
    color: var(--text);
    text-align: center;
    margin: 0 auto;
    font-weight: 400;
    text-transform: none;
}

.startseite .startseite_top h2 {
    font-size: clamp(3.5rem, 7vw, 5rem);
    color: var(--mittelblau);
    text-align: center;
    margin: 30px auto 50px;
    font-weight: 600;
    text-transform: uppercase;
}

.startseite .startseite_top p {
    text-align: center;
}

.slider.immo_der_woche .teaser_immo_der_woche {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 730 auto auto 45px;
    grid-gap: 10px;
}

.slider.immo_der_woche .slick-dots {
    display: none !important;
}

.teaser_immo_der_woche p.ort {
    font-size: clamp(1.25rem, 4vw, 1.75rem);
    line-height: 1em;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    margin: 40px auto 0;
    padding: 0 20px;
    color: var(--primary);
}

.teaser_immo_der_woche p.preis {
    font-size: 1.375rem;
    font-weight: 300;
    text-transform: uppercase;
    text-align: center;
    color: var(--mittelblau);
    margin: 0 auto;
    padding: 0 20px;
}

.teaser_immo_der_woche a.link {
    display: block;
    font-size: 1.25rem;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    color: var(--white);
    background-color: var(--mittelblau);
    padding: 5px 20px;
    margin: 20px auto 60px;
    cursor: pointer;
    transition: .3s;
}

.teaser_immo_der_woche a.link:hover {
    background-color: var(--primary);
    transition: .3s;
}

a.btn_zur_immobiliensuche {
    display: block;
    max-width: 280px;
    font-size: 1.25rem;
    line-height: 1.1em;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    color: var(--white);
    background-color: var(--secondary);
    padding: 10px 20px;
    margin: 30px auto 60px;
    cursor: pointer;
    transition: .3s;
}

a.btn_zur_immobiliensuche:hover {
    background-color: var(--primary);
    transition: .3s;
}

.startseite_teaser_container {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 80px;
    margin-top: 100px;
}

.startseite_teaser {
    flex-basis: calc(33.333% - 54px);
    display: grid;
    grid-row-gap: 20px;
    grid-template-rows: auto auto 22px 1fr 85px;
}

.startseite_teaser div {
    position: relative;
}

.startseite_teaser div img {
    display: block;
    width: 140px;
    height: auto;
    margin: auto;
}

.startseite_teaser div hr {
    position: absolute;
    top: 50px;
    border: none;
    height: 3px;
    width: 100%;
    margin: 20px auto;
    background: var(--trenner);
    z-index: -1;
}

.startseite_teaser h2 {
    font-size: 1.25rem;
    text-align: center;
    text-transform: none;
    font-weight: 400;
    color: var(--text);
    margin: 0;
}

.startseite_teaser h3 {
    font-size: 1.75rem;
    text-align: center;
    color: var(--primary);
    text-transform: uppercase;
    font-weight: 500;
    margin: 0 auto;
}

hr.trenner_small {
    border: none;
    height: 2px;
    width: 50%;
    margin: 10px auto;
    background: var(--trenner)
}

.startseite_teaser p {
    margin: 0;
    text-align: center;
    line-height: 1.6em;
}

.startseite_teaser a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 45px;
    width: 100%;
    max-width: 250px;
    background-color: var(--hellblau);
    font-size: 1.25rem;
    text-transform: uppercase;
    font-weight: 400;
    margin: 20px auto 0;
    transition: .3s;
}

.startseite_teaser a:hover {
    background-color: var(--primary);
    color: var(--white);
    transition: .3s;
}

.startseite_teaser_small {
    display: flex;
    flex-wrap: wrap;
    grid-column-gap: 20px;
}

.startseite_teaser_small a {
    flex-basis: calc(50% - 10px);
}

a.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 45px;
    width: 100%;
    max-width: 250px;
    background-color: var(--hellblau);
    font-size: 1.25rem;
    text-transform: uppercase;
    font-weight: 400;
    margin: 20px auto 0;
    cursor: pointer;
    transition: .3s;
}

a.btn.btn_dunkelblau {
    background-color: var(--mittelblau);
    color: var(--white);
    transition: .3s;
}

a.btn:hover {
    background-color: var(--primary);
    transition: .3s;
}

.startseite_teaser.startseite_vertrauen {
    grid-template-rows: 50px auto;
    align-content: start;
}

.hintergrundbild {
    width: 100%;
}

.chefsache .overlay {
    background-image: linear-gradient(to bottom, var(--primary) 0%, var(--primary) 50%, transparent 100%);
    position: relative;
    z-index: 10;
    padding-top: 1px;
    padding-bottom: 200px;
}

.bild_chefsache {
    overflow: hidden;
    height: 800px;
    position: relative;
    z-index: 0;
    margin-top: -400px;
}

.chefsache img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom center;
}

.chefsache h2 {
    color: var(--white);
    font-size: 3.375rem;
    text-align: center;
    text-transform: uppercase;
    margin: 80px auto 40px;
}

.chefsache hr {
    border: none;
    height: 1px;
    width: 100%;
    max-width: 800px;
    margin: 40px auto 50px;
    background: unset;
    background-image: linear-gradient(to left, transparent 0%, var(--white) 70%, transparent 100%);
}

.chefsache p {
    text-align: center;
    color: var(--white);
    max-width: 800px;
    margin: 40px auto;
}

.chefsache a.whitebtn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
    width: 100%;
    max-width: 250px;
    background-color: var(--white);
    color: var(--primary);
    font-size: 1.25rem;
    text-transform: uppercase;
    font-weight: 400;
    margin: 0 auto;
    cursor: pointer;
    transition: .3s;
}

.chefsache a.whitebtn:hover {
    background-color: var(--mittelblau);
    transition: .3s;
}

.teaser_aktuelles {
    display: grid;
    grid-template-columns: 3fr 5fr;
    grid-gap: 50px;
}

.teaser_aktuelles_texte {
    position: relative;
}

.teaser_aktuelles .teaser_aktuelles_texte p.headline {
    margin: -6px 0 0;
    font-size: 1.5rem;
    font-weight: 500;
}

.teaser_aktuelles .teaser_aktuelles_texte p.datum {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 400;
    color: var(--mittelblau);
}

.teaser_aktuelles .teaser_aktuelles_texte p.aufmacher {
    margin: 20px 0 60px;
    font-size: 1.25rem;
    font-weight: 300;
}

.teaser_aktuelles .teaser_aktuelles_texte a.link {
    bottom: 0px;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 35px;
    width: 100%;
    max-width: 120px;
    background-color: var(--hellblau);
    color: var(--primary);
    font-size: 1.25rem;
    text-transform: uppercase;
    font-weight: 300;
    padding: 0 20px;
    cursor: pointer;
    transition: .3s;
}

.teaser_aktuelles .teaser_aktuelles_texte a.link img {
    height: 11px;
    width: 8px;
    margin-right: 10px;
}

.teaser_aktuelles .teaser_aktuelles_texte a.link:hover {
    background-color: var(--primary);
    color: var(--white);
    text-transform: uppercase;
    transition: .3s;
}

.teaser_aktuelles img.artikelbild {
    width: 100%;
    min-width: 300px;
    max-width: 400px;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++ Über uns +++++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */

.content_keyvisual {
    margin: 0px;
    height: 570px;
    display: flex;
    align-content: center;
    background-position: center;
}


.ueber_uns .content_keyvisual {
    background-image: linear-gradient(to right, #002155c9 10%, #0021565c 80%), url('../img/keyvisual_ueber_uns.jpg');
}

.content_keyvisual .headline_keyvisual {
    font-size: clamp(3.25rem, 7vw, 4.25rem);
    text-transform: uppercase;
    color: var(--white);
    font-weight: 500;
    line-height: 1em;
    max-width: 640px;
}

a.btn_hellblau {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 45px;
    width: 100%;
    max-width: 250px;
    background-color: var(--hellblau);
    font-size: 1.25rem;
    text-transform: uppercase;
    font-weight: 400;
    margin: 20px auto 0;
    transition: .3s;
}

a.btn_hellblau:hover {
    background-color: var(--primary);
    color: var(--white);
    transition: .3s;
}

ul.liste_features {
    list-style: none;
    margin-top: 60px;
}

ul.liste_features li {
    text-align: center;
    font-size: 1.5rem;
    color: var(--mittelblau);
    font-weight: 400;
    line-height: 1.4em;
    max-width: 640px;
    margin: 20px auto;
}

ul.liste_features li:not(:last-child) {
    border-bottom: 1px solid var(--mittelblau);
    padding-bottom: 20px;
}


.uber_uns_video {
    width: 100%;
    max-width: 1360px;
    margin: auto;
}

.uber_uns_video img {
    width: 100%;
}

.kennzahlengrid {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 40px;
    justify-content: center;
    margin-top: 80px;
}

div.kennzahlcontainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    border-radius: 500px;
    box-shadow: 5px 5px 10px var(--footerblau);
    width: 220px;
    height: 220px;
}

div.kennzahlcontainer p {
    font-size: 1.25rem;
    color: var(--mittelblau);
    text-transform: uppercase;
    margin: 0;
    text-align: center;
    line-height: 1em;
}

div.kennzahlcontainer p.zahl {
    font-size: 3.75rem;
    color: var(--mittelblau);
    font-weight: 500;
    text-transform: none;
    margin-bottom: 10px;
}


div.kennzahlcontainer p.zahl span {
    font-size: 2.25rem;
}

.geschaeftsfuehrergrid {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 80px;
    justify-content: center;
    align-content: flex-start;
    margin: 80px auto;
}

.geschaeftsfuehrer {
    width: calc(33% - 51px);
    position: relative;
}

.geschaeftsfuehrer img {
    width: 100%;
    max-width: 398px;
    display: block;
    margin: auto;
}

.geschaeftsfuehrer p.name {
    font-size: 1.75rem;
    line-height: 1.2em;
    font-weight: 500;
    color: var(--primary);
    text-align: center;
    text-transform: uppercase;
    margin: 60px auto 10px;
}

.geschaeftsfuehrer p.position {
    font-size: 1.25rem;
    line-height: 1.2em;
    color: var(--text);
    text-align: center;
    margin: 10px auto 50px;
}

.geschaeftsfuehrer p.zitat {
    font-style: italic;
    margin-bottom: 100px;
}

.geschaeftsfuehrer .btn_hellblau {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
}

.standortegrid {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 80px;
    justify-content: center;
    align-content: flex-start;
    margin: 80px auto;
}

.standort {
    width: calc(50% - 40px);
    position: relative;
}

.standort img {
    width: 100%;
    max-width: 645px;
    display: block;
    margin: auto;
}

.standort p.name {
    font-size: 1.75rem;
    line-height: 1.2em;
    font-weight: 500;
    color: var(--primary);
    text-align: center;
    text-transform: uppercase;
    margin: 60px auto 10px;
}

.standort p.adresse {
    color: var(--mittelblau);
    text-align: center;
    line-height: 1.6em;
}

.standort p.adresse span.tel,
.standort p.adresse span.tel a {
    color: var(--text);
}

.standort p.adresse span.mailadresse a {
    color: var(--akzent);
    text-transform: uppercase;
    font-size: 1rem;
}

.slidercontent.ueber_uns {
    max-width: 990px;
}

.slick-initialized .slick-slide.referenzen {
    display: unset;
}

.referenzen .zitat {
    font-style: italic;
}

.referenzen .name {
    font-size: 1.75rem;
    text-transform: uppercase;
    color: var(--mittelblau);
    margin-top: 40px;
    margin-bottom: 0px;
    font-weight: 500;
}

.referenzen .position {
    font-size: 1.125rem;
    text-transform: uppercase;
    color: var(--mittelblau);
    margin-top: 0px;
}

.background_hellblau.newsletter {
    background-color: var(--hellblau);
    padding: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.background_hellblau.newsletter div {
    padding: 35px;
    width: 100%;
}

.background_hellblau.newsletter h2 {
    font-size: clamp(2.125rem, 4vw, 2.5rem);
    font-weight: 500;
    text-transform: uppercase;
    color: var(--mittelblau);
    margin: 0px auto 50px;
}

.background_hellblau.newsletter p {
    font-size: 1.25rem;
    text-align: center;
    color: var(--mittelblau);
    margin: 0px auto 60px;
    max-width: 540px;
}

.background_hellblau.newsletter img {
    width: 100%;
    height: 100%;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++ Leistungen +++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */

.bewertung .content_keyvisual {
    background-image: linear-gradient(to right, #002155c9 10%, #0021565c 80%), url('../img/keyvisual_bewertung.jpg');
}

.weitere_leistungen_grid {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    grid-gap: 80px;
    margin-top: 80px;
}

.weitere_leistungen {
    width: calc(33% - 52px);
}

.weitere_leistungen img {
    width: 100%;
    max-width: 400px;
    margin: auto;
    display: block;
}

.weitere_leistungen p {
    font-size: 1.75rem;
    text-align: center;
    text-transform: uppercase;
    color: var(--primary);
    font-weight: 500;
    margin: 30px auto 20px;
}

.verkauf .content_keyvisual {
    background-image: linear-gradient(to right, #002155c9 10%, #0021565c 80%), url('../img/keyvisual_bewertung.jpg');
}

.verkauf ul {
    margin: 0 0 0 20px;
    width: calc(50% - 40px);
}

.verkauf ul li {
    color: var(--mittelblau);
    line-height: 1.4em;
    margin-bottom: 10px;
}

.zweispalter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    grid-column-gap: 80px;
    margin: 80px auto;
}

.zweispalter.liste {
    grid-column-gap: 40px;
    max-width: 950px;
}

.zweispalter div {
    width: calc(50% - 40px);
}

.zweispalter div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.zweispalter div p:first-child {
    margin-top: -5px;
}

.zweispalter div p:last-child {
    margin-bottom: 0px;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++ News +++++++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */

.teaser_aktuelles.news_seite {
    grid-template-columns: 2fr 3fr;
    grid-gap: 60px;
    margin: 80px auto;
    max-width: 950px;
}

.teaser_aktuelles.news_seite .teaser_aktuelles_texte a.link {
    max-width: 180px;
}

.newsliste .teaser_aktuelles.news_seite:nth-of-type(even) {
    grid-template-columns: 3fr 2fr;
}

.newsliste .teaser_aktuelles.news_seite:nth-of-type(even) .teaser_aktuelles_texte {
    grid-column: 1/2;
    grid-row: 1/2;
}

.newsliste hr:last-of-type {
    display: none;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++ Slider +++++++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */

.slidercontent {
    max-width: 1140px;
    padding: 0 95px;
}

.slider .teaser_immo_der_woche {
    width: calc(100% - 110px);
    max-width: 1360px;
    margin: 50px auto 50px;
    padding-bottom: 0px;
    background-color: var(--hellblau);
}

.slider img {
    width: 100%;
    height: 100%;
}

.slider .teaser_immo_der_woche img {
    max-width: 1360px;
}

.slick-prev::before,
.slick-next::before {
    content: "" !important;
    background-image: url(../img/sliderpfeil.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    width: 40px;
    height: 40px;
    display: block;
    margin-left: -40px;
}

.slick-next {
    right: -45px;
}

.slick-next::before {
    transform: rotate(180deg);
    margin-left: 0px;
}

.slick-prev,
.slick-next {
    top: calc(50% - 10px);
}

.slick-initialized .slick-slide {
    display: flex;
    justify-content: center;
}

.slick-dots {
    position: ;
    bottom: -65px;
}

.slick-dots li.slick-active button::before {
    opacity: 1;
    color: var(--mittelblau);
}

.slick-dots li button::before {
    width: 10px;
    height: 10px;
    border-radius: 20px;
    content: '';
    background-color: var(--mittelblau);
    margin: 2px;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 10px;
    margin: 0 2px;
    padding: 0;
    cursor: pointer;
}

.slick-slide {
    padding: 0px;
    height: auto;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++ Formular +++++++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */


#wpforms-form-99 .wpforms-field-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-column-gap: 80px !important;
    margin-top: 80px !important;
}

input,
textarea {
    border: none !important;
    background-color: var(--hellblau) !important;
}

input::placeholder,
textarea::placeholder {
    color: var(--mittelblau) !important;
    opacity: 1 !important;
}

/* Native Radio ausblenden */
input[type="radio"] {
    display: none !important;
}

/* Label als stilisierter Kreis */
input[type="radio"] + label {
    position: relative !important;
    padding-left: 30px !important;
    cursor: pointer !important;
    user-select: none !important;
    color: var(--primary) !important;
}

/* Kreis */
input[type="radio"] + label::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0;
    width: 20px;
    height: 20px;
    border: none;
    border-radius: 50%;
    background-color: var(--hellblau);
    transition: background-color 0.2s, border-color 0.2s;
}

/* Gefüllter Punkt bei ausgewähltem Radio */
input[type="radio"]:checked + label::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 5px;
    width: 10px;
    height: 10px;
    background-color: var(--primary);
    border-radius: 50%;
}

div.wpforms-container-full .wpforms-confirmation-container-full,
div[submit-success] > .wpforms-confirmation-container-full:not(.wpforms-redirection-message) {
    background: transparent !important;
    border: none !important;
}

div.wpforms-container-full .wpforms-confirmation-container-full p,
div[submit-success] > .wpforms-confirmation-container-full:not(.wpforms-redirection-message) p {
    color: var(--primary) !important;
    text-align: center !important;
    font-size: 26px;
    font-weight: 400;
}


.btn_form_absenden {
    display: block !important;
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: var(--white) !important;
    background-color: var(--mittelblau) !important;
    padding: 5px 20px !important;
    margin: 20px auto 60px !important;
    cursor: pointer !important;
    transition: .3s !important;
    border-radius: 0px !important;
    min-width: 240px;
}

.btn_form_absenden:hover {
    background-color: var(--primary) !important;
    transition: .3s !important;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++ footer +++++++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */

footer {
    background-color: var(--footer);
}

section.bg_hellblau {
    background-color: var(--hellblau);
}

.bg_hellblau p {
    color: var(--mittelblau);
    max-width: 800px;
    text-align: center;
    margin: 0 auto 40px;
}

p.kontaktheadline {
    font-size: 2.5rem;
    line-height: 1em;
    font-weight: 500;
    text-transform: uppercase;
    margin-top: 40px;
}

.kontaktbuttons {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 40px;
    max-width: 800px;
    margin: 40px auto;
}

.kontaktbuttons a {
    max-width: 320px;
}

a.btn_phone img {
    height: 20px;
    margin-right: 10px;
}

a.btn_mail img {
    height: 16px;
    margin-right: 10px;
}

.sm {
    display: flex;
    grid-gap: 60px;
    justify-content: center;
    max-width: 400px;
    margin: 40px auto;
    transition: .3s;
}


.sm a:hover img {
    opacity: .6;
    transition: .3s;
}

a.link_footer {
    text-transform: uppercase;
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--footerblau);
    margin: auto;
    display: block;
    text-align: center;
    transition: .3s;
}

a.link_footer img {
    height: 14x;
    margin-right: 5px;
}

a.link_footer:hover {
    opacity: .6;
    transition: .3s;
}

hr.trenner_footer {
    height: 1px;
    margin: 60px auto 60px;
    background: linear-gradient(90deg, transparent 0%, var(--footerblau) 50%, transparent 100%);
    max-width: 100%;
}

.footernavi {
    display: flex;
    flex-wrap: wrap;
    grid-column-gap: 24px;
}

.footer_adresse {
    flex: 3;
}

.navigation_footer {
    flex: 2;
}

.footer_adresse img {
    margin-bottom: 15px;
    max-width: 170px;
}

.navigation_footer a,
.navigation_footer p,
.footer_adresse p {
    font-size: 1rem;
    font-weight: 350;
    text-transform: none;
    display: block;
    color: var(--footerblau);
    line-height: 1.6em;
    margin-top: 3px;
    margin-bottom: 0;
    transition: .3s;
}

.navigation_footer a:hover {
    opacity: .6;
    transition: .3s;
}

.footer_adresse p span {
    font-weight: 600;
}

.navigation_footer p,
.navigation_footer p a.kontakt {
    text-transform: uppercase;
    font-weight: 600;
}

.navigation_footer p a.kontakt {
    margin-top: 40px;
}

section.bg_footerblau {
    background-color: var(--footerblau);
    margin-bottom: 0;
}

section.bg_footerblau .rights {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 40px;
    max-width: 500px;
    justify-content: center;
    margin: auto;
    padding-top: 40px;
    padding-bottom: 40px;
}

section.bg_footerblau a {
    flex-basis: 210px;
    font-size: 1.25rem;
    text-transform: uppercase;
    text-align: center;
    font-weight: 400;
    transition: .3s;
}

section.bg_footerblau a:hover {
    color: var(--secondary);
    transition: .3s;
}

#layer_newsletteranmeldung {
    display: none;
    position: fixed;
    z-index: 999999;
    top: 0px;
    background-color: #002155bb;
    width: 100%;
    height: 100%;
}

#layer_newsletteranmeldung.active {
    display: block;
    cursor: pointer;
}

.anmeldebox {
    position: relative;
    width: calc(100% - 40px);
    max-width: 840px;
    height: auto;
    position: absolute;
    z-index: 9999999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--white);
    padding: 50px;
    cursor: default;
}

.anmeldebox .close_btn {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
    transition: .3s;
}

.anmeldebox .close_btn:hover {
    transform: rotate(90deg);
    right: 23px;
    top: 18px;
    transition: .3s;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* +++++++++++++++++ Media Query +++++++++++++++++ */
/* +++++++++++++++++++ 1140px ++++++++++++++++++++ */

@media(max-width:1140px) {
    .startseite_teaser_container {
        grid-column-gap: 40px;
        grid-row-gap: 80px;
        justify-content: center;
    }

    .startseite_teaser {
        flex-basis: calc(50% - 40px);
    }
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* +++++++++++++++++ Media Query +++++++++++++++++ */
/* +++++++++++++++++++ 950px ++++++++++++++++++++ */

@media(max-width:950px) {
    .slick-initialized .slick-slide {
        flex-wrap: wrap;
        justify-content: left;
    }

    .geschaeftsfuehrer {
        width: 100%;
    }

    .standort {
        width: 100%;
    }

    .zweispalter div {
        width: 100%;
    }

    .zweispalter div p:first-child {
        margin-top: 80px;
    }
}

/* +++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++ 769px ++++++++++++++++++++ */
/* +++++++++++++++++++++++++++++++++++++++++++++++ */

@media(max-width:769px) {

    section {
        margin: 60px 0px;
    }

    .content,
    nav .content {
        padding: 0 20px;
        margin: auto;
    }

    nav .content {
        grid-template-columns: 1fr 180px 1fr;
    }

    .logo {
        width: 180px;
    }

    .schnellnavi {
        grid-template-rows: 62px 62px 62px;
        grid-gap: 0px;
        right: 0px;
    }

    .schnellnavi div a:first-child {
        padding: 5px 10px;
        top: 40px;
        margin-top: -32px;
    }

    .schnellnavi div.active a:first-child {
        right: 65px;
    }
    
    @keyframes schnellnaviactive {
    0% {
        right: -220px;
        opacity: 0;
    }

    10% {
        right: 20px;
        opacity: 0;
    }

    100% {
        right: 40px;
        opacity: 1;
    }
}

    .schnellnavi img {
        width: 62px;
    }

    h1,
    h2,
    h3,
    h4,
    p.headline_keyvisual {
        hyphens: manual;
    }

    .slidercontent {
        padding: 0 75px;
    }

    .startseite_teaser {
        flex-basis: 100%;
        max-width: 350px;
    }

    .startseite_teaser.startseite_vertrauen {
        grid-template-rows: auto auto;
    }

    .teaser_immo_der_woche a.link {
        margin: 20px auto 40px;
    }

    .teaser_immo_der_woche p.ort {
        margin: 20px auto 0;
    }

    .background_hellblau.newsletter {
        flex-wrap: wrap;
    }

    .background_hellblau.newsletter img {
        order: -1;
        margin-bottom: 20px;
    }

    .background_hellblau.newsletter h2 {
        margin: 0px auto 40px;
    }

    .footer_adresse {
        flex-basis: 100%;
        text-align: center;
        margin-bottom: 40px;
    }

    .navigation_footer {
        flex-basis: 100%;
        margin-top: 40px;
    }

    .navigation_footer p,
    .footer_adresse p {
        text-align: center;
    }

    .weitere_leistungen {
        width: 100%;
    }

    .verkauf ul {
        width: 100%;
    }

    .teaser_aktuelles.news_seite {
        grid-template-columns: 1fr;
        grid-gap: 40px;
    }

    .newsliste .teaser_aktuelles.news_seite:nth-of-type(even) {
        grid-template-columns: 1fr;
    }

    .newsliste .teaser_aktuelles.news_seite:nth-of-type(2n) .teaser_aktuelles_texte {
        grid-row: 2/3;
    }

    .wp-block-image figure {
        margin: 0 !important;
    }

    .wp-block-image figure img {
        display: block !important;
        width: 100% !important;
        margin: 0 auto 60px !important;
    }

    #wpforms-form-99 .wpforms-field-container {
        grid-template-columns: 1fr !important;
        grid-column-gap: 40px !important;
        margin-top: 40px !important;
    }
}
