/**
 * Landingpage: Braunschweig
 */

/* clearer */
.clearer:after, .container.wide:after, .karten:after { content: " "; display: table; clear: both; }

/* general */
.page-template-page-landingpage {}

/* box shadows */
.bs-w1, .box--contact-multi .multi-photo-row > * > .wpb_wrapper > * figure, .box--contact-multi .multi-photo > * > .wpb_wrapper > * figure { box-shadow: 0 0 10px rgba(255, 255, 255, .4); }

/* font sizes */
.fs-20, .headerrahmen.landingpage .content .wpcf7 .wpcf7-list-item-label { font-size: 20px; }
.fs-24, .box--contact-multi .wpb_heading { font-size: 24px; }
.fs-28 { font-size: 28px; }

/* line height */
.lh-36, .box--contact-multi .wpb_heading { line-height: 36px; }

/* paddings */
.pt-20 { padding-top: 20px; }
.pt-35 { padding-top: 35px; }
.pt-90 { padding-top: 90px; }
.pt-65 { padding-top: 65px; }

.pb-15 { padding-bottom: 15px; }
.pb-20 { padding-bottom: 20px; }
.pb-40 { padding-bottom: 40px; }
.pb-60 { padding-bottom: 60px; }
.pb-90 { padding-bottom: 90px; }

/* margins */
.mb-0, .box--contact:last-child { margin-bottom: 0; }
.mb-10, .box--contact-multi .multi-photo-row > * > .wpb_wrapper > * figure, .box--contact-multi .multi-photo > * > .wpb_wrapper > * figure { margin-bottom: 10px; }
.mb-75, .box--contact { margin-bottom: 75px; }

/* transitions */
.t-all, .zitatslider .slick-next, .zitatslider .slick-prev, .headerrahmen.landingpage .content .wpcf7 input::placeholder, .headerrahmen.landingpage .content .wpcf7 input[type="text"], .headerrahmen.landingpage .content .wpcf7 input[type="email"], .headerrahmen.landingpage .content .wpcf7 input[type="tel"] { transition: all 0.45s linear; }

/* font weights */
.tt-uppercase { text-transform: uppercase; }

/* text transforms */
.tt-uppercase { text-transform: uppercase; }

/* text decorations */
.td-none, .probefahrt2 a:hover { text-decoration: none; }

/* header */
.header-abstand { height: 50px; }
.topheader > div { text-transform: uppercase; }
.headerrahmen.landingpage { position: relative; }
.headerrahmen.landingpage .logo { position: absolute; top: 40px; left: 3%; z-index: 3; }


