/*!
 * style.css
 *
 * @link http://www.vektorrausch.de
 * @author vektorrausch GmbH <sippel@vektorrausch.de>
 *
 * @package WordPress
 * @subpackage agoodstart
 * 
 * @version 4.0.0
 */

/* ######################################## *\
    HTML
\* ######################################## */

*,
*:after,
*:before {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    outline: 0 !important;
}

html {
    font-size: 16px;
}

/* Nur für Screenreader (und Suchmaschinen), z. B. Namen in Linktexten */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

body {
    font-family: 'RobotoDraft', Helvetica, Arial, sans-serif;
    font-weight: 300;
    line-height: 1.5;
    min-width: 320px;
}

p,
pre {
    margin: 0 0 1.375em;
}

.field-body > p:last-child,
.field-excerpt > p:last-child,
.field > p:last-child,
.widget-inner > p:last-child,
.extended > p:last-child,
.field-body > ul:last-child,
.field-excerpt > ul:last-child,
.field > ul:last-child,
.widget-inner > ul:last-child,
.extended > ul:last-child,
.field-body > ol:last-child,
.field-excerpt > ol:last-child,
.field > ol:last-child,
.widget-inner > ol:last-child,
.extended > ol:last-child {
    margin-bottom: 0;
}

dl,
ol,
ul {
    margin: 1.375em 0;
    padding-left: 0;
}

#content ul li,
.rechtsgebiete-list ul li,
.blog .sidebar-area ul li,
.single-post .sidebar-area ul li,
.archive.category .sidebar-area ul li {
    list-style: none;
    margin-bottom: 12px;
    position: relative;
    padding-left: 20px;
}

#content ul li:before,
.rechtsgebiete-list ul li:before,
.blog ul li.cat-item:before,
.single-post .sidebar-area ul li:before,
.archive.category .sidebar-area ul li:before {
    content: '›';
    color: #0164A7;
    font-size: 1.2em;
    font-weight: normal;
    display: block;
    position: absolute;
    top: -3px;
    left: 0;
}


img {
    max-width: 100%;
    vertical-align: bottom;
    height: auto;
}

#gmap img,
.gmap img {
    max-width: none;
}

hr {
    border: 0;
    height: 1px;
    width: 100%;
    background: #ddd;
    margin: 1.375em 0;
    clear: both;
}


a {
    color: #0164a7;
    text-decoration: none;
}

a:visited {
    color: #0164a7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 0.6875em;
    line-height: 1.15;
    color: #0164a7;
}

h1,
.page-title {
    color: #0164A7;
    font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
    font-size: 28px;
}

h2,
.headline {
    font-weight: lighter;
    font-size: 24px;
}

h2.field-name {
    font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
    font-size: 28px;
    font-weight: bold;
}

h3 {
    font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
    font-size: 1.5em;
    font-weight: normal;
}

h3.headline,
h2.ansprechpartner-headline {
    font-size: 32px;
    font-weight: bold;
}

/* h2 statt h3 (Überschriften-Hierarchie), Optik wie zuvor als h3 */
h2.ansprechpartner-headline {
    font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
}

/* Sichtbare Widget-Titel sind h2 statt h3, Optik wie zuvor als h3 */
h2.widget-title {
    font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
    font-size: 1.5em;
    font-weight: normal;
}

h4 {}

h5 {}

h6 {}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {}

/* ######################################## *\
    STRUKTUR / LAYOUT
\* ######################################## */

/* page-wrapper */
#wrapper {
    position: relative;
}

/* header */
.header-container {
    position: relative;
    background-color: #173c60
        /*rgba(23,60,96,1)*/
    ;
}

#header {
    height: 100%;
    position: relative;
}

#branding {
    position: relative;
}

#logo {
    font-size: 1.000em;
    color: #fff;
    /*
  width: 100%;
    max-width: 300px;
*/
    padding: 0px 0;
}

#logo a {
    color: #fff;
}

#logo img {
    width: 100%;
}

/* main */
.main-container {
    margin-bottom: 20px;
}

#main {}

.content-container {
    width: 100%;
}

#content {}

.not-front #content {
    padding-top: 40px;
}


/* footer */
.footer-container {
    position: relative;
    background-color: #01345c;
    font-weight: lighter;
    font-size: 14px;
}

.widget-area-footer-container {
    margin-top: 2em;
}

#footer {}

#footer a {}

#footer a:hover {
    text-decoration: underline;
}

/* ######################################## *\
    SIDEBARS / WIDGET-AREAS
\* ######################################## */

/* sidebars */
.no-sidebar #content {
    width: 100%;
}

.has-sidebar .content-container,
.has-sidebar .sidebar-area {
    clear: none;
    float: left;
}

/* primary */
.sidebar-primary #content {}

.sidebar-primary #primary {}

/* secondary */
.sidebar-secondary #content {}

.sidebar-secondary #secondary {}

/* front */
.sidebar-front #content {}

.sidebar-front #front {}

/* ######################################## *\
    WIDGETS
\* ######################################## */

/* Slideshow */

.front .widget-area-header-container {
    /*  border-bottom: 1px solid #d9d9d9; */
    overflow: hidden;
}

/* Slides schon vor dem Start von Flexslider so anordnen wie danach beim
   Überblenden: alle übereinander, nur der erste sichtbar. So hat die
   Slideshow sofort ihre endgültige Höhe und der Inhalt darunter springt nicht.
   Flexslider überschreibt das beim Start mit eigenen Inline-Styles. */
.slideshow-flex .slides > li {
    display: block;
    float: left;
    width: 100%;
    margin-right: -100%;
    position: relative;
    opacity: 0;
    z-index: 1;
}

.slideshow-flex .slides > li:first-child {
    opacity: 1;
    z-index: 2;
}

.widget_agoodstart_slideshow .title-caption-container {
    position: absolute;
    left: 0;
    /*  width: 100%; */
    z-index: 15;
    bottom: 0;
}

.widget_agoodstart_slideshow .slideshow-item:first-of-type .title-caption-container {
    width: 100%;
    height: 100%;
    display: block;
    bottom: 0;
    background: transparent;
}

.widget_agoodstart_slideshow .slideshow-item:first-of-type .title-caption-container a {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    text-indent: -99999em;
}

.widget_agoodstart_slideshow .slideshow-item:first-of-type .title-caption-container span {}

.widget_agoodstart_slideshow .fig-title {
    font-weight: normal;
    line-height: 1;
    font-family: 'Roboto Condensed', sans-serif;
}

.widget_agoodstart_slideshow .fig-title a {
    color: #000;
}

.widget_agoodstart_slideshow figcaption {
    font-size: 20px;
    margin-top: 3px;
    font-weight: lighter;
}

.flex-direction-nav a {
    font-size: 40px;
    text-align: center;
    border: 2px solid #515151;
    border-radius: 100%;
    line-height: 35px;
    color: #515151;
}

.flex-direction-nav a.flex-prev {
    text-indent: -2px !important;
    left: 25px;
}

.flex-direction-nav a.flex-next {
    text-indent: 3px !important;
    text-align: center;
    right: 25px;
}

.flex-control-nav {
    display: none;
}

/* mixed */
.textwidget > p:last-child {
    margin-bottom: 0;
}

.widget-area-front {}

.widget-area-footer {}

.widget-area-footer section {
    /*
    display: inline-block;
    width: 25%;
    max-width: 160px;
    float: left;
*/
}



/* ######################################## *\
    SEITEN: PAGES / POST TYPE ARCHIVES
\* ######################################## */


/* Front */
.front blockquote {
    text-align: center;
    font-size: 20px;
    margin: 45px 20px;
    font-weight: lighter;
}

.front .content-container {}


/* ######################################## *\
    INHALTE: POSTS / PAGES / CPTs
\* ######################################## */

/* mixed */
.article

/* page */
.article.post-type-page {}

.article.post-type-page.post-view-teaser {}

.article.post-type-page.post-view-full {}

/* post */
.article.post-type-post {}

.article.post-type-post.post-view-teaser {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e8e8e8;
}

.article.post-type-post.post-view-teaser h2 {
    margin-bottom: 10px;
}

.article.post-type-post.post-view-full {}


.article.post-type-rechtsgebiete {
    padding-bottom: 100px;
    overflow: hidden;
}


/* Rechtsgebiete */

#content .rechtsgebiete-list {
    line-height: 50px;
}

#content .field-rechtsgebiete .rechtsgebiete-list {
    line-height: 36px;
}

#content .rechtsgebiete-list li {
    padding: 0;
    margin: 0;
}

#content ul.rechtsgebiete-list li:before {
    content: '';
    padding: 0;
}

#content ul.rechtsgebiete-list li a {
    color: #000;
    font-weight: lighter;
    font-size: 20px;
    display: block;
    padding-left: 10px;
    padding-right: 50px;
    height: 48px;
    border-bottom: 1px solid #e4e4e4;
    overflow: hidden;
}

#content .field-rechtsgebiete ul.rechtsgebiete-list li a {
    font-size: 1em;
    text-decoration: none;
    height: 36px;
}

#content ul.rechtsgebiete-list a:after {
    content: '›';
    color: #000;
    font-size: 1.25em;
    font-weight: lighter;
    display: block;
    position: absolute;
    top: -3px;
    right: 25px;
}

#content ul.rechtsgebiete-list a:hover {
    color: #3083bb;
    background-color: #eff4f8;
}

#content ul.rechtsgebiete-list a:hover:after {
    color: #3083bb;
}

#content ul.rechtsgebiete-list li:last-of-type a {
    border-bottom: none;
}

.article.post-type-rechtsgebiete {}

/* Standorte */

.list-standorte {
    display: grid;
    gap: 32px;
    row-gap: 40px;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: 1fr;
}

.list-ansprechpartner {
    display: grid;
    gap: 32px;
    row-gap: 40px;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: 1fr;
}

.article.post-type-standorte.post-view-archive,
.article.post-type-standorte.post-view-connected-rechtsgebiet {
    padding-bottom: 50px;
    display: flex;
    flex-direction: column;
}