.headerrahmen.landingpage .headerbild { position: relative; }
.headerrahmen.landingpage .headerbild:after { content: ""; display: block; position: absolute; padding: 100px 0; width: 100%; height: 100%; top: 0; left: 0; background: linear-gradient(90deg, rgba(255,255,255, .75) 0%, rgba(255,255,255,0) 100%); }
.headerrahmen.landingpage .headerbild img { max-height: calc(100vh - 50px); min-height: 889px; object-fit: cover; }
.headerrahmen.landingpage .content { position: absolute; top: 50%; left: 50%; padding: 0 30px; transform: translate(-50%,-50%); display: flex; align-items: center; gap: 100px; width: 100%; max-width: 1490px; }
.headerrahmen.landingpage .content p, .headerrahmen.landingpage .content h1 { text-shadow: 0 1px 20px rgba(255, 255, 255, 0.9); }
.headerrahmen.landingpage .content h1 { font-size: 70px; margin: 0 0 50px 0; }
.headerrahmen.landingpage .content .h2 { font-size: 40px; line-height: 50px; }
.headerrahmen.landingpage .content p { font-size: 30px; line-height: 40px; }
.headerrahmen.landingpage .content .right { position: relative; width: 100%; max-width: 570px; }
.headerrahmen.landingpage .content .wpcf7 { padding: 30px; width: 100%; max-width: 570px; background: #86a6d9; box-shadow: 0 1px 20px rgba(0, 0, 0, 0.3); }
.headerrahmen.landingpage .content .wpcf7 br { display: inline-block; }
.headerrahmen.landingpage .content .wpcf7 .wpcf7-list-item { margin: 0; }
.headerrahmen.landingpage .content .form--title { display: block; text-align: center; font-size: 28px; line-height: 30px; font-weight: bold; color: #1e3870; margin-bottom: 5px; }
.headerrahmen.landingpage .content .form--subtitle { color: #fff; line-height: 30px; }
.headerrahmen.landingpage .content .form--subtitle { text-align: center; margin: 0 0 40px 0; }
.headerrahmen.landingpage .content .wpcf7 input[type="text"],
.headerrahmen.landingpage .content .wpcf7 input[type="email"],
.headerrahmen.landingpage .content .wpcf7 input[type="tel"] { margin-bottom: 20px; box-shadow: 0 1px 20px rgba(0, 0, 0, 0.3); outline: 0; height: 60px; padding: 8px 15px; font-size: 24px; }
.headerrahmen.landingpage .content .wpcf7 input[type="text"]:focus,
.headerrahmen.landingpage .content .wpcf7 input[type="email"]:focus,
.headerrahmen.landingpage .content .wpcf7 input[type="tel"]:focus { box-shadow: none; }
.headerrahmen.landingpage .content .wpcf7 input[type="text"] { color: #000; }
.headerrahmen.landingpage .content .wpcf7 input::placeholder { color: #373737; opacity: 1; }
.headerrahmen.landingpage .content .wpcf7 input:-ms-input-placeholder { color: #373737; }
.headerrahmen.landingpage .content .wpcf7 input::-ms-input-placeholder { color: #373737; }
.headerrahmen.landingpage .content .wpcf7 input:focus::placeholder { color: #a1a1a1; opacity: 1; }
.headerrahmen.landingpage .content .wpcf7 input:focus:-ms-input-placeholder { color: #a1a1a1; }
.headerrahmen.landingpage .content .wpcf7 input:focus::-ms-input-placeholder { color: #a1a1a1; }
.headerrahmen.landingpage .content .acceptance-privacy { margin-top: -5px; display: block; color: #fff; font-size: 20px; line-height: 22px; }
.headerrahmen.landingpage .content .acceptance-privacy label { padding-left: 28px; }
.headerrahmen.landingpage .content .acceptance-privacy input[type="checkbox"] { position: absolute; top: 2px; left: 0; cursor: pointer; padding: 0; margin: 2px 15px 0 0; width: 20px; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.headerrahmen.landingpage .content .acceptance-privacy input[type="checkbox"]:before { content: ''; margin-right: 10px; display: inline-block; margin-top: -2px; width: 20px; height: 20px; background: transparent; border: 1px solid #fcfcfc; border-radius: 2px; }
.headerrahmen.landingpage .content .acceptance-privacy input[type="checkbox"]:checked:before { background: #1e3870; border-color: #1e3870; }
.headerrahmen.landingpage .content .acceptance-privacy input[type="checkbox"]:disabled { color: #b8b8b8; cursor: auto; }
.headerrahmen.landingpage .content .acceptance-privacy input[type="checkbox"]:disabled:before { box-shadow: none; background: #ddd; }
.headerrahmen.landingpage .content .acceptance-privacy input[type="checkbox"]:checked:after { content: ''; position: absolute; left: 5px; top: 8px; background: white; width: 2px; height: 2px; box-shadow: 2px 0 0 white, 4px 0 0 white, 4px -2px 0 white, 4px -4px 0 white, 4px -6px 0 white, 4px -8px 0 white; transform: rotate(45deg); }
.headerrahmen.landingpage .content .button { font-size: 25px; line-height: 30px; display: block; max-width: 350px; padding: 10px 50px; height: auto; word-break: break-word; margin: 40px auto 0 auto; text-transform: uppercase; border-radius: 40px; }
.headerrahmen.landingpage .content .button:hover { background: #1e3870; text-decoration: none; }
.headerrahmen.landingpage .content .wpcf7 a { color: #fff; text-decoration: underline; }
.headerrahmen.landingpage .content .wpcf7 a:hover { color: #1e3870; text-decoration: none; }
.headerrahmen.landingpage .content .button-subline { margin: 10px 0 20px 0; text-align: center; font-style: italic; font-size: 24px; line-height: 26px; text-decoration: underline; color: #fff; }
.headerrahmen.landingpage .content .wpcf7 .ajax-loader { display: none; }
.headerrahmen.landingpage .content .badge { position: absolute; bottom: 8px; right: -110px; }

/* contact box */
.box--contact { max-width: 712px; margin: 0 auto 75px auto; }
.box--contact p { font-weight: 400; font-size: 24px; line-height: 36px; margin: 0 0 10px 0; }
.box--contact p:last-child { margin: 0; }
.box--contact h3, .box--contact a { color: #000; font-weight: bold; }
.box--contact a:hover { color: #f07f06; }
.box--contact h3 { font-size: 30px; line-height: 36px; margin-bottom: 25px; }
.box--contact .format-address p { padding-left: 35px; }
.box--contact .format-address .address{ background: url("../img/icon-marker.png") left 4px no-repeat; }
.box--contact .format-address .phone { background: url("../img/icon-phone.png") left 4px no-repeat; }
.box--contact .format-address .email { background: url("../img/icon-envelope.png") left 7px no-repeat; }

/* contact box */
.box--contact-multi { max-width: 1110px; margin: 0 auto; gap: 90px; flex-wrap: nowrap !important; }
.box--contact-multi p { font-weight: 400; font-size: 24px; line-height: 36px; margin: 0 0 10px 0; }
.box--contact-multi p:last-child { margin: 0; }
.box--contact-multi h3, .box--contact a { color: #000; font-weight: bold; }
.box--contact-multi a:hover { color: #f07f06; }
.box--contact-multi .multi-photo > * > .wpb_wrapper { display: flex; gap: 20px; }
.box--contact-multi .multi-photo > * > .wpb_wrapper > * { position: relative; z-index: 1; display: flex; flex-direction: column; max-width: 33.33%; }
.box--contact-multi .multi-photo > * > .wpb_wrapper > * figure { border-radius: 50%; overflow: hidden; }
.box--contact-multi .multi-photo > * > .wpb_wrapper > * figure img {box-shadow: 0 0 15px rgba(0,0,0,.1); border-radius: 50%; }
.box--contact-multi .multi-photo > * > .wpb_wrapper > * .wpb_heading { color: #000; }
/*.box--contact-multi .multi-photo > * > .wpb_wrapper > *:nth-child(1) { padding-right: 81px; }*/
/*.box--contact-multi .multi-photo > * > .wpb_wrapper > *:nth-child(2) { position: absolute; z-index: 2; left: 50%; transform: translate(-50%, -7%); }*/
/*.box--contact-multi .multi-photo > * > .wpb_wrapper > *:nth-child(2) figure { zoom: 90%; }*/
/*.box--contact-multi .multi-photo > * > .wpb_wrapper > *:nth-child(3) { padding-left: 81px; }*/
.box--contact-multi .multi-photo > * > .wpb_wrapper > * > *:nth-child(1) { order: 2; }
/*.box--contact-multi .multi-photo > * > .wpb_wrapper > *:nth-child(2) .wpb_singleimage_heading { padding: 0 60px; }*/
.box--contact-multi .multi-photo > * > .wpb_wrapper > * > *:nth-child(2) { order: 1; }
.box--contact-multi .format-address p { padding-left: 35px; }
.box--contact-multi .format-address .address{ background: url("../img/icon-marker.png") left 4px no-repeat; }
.box--contact-multi .format-address .phone { background: url("../img/icon-phone.png") left 4px no-repeat; }
.box--contact-multi .format-address .email { background: url("../img/icon-envelope.png") left 7px no-repeat; }

/* contact box variant */
.box--contact-multi .multi-photo-row > * > .wpb_wrapper { display: flex; }
.box--contact-multi .multi-photo-row > * > .wpb_wrapper > * { position: relative; z-index: 1; display: flex; flex-direction: column; }
.box--contact-multi .multi-photo-row > * > .wpb_wrapper > * figure { border-radius: 50%; overflow: hidden; }
.box--contact-multi .multi-photo-row > * > .wpb_wrapper > * figure img { height: 150px; width: 150px; object-fit: cover; }
.box--contact-multi .multi-photo-row > * > .wpb_wrapper > * .wpb_heading { color: #000; padding: 0 25px; }
.box--contact-multi .multi-photo-row > * > .wpb_wrapper > * > *:nth-child(1) { order: 2; }
.box--contact-multi .multi-photo-row > * > .wpb_wrapper > * > *:nth-child(2) { order: 1; }

/* element: counter / icon teasers */
.col--counter .countericon { position: relative; display: block; margin: 0 auto; }
.col--counter .countericon img { vertical-align: middle; }
.col--counter .countertext p { font-size: 28px; line-height: 30px; font-weight: 600; }

/* element: 33% teaser grid */
.teaser--boxes { margin-bottom: 0; }
.teaser--boxes .teaser-titel { height: auto; padding: 6px 20px; }
.teaser--boxes .teaser-text { padding: 8px 10px; }
.teaser--boxes .teaser-innertext { height: auto; }
.teaser--boxes .teaser-bild img { width: 100%; height: 300px; object-fit: cover; }
.teaser--boxes .button { margin-top: 20px; margin-bottom: 15px; }

/* element: quote slider */
.zitatsliderbox { max-width: 1000px; margin: 0 auto; }
.zitatsliderbox .kacheltitel { text-align: center; font-size: 30px; line-height: 36px; font-weight: 600; margin-bottom: 5px; }
.zitatsliderbox .kacheltext { font-style: italic; margin-bottom: 30px; font-size: 24px; line-height: 36px; text-align: center; }
.zitatsliderbox .kachelautor { font-style: italic; font-weight: 600; font-size: 24px;  line-height: 36px; text-align: center; }
.zitatsliderbox .kachelsterne { margin: 0 auto 45px auto; height: 22px; }
.zitatsliderbox .kachelsterne .icon.star { width: 25px; height: 22px; background: url("../img/icon-star.svg") no-repeat; margin: 0 4px 0 0; }
.zitatsliderbox .kachelsterne .icon.star:last-child { margin: 0; }
.zitatslider .slick-prev { text-indent: -9999px; width: 34px; height: 105px; display: block; background: url("../img/icon-slideshow-prev.svg") no-repeat; }
.zitatslider .slick-prev:hover { background-image: url("../img/icon-slideshow-prev_hover.svg"); }
.zitatslider .slick-prev:before { content: none; display: none; }
.zitatslider .slick-next { text-indent: -9999px; width: 34px; height: 105px; display: block; background: url("../img/icon-slideshow-next.svg") no-repeat; }
.zitatslider .slick-next:hover { background-image: url("../img/icon-slideshow-next_hover.svg"); }
.zitatslider .slick-next:before { content: none; display: none; }

/* element: cta box */
.box--cta .title .h1 { color: #fff; line-height: 55px; }
.box--cta .title .h1 br { display: none; }
.box--cta .vc_btn3-container.button { display: inherit; background: unset; height: unset; line-height: unset; padding-left: unset; padding-right: unset; }
.box--cta .vc_btn3-container.button > .vc_btn3 { background: #f07f06; line-height: 28px; padding: 11px 4%; font-size: 24px; font-weight: bold; border-radius: 39px; border: 0; color: #fff; text-transform: uppercase; max-width: 385px; }
.box--cta .vc_btn3-container.button > .vc_btn3:hover { background: #86a5d9; }
.box--cta .button-subtitle { text-decoration: underline; color: #fff; }
.box--cta .button-subtitle p { margin-top: 0; }

/* element: google map box */
.box--googlemap { padding-left: 60px; padding-right: 60px; }
.box--googlemap .kartenrahmen { height: auto; }
.box--googlemap .kartenrahmen p { position: relative; font-size: 24px; line-height: 36px; }
.box--googlemap .kartenrahmen p .fas { position: absolute; left: 0; top: 5px; }
.box--googlemap .kartenrahmen .fas { margin-right: 13px; }
.box--googlemap .kartenrahmen p.address { padding-left: 35px; }
.box--googlemap .kartenrahmen .ktitle { margin-bottom: 5px; }
.box--googlemap .kartenrahmen .ktitle + .katstrich { margin-bottom: -6px; }
.box--googlemap .kartenrahmen > .wpb_column > .vc_column-inner { padding-right: 0; }
.box--googlemap .kartenrahmen .wpb_content_element { width: 100%; }
.box--googlemap .kartenrahmen .wpb_wrapper { width: 100%; display: flex; gap: 60px; align-items: center; }
.box--googlemap .kartenrahmen .box_1 { width: 100%; max-width: 375px; padding: 40px 30px 40px 15px; }
.box--googlemap .kartenrahmen .box_1 .title { font-weight: 700; padding: 0 0 45px 0; margin-top: 50px; margin-bottom: 0 !important; }
.box--googlemap .kartenrahmen .box_1 .title + .karte-abstand { margin-bottom: 30px; }
.box--googlemap .kartenrahmen .box_2 { flex: 1; overflow: hidden; }
.box--googlemap .kartenrahmen .box_2 iframe { height: 490px; margin-top: -2px; margin-bottom: -2px; }
.box--googlemap .katstrich + .karte-abstand { position: relative; padding-left: 25px; margin-top: 30px; }
.box--googlemap .katstrich + .karte-abstand > .fa-map-marker-alt { position: absolute; left: 0;  }
.box--googlemap .karte-abstand a { font-size: 24px; line-height: 36px; }

/* footer */
.footer-bottom-landingpage-outer { margin-bottom: 30px; margin-top: 20px; }
.footer-bottom-landingpage { display: flex; gap: 12.9%; list-style: none; align-items: center; justify-content: center; }

/* probefahrt popup */
.probefahrt2 { max-width: 950px; height: auto; padding-bottom: 50px; }
.probefahrt2 .fa-phone { padding-right: 4px; }

/* fixes */
.page-template-page-landingpage .karten { overflow: hidden; }
.page-template-page-landingpage .wpcf7-not-valid-tip { background-size: 24px; height: 24px; line-height: 24px; margin-top: -12px; margin-bottom: 20px; background-position: left center; }
.page-template-page-landingpage .row { margin-left: 0; margin-right: 0; }
.page-template-page-landingpage .kontaktbadge-button { padding: 21px 25px; text-align: center; }
.page-template-page-landingpage .kontaktbadge-text { padding-bottom: 0; }
.page-template-page-landingpage .popup.active > div { transform: translate(-50%,0); }
.page-template-page-landingpage .popup.active > div { top: 25px; transform: translate(-50%,0); max-height: calc(100vh - 50px); overflow: auto; overflow-x: hidden; }

/* fixes */
body:not(.page-template-page-landingpage) .main-content { padding-top: 140px; }