.article.post-type-standorte.post-view-archive .field-adresse,
.article.post-type-standorte.post-view-connected-rechtsgebiet .field-adresse {
    margin-bottom: 10px;
    white-space: nowrap;
}

.article.post-type-standorte.post-view-archive .field-angezeigte-email,
.article.post-type-standorte.post-view-connected-rechtsgebiet .field-angezeigte-email {
    min-height: 34px;
    white-space: nowrap;
}

.article.post-type-standorte.post-view-archive .field-telefonnummer,
.article.post-type-standorte.post-view-archive .field-faxnummer,
.article.post-type-standorte.post-view-connected-rechtsgebiet .field-telefonnummer,
.article.post-type-standorte.post-view-connected-rechtsgebiet .field-faxnummer {
    white-space: nowrap;
}

.article.post-type-standorte.post-view-archive .field-title,
.article.post-type-standorte.post-view-connected-rechtsgebiet .field-title {
    margin-bottom: 6px;
    height: 100%;
}

/* h2 statt h3 (Überschriften-Hierarchie), Optik wie zuvor als h3 */
.article.post-type-standorte.post-view-archive .field-title h2 {
    font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
    font-size: 1.125rem;
    font-weight: normal;
}

.article.post-type-standorte.post-view-connected-rechtsgebiet .field-title h3 {
    font-size: 1.375rem;
    margin-bottom: 0;
}

.article.post-type-standorte.post-view-archive .field-title a,
.article.post-type-standorte.post-view-connected-rechtsgebiet .field-title a {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 4px;
    column-gap: 4px;
}

.article.post-type-standorte.post-view-archive .field-title .field-title-berufsbezeichnung,
.article.post-type-standorte.post-view-connected-rechtsgebiet .field-title .field-title-berufsbezeichnung {
    width: 100%;
}

.article.post-type-standorte.post-view-archive .field-zusatzinformationen-wrapper {
    height: 100%;
    min-height: 140px;
}

.article.post-type-standorte.post-view-archive .field-zusatzinformationen-wrapper .field-zusatzinformationen {
    font-size: .85rem;
}

.article.post-type-standorte.post-view-archive .more-link {
    margin-top: 10px;
}


.article.post-type-standorte .fa {
    display: inline-block;
    width: 21px;
    margin-right: 3px;
    color: #0164a7;
    line-height: 33px;
}

/* Icons Telefon, Fax, E-Mail als SVG-Maske statt Font Awesome:
   Glyphen aus Font Awesome 4 (SIL OFL 1.1) übernommen, Maße wie in der Schrift
   (Em-Box mit Unterlänge 256/1792 = 0.1429em unter der Grundlinie) */
.article.post-type-standorte .fa::before {
    content: '';
    display: inline-block;
    height: 1em;
    vertical-align: -0.1429em;
    background-color: currentColor;
    -webkit-mask: var(--fa-icon) no-repeat 0 0 / 100% 100%;
    mask: var(--fa-icon) no-repeat 0 0 / 100% 100%;
}

.article.post-type-standorte .fa-phone::before {
    font-size: 19px;
}

.article.post-type-standorte .fa-fax::before {
    font-size: 16px;
}

.article.post-type-standorte .fa-phone::before {
    --fa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1408 1792'%3E%3Cpath transform='matrix(1 0 0 -1 0 1536)' d='M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z'/%3E%3C/svg%3E");
    width: 0.7857em;
}

.article.post-type-standorte .fa-fax::before {
    --fa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1792 1792'%3E%3Cpath transform='matrix(1 0 0 -1 0 1536)' d='M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48 l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23 t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128 q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128 q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z'/%3E%3C/svg%3E");
    width: 1em;
}

.article.post-type-standorte .fa-envelope::before {
    --fa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1792 1792'%3E%3Cpath transform='matrix(1 0 0 -1 0 1536)' d='M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z'/%3E%3C/svg%3E");
    width: 1em;
}

.article.post-type-standorte.post-view-archive {
    padding-bottom: 0;
}

.article.post-type-standorte.post-view-full:after {
    content: '';
    width: 100%;
    position: absolute;
    left: 0;
    margin-top: 30px;
    height: 1px;
    background-color: #e4e4e4;
}

.article.post-type-standorte .field-thumbnail img {
    border: 1px solid RGB(183, 183, 183);
}

.article.post-type-standorte .field-zusatzinformationen {
    margin-top: 1rem;
}


.button.kontakt {
    float: left;
    clear: both;
}

.list-ansprechpartner {}

.ansprechpartner-headline:before {
    content: '';
    width: 100%;
    position: absolute;
    left: 0;
    margin-top: -60px;
    height: 1px;
    background-color: #e4e4e4;
}

/* connected */
.post-view-overview .field-mitarbeiterin .field-thumbnail {
    float: left;
    margin-top: 30px;
    width: 100px;
    height: auto;
    position: relative;
    /*  border-radius: 100%; */
    border: 1px solid #B7B7B7;
    overflow: hidden;
    padding-left: 0;
}

.post-view-connected-rechtsgebiet .field-thumbnail {
    margin-top: 30px;
    width: 140px;
    height: auto;
    min-height: 195px;
    position: relative;
    padding-left: 0;
}

.post-view-connected-rechtsgebiet .field-thumbnail img {
    border: 1px solid #B7B7B7;
}

.post-view-overview .field-mitarbeiterin .field-thumbnail {
    height: 230px;
    width: 180px;
}

.post-view-connected-rechtsgebiet .field-thumbnail,
.post-view-overview .field-mitarbeiterin .field-thumbnail {}

.post-view-connected-rechtsgebiet .field-thumbnail:after,
.post-view-overview .field-mitarbeiterin .field-thumbnail:after {
    content: '»';
    font-family: 'RobotoDraft', Helvetica, Arial, sans-serif;
    width: 18px;
    height: 18px;
    background-color: #B7B7B7;
    position: absolute;
    display: inline-block;
    margin-top: 11px;
    font-size: 16px;
    font-weight: normal;
    line-height: 16px;
    padding-left: 5px;
    right: 0px;
    top: 30px;
    color: #fff;
    z-index: 5;
}

.post-view-connected-rechtsgebiet h3,
.post-view-overview .field-mitarbeiterin h3 a {
    color: #000;
}

/* Standorte */

.post-view-standorte-archiv {
    margin-bottom: 50px;
}

.post-view-archive h3,
.post-type-standorte.post-view-archive .field-title h2 {
    margin-bottom: 0;
}

.field-mitarbeiterin h3 {
    /*  min-height: 55px; */
}

.widget-area-front .post-view-archive h3,
.widget-area-front .post-type-standorte.post-view-archive .field-title h2 {
    min-height: 55px;
}

.post-view-archive h3 a,
.post-type-standorte.post-view-archive .field-title h2 a {
    color: #000;
}

.standorte-container {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e2e2e2;
    overflow: hidden;
}

.standorte-container:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.standorte-container li a,
.post-view-overview li a {
    color: #000;
    font-weight: lighter;
}

.standorte-container li a:hover,
.standorte-container a:hover,
.post-view-overview li a:hover,
.post-view-overview a:hover {
    text-decoration: underline;
}

.standorte-container a.more-link,
.post-view-overview a.more-link,
.article.post-type-standorte a.more-link {
    position: relative;
    padding-left: 26px;
    margin-top: 1em;
    float: left;
}

.post-view-overview a.more-link {
    width: 100%;
    margin-top: 0;
}

.standorte-container a.more-link:before,
.post-view-overview a.more-link:before,
.article.post-type-standorte a.more-link:before {
    content: '»';
    width: 18px;
    height: 18px;
    background-color: #0164a7;
    position: absolute;
    display: inline-block;
    line-height: 16px;
    font-size: 16px;
    padding-left: 5px;
    left: 0;
    top: 3px;
    color: #fff;
}

.post-view-overview .field-mitarbeiterin {
    float: left;
}

.post-view-overview .field-mitarbeiterin ul {
    float: left;
    width: 100%;
}

/* Standorte Widget */

/* alle Standorte ausblenden */
.hide-standort .standorte-container {
    display: none;
}

/* einzelne Standorte ausblenden */
.hide-standort-kiel .standorte-container.kiel,
.hide-standort-koeln .standorte-container.koeln,
.hide-standort-duesseldorf .standorte-container.duesseldorf {
    display: none;
}

.widget-area-standorte-container {
    margin-top: 50px;
}



/* Front */

.front .standorte-container .post-view-archive {
    margin-bottom: 20px;
}

/* Datenschutz */
#post-19 {
    padding-left: 10px;
    padding-right: 10px;
}

/* Blog */
.blog .sidebar-area,
.single-post .sidebar-area,
.archive.category .sidebar-area {
    padding: 40px 15px 0 15px;
}



/* ######################################## *\
    FELDER
\* ######################################## */

/* field-body */
.field-body ol,
.field-body ul {
    padding-left: 20px;
    margin: 0 0 1.5em;
}

.field-body ul.toolong {
    max-width: 800px;
}

.field-body li {}

.field-body ul > li {
    list-style: square;
}

.field-body .list {
    padding-left: 0;
}

.field-body .list a:hover {
    text-decoration: none;
}

/*
.post-type-rechtsgebiete .field-body p:first-of-type {
    font-size: 20px;
    font-weight: lighter;
}
*/

.post-type-rechtsgebiete h1.page-title {
    margin-bottom: 5px;
}

.field-mitarbeiterin {}

.field-mitarbeiterin h3 {
    margin-bottom: 0;
}

.post-view-archive .field-mitarbeiterin {
    width: 100%;
}

.field-mitarbeiterin .field-name {
    margin-bottom: 0;
}

.field-mitarbeiterin a {
    position: relative;
}

.field-mitarbeiterin .field-adresse {
    font-weight: lighter;
    margin-bottom: 0.9em;
}

.field-mitarbeiterin .field-hinweis {
    padding-top: 0.9em;
}

.field-mitarbeiterin .field-skype {
    margin-top: 0.8em;
}

.field-mitarbeiterin .field-telefonnummer,
.field-mitarbeiterin .field-telefonnummer-weitere,
.field-mitarbeiterin .field-angezeigte-email {
    font-size: 18px;
    font-weight: lighter;
    color: #0164A7;
    min-height: 34px;
    white-space: nowrap;
}

.field-mitarbeiterin .field-faxnummer {
    font-size: 18px;
    font-weight: lighter;
    color: #0164A7;
}

.field-mitarbeiterin .field-werdegang {
    margin-top: 2em;
}

.field-mitarbeiterin .field-werdegang .label {
    display: block;
    margin-bottom: 20px;
}

.field-mitarbeiterin .field-werdegang-link {
    margin-bottom: 2em;
    position: relative;
    padding-left: 26px;
}

.field-mitarbeiterin .field-werdegang-link:after {
    content: '»';
    width: 18px;
    height: 18px;
    background-color: #B7B7B7;
    position: absolute;
    display: inline-block;
    margin-top: 3px;
    font-size: 18px;
    line-height: 16px;
    padding-left: 5px;
    left: 0;
    font-weight: lighter;
    color: #fff;
}

.field-mitarbeiterin .field-sprachen {
    margin-top: 16px;
}

.field-karte {}

.field-mitgliedschaften-container {
    clear: left;
    padding-top: 40px;
}

.field-mitgliedschaften h3.label-inline {
    display: block;
    margin-bottom: 20px;
}

.field-weitere-mitarbeiter {
    float: left;
    position: relative;
    padding-top: 40px;
    margin-top: 30px;
    width: 100%;
    clear: both;
}

.field-weitere-mitarbeiter:before {
    content: '';
    height: 1px;
    width: 100%;
    background-color: #e4e4e4;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.field-weitere-mitarbeiter .field-mitarbeiterin {
    margin-top: -50px;
    padding-top: 50px;
}

.field-bildergalerie {
    float: left;
    position: relative;
    padding-top: 40px;
    margin-top: 30px;
    width: 100%;
    clear: both;
}

.field-bildergalerie:before {
    content: '';
    height: 1px;
    width: 100%;
    background-color: #e4e4e4;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.field-bildergalerie .gallery-item {

    width: 100%;
    max-width: 300px;
    padding-bottom: 10px;
}

.field-bildergalerie .gallery-item:nth-of-type(2n+1) {
    padding-right: 5px;
}

.field-bildergalerie .gallery-item:nth-of-type(2n+2) {
    padding-left: 5px;
}

/* Schwerpunkte-Titel: p statt h3 (steht im Quelltext vor der h1), Optik wie zuvor als h3 */
p.field-schwerpunkte-title {
    font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
    font-size: 1.5em;
    font-weight: 400;
    line-height: 1.15;
    color: #0164a7;
    margin-top: 0;
    margin-bottom: 0.6875em;
}


/* ######################################## *\
    ELEMENTE
\* ######################################## */

/* externe links (absolute Links auf die eigene Domain ausgenommen) */
.field-body a[href^="http"]:not([href*="adelmann-isermann.de"]):after,
.field-excerpt a[href^="http"]:not([href*="adelmann-isermann.de"]):after,
.field-mitgliedschaften a[href^="http"]:not([href*="adelmann-isermann.de"]):after {
    content: url(img/icon-link-external.png);
    margin: 0 2px 0 4px;
    white-space: nowrap;
}

.field-excerpt a.more[href^="http"]:after {
    content: "";
    margin: 0;
}

/* Icon für externe Links gezielt ausblenden */
.no-ext-icon::after {
    display: none !important;
}

/* Kein Icon in eingebetteten Elfsight-Widgets (z. B. Google-Bewertungen).
   Muss nach der Regel "externe links" stehen (gleiche Spezifität). */
.field-body [class*="elfsight-app-"] a[href^="http"]:after {
    content: none;
}


.field-body a[href*="agoodstart.wordpress4.vektorrausch.de"]:before,
.field-excerpt a[href*="agoodstart.wordpress4.vektorrausch.de"]:before {
    content: "";
    margin: 0;
}

/* formulare */
input[type="text"],
input[type="password"],
input[type="search"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="date"],
textarea {
    border: none;
    width: 100%;
    background: #f4f4f4;
    transition: all .3s ease;
    padding: 8px 10px;
}

input.wpcf7-captchar {
    width: 200px;
}

input:focus,
textarea:focus {
    box-shadow: 1px 1px 2px rgba(0, 0, 0, .1) inset;
    background: #f0f0f0;
}

input[type="submit"] {
    border: none;
    cursor: pointer;
    width: 100%;
}

.btn,
.button,
input[type="submit"] {
    display: block;
    width: 100%;
    height: 44px;
    line-height: 44px;
    text-align: center;
    color: #fff !important;
    background-color: #B7B7B7;
    border-radius: 2px;
    text-decoration: none;
    margin: 20px 0;
}

.button.anfrage,
.button.corona,
.wpcf7-submit {
    background: #ffa500 !important;
    color: #000 !important;
}

#header .field-anfrage,
#header .field-corona {}

.front #header .field-anfrage,
#header .field-corona {
    position: absolute;
    z-index: 999;
}

.front #header .button.anfrage,
#header .button.corona {}

.field-schwerpunkte .button.anfrage {
    margin-top: 0;
    margin-bottom: 30px;
}

.slideshow-item .button {
    height: 45px;
    line-height: 45px;
    font-size: 16px;
    max-width: 250px;
    margin: 15px 0 0 40px;
    background-color: #0164A7;
    transition: all .3s ease;
}


/* contactform 7 */
.wpcf7-form .field-wrap {
    margin-bottom: 1.375em;
}

.wpcf7-form label {
    font-weight: bold;
    display: block;
}

.wpcf7-form .required {
    color: #c70000;
    font-weight: normal;
}

.wpcf7-form .field-wrap > div {
    position: relative;
}

.wpcf7-form .wpcf7-captchac {
    position: absolute;
    left: 124px;
    top: 0;
    z-index: 1;
    border: 7px solid #f4f4f4;
    box-sizing: content-box;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
}

.wpcf7-form .wpcf7-not-valid-tip,
.wpcf7-form .wpcf7-response-output {
    border: 0;
    background: #ffdddd;
    color: #c70000;
    width: 100%;
    padding: 6px 10px;
    font-size: 12px;
    line-height: 16px;
    position: relative;
    border-top: 4px solid #ffdddd;
    margin-top: 4px;
    z-index: 1;
}

.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok {
    background: #d6ffcb;
    color: #1a7000;
    border-top-color: #1a7000;
}

.wpcf7-form .wpcf7-not-valid-tip:before,
.wpcf7-form .wpcf7-response-output:before {
    bottom: 100%;
    left: 12px;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    border: 12px solid transparent;
    border-bottom-color: #ffdddd;
}

.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok:before {
    border-bottom-color: #1a7000
}

.wpcf7-form .wpcf7-not-valid-tip:after,
.wpcf7-form .wpcf7-response-output:after {
    bottom: 100%;
    left: 12px;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    border: 12px solid transparent;
    border-bottom-color: #fff;
    height: 0;
    left: 12px;
    position: absolute;
    top: -28px;
    width: 0;
    z-index: -1;
}

.wpcf7-form .wpcf7-response-output {
    padding: 10px 10px;
    margin: 0;
}

/* acceptance */
.wpcf7-form .field-acceptance {
    margin-bottom: 1.375em;
}

.wpcf7-form .field-acceptance .wpcf7-list-item {
    margin: 0;
    background: none;
}

.wpcf7-form .field-acceptance label {
    padding: 0;
}

.wpcf7-form .field-acceptance .notice {
    display: block;
    margin-bottom: 0.6875em;
}

.wpcf7-form .field-acceptance .wpcf7-form-control.wpcf7-checkbox {
    display: inline;
    background: none;
    padding: 0;
    border: 0;
    min-height: none;
}

.wpcf7-form .field-acceptance .wpcf7-list-item {
    float: none;
}

.wpcf7-form .field-acceptance input {
    float: left;
    position: relative;
    top: 2px;
}

.wpcf7-form .field-acceptance .wpcf7-list-item-label {
    display: block;
    margin-left: 1.375em;
    line-height: 1.375em;
}

.wpcf7-form .field-acceptance .wpcf7-not-valid .wpcf7-list-item-label {
    color: rgba(199, 0, 0, 1);
}

/* inhaltsblöcke (im Seiteninhalt verwendet) */

/* Abschnitte der Startseite: immer unterhalb der Spalten .block-left/.block-right.
   Der Abstand sitzt am Abschnitt selbst, damit er auch ohne Überschrift und
   bei aktiven Borlabs-Platzhaltern greift. */
.home-section {
    clear: both;
    display: flow-root;
    padding-top: 2rem;
}

.home-section > h2:first-child {
    margin-top: 0;
}

/* Überschriften im Inhalt der Startseite (Optik wie h2.field-name) */
.post-view-front .field-body > h2,
.home-section > h2 {
    font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
    font-size: 28px;
    font-weight: bold;
    margin: 1rem 0;
}

/* Überschrift ganz oben über den Spalten: kein zusätzlicher Abstand nach oben */
.post-view-front .field-body > h2:first-child {
    margin-top: 0;
}

/* Titel des Elfsight-Bewertungs-Widgets wie die übrigen Überschriften.
   Nur die stabile Klasse es-widget-title-header verwenden: die übrigen
   Klassennamen (z. B. kQOgxs) erzeugt Elfsight automatisch. */
.home-section .es-widget-title-header {
    font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
    font-size: 28px;
    font-weight: bold;
    line-height: 1.15;
    color: #0164a7;
    text-align: left;
}

/* Standard: untereinander mit reduziertem Abstand */
.zweispalt-box {
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* kleiner Abstand auf Mobil */
    padding: 20px 0;
    align-items: stretch;
}

/* Bild mobil vollbreit */
.zweispalt-box .img-col img {
    width: 100%;
    height: auto;
    display: block;
}

/* Ab Desktop: zweispaltig mit größerem Abstand */
@media (min-width: 1024px) {
    .zweispalt-box {
        flex-direction: row;
        gap: 20px;
        /* hier wieder größerer Abstand */
    }

    .zweispalt-box .img-col img {
        width: auto;
        max-width: 100%;
    }
}

/* buttons */

/* Mobile: Button zentrieren */
@media (max-width: 767px) {
    .cta-btn {
        display: block !important;
        margin: 0 auto !important;
        /* Zentriert den Button */
        text-align: center !important;
    }
}

/* tabellen */

/* ######################################## *\
    MENÜS
\* ######################################## */
.menu-container {
    background-color: #00446E;
    position: relative;
}

.main-menu-container {
    position: relative;
    background: none;
}

/* mixed */
.menu,
.sub-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* footer */
#footer-menu .menu-item {
    display: inline-block;
    line-height: 60px;
}


#footer-menu .menu-link {
    color: #fff;
    background: #01345c;
}

#footer-menu .menu-item:first-of-type .menu-link {
    color: #fff;
}



/* ######################################## *\
    SUCHFORMULAR
\* ######################################## */

#search {}

/* ######################################## *\
    SEITENNUMMERIERUNG / BREADCRUMBS
\* ######################################## */

/* mixed */
#pagination {
    margin: 2.750em 0 1.375em;
}

/* archive */
#pagination.archive {}

#pagination.archive.prev-next {}

#pagination.archive.prev-next .page-prev {
    float: left;
}

#pagination.archive.prev-next .page-next {
    float: right;
}

#pagination.archive.paged {
    text-align: center;
}

#pagination.archive.paged .page-count {
    color: #888;
    padding-right: 16px;
    border-right: 1px solid #F0F0F0;
    margin-right: 4px;
}

#pagination.archive.paged .page-numbers {
    padding: 0 8px;
    background: transparent;
    text-decoration: none !important;
}

#pagination.archive.paged .page-numbers.current {
    background: #F0F0F0;
    color: #888;
}

#pagination.archive.paged a.page-numbers:hover {
    background: #0074a2;
    color: #fff;
}

#pagination.archive.paged .prev,
#pagination.archive.paged .next {
    padding: 0 4px;
}

/* single */
#pagination.single {}

#pagination.single.prev-next {}

#pagination.single.title {}

#pagination.single.title .page-prev,
#pagination.single.title .page-next {
    display: block;
    padding: 1.375em 0;
}

#pagination.single.title .page-prev + .page-next {
    border-top: 1px solid #f0f0f0;
}

#pagination.single.title .prev-title,
#pagination.single.title .next-title {
    color: #aaa;
    display: block;
    text-transform: uppercase;
    margin-bottom: 2px;
}

#pagination.single.title .prev-title:before,
#pagination.single.title .next-title:before {
    background: none repeat scroll 0 0 #e2e2e2;
    color: #fff;
    content: "‹";
    margin-right: 4px;
    padding: 0 8px;
    font-size: 16px;
}

#pagination.single.title .next-title:before {
    content: "›";
}

#pagination.single.title .post-link {
    display: block;
}

/* breakcrubs */
.breadcrumbs-container {}

#breadcrumbs {}


/* ######################################## *\
    KOMMENTARE
\* ######################################## */


/* ######################################## *\
    MISC / CONTRIB
\* ######################################## */

::selection {
    background: #0074a2;
    color: #fff;
    text-shadow: none;
}

::-webkit-selection {
    background: #0074a2;
    color: #fff;
    text-shadow: none;
}

::-moz-selection {
    background: #0074a2;
    color: #fff;
    text-shadow: none;
}

/* ######################################## *\
    WORDPRESS CORE
\* ######################################## */

.post-edit-link {
    color: #0074a2;
    display: inline-block;
    font-size: 0.857em;
    margin: 1.375em 0;
}

.post-edit-link:hover {
    text-decoration: underline
}

.alignnone {
    margin: 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #FFF;
    border: 1px solid #F0F0F0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption .wp-caption-text,
.gallery-caption {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.gallery-width-full img {
    width: 100%;
}

.gallery-item {
    margin: 0;
}

.gallery-width-flex .gallery-item {
    float: left;
}

.sticky {}

.bypostauthor {}

/* ######################################## *\
    KEIN JAVASCRIPT
\* ######################################## */

.no-js {}



/*EDIT PHILIPP HANNIG - HEISE REGIOCONCEPT - JANUAR 2021*/



/*.front #header .button.telefon, #header .button.telefon {
    height: 42px;
    line-height: 42px;
    font-size: 18px;
    padding: 0 30px;
    margin-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
        z-index:999!important;
*/
}

/*.button.telefon {
    background: #ffa500 !important;
    color: #000 !important;
    height: 42px;
    line-height: 42px;
    font-size: 18px;
    padding: 0 30px;
        margin-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
            z-index:999!important;
    

}*/

/*.field-telefon {
    background: #ffa500 !important;
    color: #000 !important;
    max-width:200px;    
    float:right;
    margin-right:100px;
    max-height:32px!important;
    z-index:999!important;
}*/

.front #header .field-anfrage,
#header .field-telefon {
    right: 200px;
    top: 0;
}

.front #header .field-anfrage,
#header .field-telefon {
    position: absolute;
    z-index: 999;
}

#wkdb-widget-tracking {
    opacity: 0;
}

.standorte-container.angelika-adelmann {
    position: relative;
}

.standorte-container.zeynep-kale .article > * {
    display: none;
}

.standorte-container.zeynep-kale a {
    display: none;
}

/* Wird aktuell nicht gebraucht - 24.07.2024 */
/* .front .standorte-container.angelika-adelmann:after {
    margin: 0;
    font-family: 'Roboto Condensed',Helvetica,Arial,sans-serif;
    font-size: 1.5em;
    font-weight: 400;
    text-align: left;
    content:'in Kooperation mit';
    position: absolute;
    left: 0;
    right: auto;
    top: auto;
    bottom: 20px;
    width: 100%;
} */

/* Youtube Responsive */

.responsive-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}

/* Then style the iframe to fit in the container div with full height and width */
.responsive-iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.brlbs-cmpnt-content-blocker,
.brlbs-cmpnt-content-blocker {
    width: 100% !important;
}

/* Borlabs-Platzhalter im Video-Rahmen: Solange der Platzhalter angezeigt wird,
   wächst der Rahmen mit dem Inhalt mit (mindestens 16:9), damit die Buttons
   auch auf schmalen Bildschirmen sichtbar sind. Nach dem Entsperren gilt
   wieder das feste 16:9-Format. Browser ohne :has() behalten das alte Verhalten.
   !important wegen agoodstart.base.css und Borlabs (beide mit !important). */
.responsive-container:has(> .brlbs-cmpnt-content-blocker) {
    display: grid;
    height: auto !important;
    padding-top: 0 !important;
    aspect-ratio: 16 / 9;
    overflow: visible;
}

.responsive-container:has(> .brlbs-cmpnt-content-blocker) > .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker {
    position: relative;
    inset: auto;
    height: auto !important;
}

/* YouTube-Vorschaubild (hqdefault, 4:3) enthält schwarze Balken oben/unten
   (je 12,5 %). Bild so vergrößern, dass die Balken abgeschnitten werden;
   der Rahmen ist nie breiter als 16:9, daher bleibt er immer gefüllt. */
.responsive-container:has(> .brlbs-cmpnt-content-blocker) .brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-thumbnail {
    background-size: auto 133.4%;
}

.site-footer {
    text-align: center;
    padding: 16px 20px;
}

.footer-menu-container {
    padding-bottom: 8px;
}

.footer-cookies-container,
.footer-copyright-container {
    line-height: 30px;
    color: #fff;
}

#footer-menu {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

#footer-menu .menu-item {
    line-height: normal;
}

li.menu-item-footer {
    margin: 0 16px;
}

.footer-cookies-container .borlabs-cookie-open-dialog-preferences {
    all: unset;
    line-height: unset;
    cursor: unset;
    cursor: pointer;
    line-height: 1.2;
    color: #fff;
}

.footer-cookies-container .borlabs-cookie-open-dialog-preferences:hover {
    text-decoration: underline;
}

/* Google-Maps-Einbettungen auf Standortseiten und der Startseite responsive */
.post-type-standorte iframe[src*="google.com/maps"],
.map-container iframe {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.map-container iframe {
    border: 0;
}

/* Borlabs-Platzhalter der Rundgang-Karte: eigenes Foto statt Google-Maps-Grafik
   (!important, weil Borlabs das Bild inline setzt) */
.map-container .brlbs-cmpnt-cb-thumbnail {
    background-image: url(img/rundgang-vorschau.webp) !important;
}

/* Borlabs-Platzhalter der Google-Bewertungen (Startseite): neutrale Skizze
   des Widgets als Hintergrund, Hinweistext und Buttons im halbtransparenten
   Kasten darüber (wie bei Karte und Video). Die Skizze enthält bewusst keine
   Namen, Texte oder Bewertungen. */
.home-section .brlbs-cmpnt-container[data-borlabs-cookie-content-blocker-id="google-reviews"] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 440px;
    padding: 48px 6%;
    background: url(img/bewertungen-vorschau.svg) center top / cover no-repeat;
}

.home-section .brlbs-cmpnt-container[data-borlabs-cookie-content-blocker-id="google-reviews"] .brlbs-cmpnt-cb-preset-a {
    width: 100%;
    max-width: 760px;
    background: var(--content-blocker-background);
}

@media (max-width: 639px) {
    .home-section .brlbs-cmpnt-container[data-borlabs-cookie-content-blocker-id="google-reviews"] {
        background-image: url(img/bewertungen-vorschau-mobil.svg);
    }
}

/* Auf dem Smartphone etwas höher, damit Street View bedienbar bleibt */
@media (max-width: 767px) {

    .post-type-standorte iframe[src*="google.com/maps"],
    .map-container iframe {
        aspect-ratio: 4 / 3;
    }
}