:root{
  --primary: #9bb034;
  --light: #e8ff69;
  --dark: #2c4c00;
  --secondary: #d50f30;
  --cta: #ffb157;
  --grey: #b8b8b8;
  --lightgrey: #fbfbfb;
  --darkgrey: #4c4c4c;
  --font: #696969;
}

body {
  line-height: 1.9;
  font-size:1.6rem;
  color: #333;
  font-family: 'Noto Sans JP';
}

.bg-primary {
  background-color: var(--primary);
}
.bg-secondary {
  background-color: var(--secondary);
}
.bg-light {
  background-color: var(--light);
}
.bg-dark {
  background-color: var(--dark);
}
.bg-cta {
  background-color: var(--cta);
}
.bg-grey {
  background-color: var(--grey);
}
.bg-lightgrey {
  background-color: var(--lightgrey);
}
body,
.bg-white {
  background-color: white;
}
html,
footer,
.bg-darkgrey {
  background-color: var(--darkgrey);
}

.bg-greenbox {
  background: transparent url(../images/greenbox.png) no-repeat center center;
  background-size: 100% 100%;
}

.c-primary {
  color: var(--primary);
}
.c-font {
  color: var(--font);
}

ul:not(.sf-accordion) .c-white,
.c-white,
.c-white>a,
.c-white>a:hover,
.c-white>a:focus {
  color: white;
}


.b-primary {
  border-color: var(--primary);
}

a:not([class*='c-']),
.read-more  {
  color: var(--secondary);
}
.toolbar-tray a {
  color: #565656;
}
.bg-primary a {
  color: white;
}
.bg-primary a:not([href^='tel']) {
  text-decoration: underline;
}
a:hover, a:focus, a:active,.read-more:hover {
  color: var(--dark);
}

/* .node a:not(.button) {
  color: var(--light);
} */

/* Farbanpassung Mobile */
/* @media (hover:none) and (pointer:coarse) {
  body {
    color: #333;
  }
  a, .read-more  {
    color: var(--dark);
  }
  a.bg-primary {
    background-color: var(--dark);
  }
  .more-link a, .button.border {
    border-color: var(--dark);
  }
} */


/* Typografie */

h1 {
  font-size: 2.8rem;
  margin-top: 0;
  margin-bottom: 1.6rem;
  line-height: 1.36;
  font-weight: normal;
}

h2 {
  font-size: 2.2rem;
  line-height: 1.5;
  margin: 2rem 0 1.4rem;
  font-weight: 500;
}

header>h2,
div>h2:first-child {
  margin-top: 0;
}

.node-8 h2.paragraph-title:not(:first-child) {
  border-top: 1px solid var(--primary);
  padding-top: 1em;
  margin-top: 3em;
}

h3 {
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 1.6rem 0 1.2rem;
  font-weight: 500;
}

h2+h3 {
  margin-top: -1.4rem;
}

img+h3 {
    margin: 3.3rem 0 .3rem;
}

h4 {
  font-size: 1.7rem;
  margin: 2rem 0;
}

div>h3:first-child,
div>h3:first-child {
  margin-top: 0;
}

.block>h2, .block-title {
  margin-bottom: 3rem;
  line-height: 1.25;
}


a {
  text-decoration: none;
}


.node a:not(.button):hover {
  text-decoration: underline
}

.date {
  font-size: 1.4rem;
  margin-top: 3px;
  margin-bottom: 4px;
}


.icon path {
  fill: var(--primary);
}

.read-more {
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: bold;
}

.read-more .icon {
  display: inline-block;
  margin-left: 10px;
  vertical-align: sub;
}
.read-more .icon svg {
  height: 17px;
  width: 17px;
}
.read-more .icon path {
  fill: var(--primary);
}

.node p:not(:last-child) {
  margin-bottom: 2.9rem;
}

#block-frontteaser p {
  margin-bottom: 0;
}



/* Elemente */

a.button, .button a, [type='submit'] {
  padding: 15px 25px;
  border-radius: 3px;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 500;
}

a.button:hover, .button:hover a, [type='submit']:hover {
  background-color: var(--dark);
  border-color: var(--dark);
  color: white;
}

a.file-download {
    text-transform: initial;
}

.user-login-form {
  max-width: 600px;
}

[type='submit'] {
  border: none;
  background-color: var(--primary);
  color: white;
}


/* Navigation */

.sf-accordion a,
.sf-accordion span {
  background-color: white;
  border-bottom: 1px solid var(--grey);
}

.sf-accordion a:hover,
.sf-accordion a:active,
.sf-accordion a.is-active {
  color: var(--secondary);
  background-color: var(--lightgrey);
}

.sf-accordion-toggle span,
.sf-accordion-toggle span:after,
.sf-accordion-toggle span:before {
  background-color: var(--secondary);
}

/* Accordion Submenu */
.sf-accordion li li a,
.sf-accordion li li span {
  padding-left: 50px;
}


ul.sf-menu.sf-horizontal {
  margin-top: 0;
}

.sf-accordion a.button {
  text-align: inherit;
  font-weight: inherit;
  text-transform: inherit;
  font-size: inherit;
}



/* Layout */
#header {
  background-color: white;
  border-bottom: 1px solid var(--lightgrey);
}

.js-scroll #header {
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.block-system-branding-block {
  margin: 20px 0;
  display: inline-block;
}

.site-logo img {
  height: 40px;
}

.sf-accordion-toggle a {
  height: 80px;
}


/* ul.sf-horizontal.menu li.sf-depth-1 {
  padding: 0 10px;
}
ul.sf-horizontal.menu li.sf-depth-1:first-child {
  padding-left: 0
} */

ul.sf-horizontal a,
ul.sf-horizontal span {
  font-size: 1.4rem;
  font-weight: 500;
  transition:  color .3s, background-color .3s, border-color .3s;
  padding: 10px 12px;
}
ul.sf-horizontal ul a {
  padding: 15px 0;
  border-top: 1px solid var(--grey);
  text-transform: none;
}


ul.sf-horizontal a.button {
  padding-left: 27px;
  padding-right: 27px;
}

ul.sf-horizontal li .menu-small {
    text-transform: none;
    font-weight: normal;
    border-width: 1px;
}
ul.sf-horizontal li .menu-small:hover {
  border-bottom:0;
  text-decoration: underline;
}

ul.sf-horizontal.menu ul {
  padding: 15px 25px 10px;
  box-shadow: 0 5px 5px 0 rgba(0,0,0,.1);
}

.sf-horizontal a:not(.button) {
    color: var(--font);
}

.sf-horizontal .active-trail a.sf-depth-1,
.sf-horizontal a.sf-depth-1:not(.button):hover,
.sf-horizontal .active-trail span.sf-depth-1,
.sf-horizontal span.sf-depth-1:hover {
  color: var(--secondary);
}

.sf-horizontal>li:last-child {
  float: right;
}

.layout-container {
  padding-top: 81px;
}

#block-soforthilfe {
  float: right;
  margin-right: 40px;
  margin-top: 10px;
}
#block-soforthilfe svg {
  padding: 10px 0;
}

.site-slogan {
  display: none;
}


.field-bannertext div {
  font-size: 1.8rem;
  line-height: 1.5;
  padding: 30px 30px 37px;
}

.field-bannertext h3 {
  font-size: 2.8rem;
  line-height: 1.5;
  margin-top: 0;
}

.field-bannertext p:last-child {
  margin-bottom: 0;
}

main {
  padding-top: 80px;
  padding-bottom: 90px;
}

.node {
  hyphens: auto;
}
.node header {
  margin-bottom: 60px;
}

.node header:after {
  content: '';
  border-bottom: 2px solid var(--primary);
  display: block;
  width: 80px;
  padding-top: 27px;
}



a h3, a p {
  color: var(--font);
}

.tags {
  font-size: 1.3rem
}


footer {
  color: white;
  text-align: center;
  font-size: 1.3rem;
  padding-bottom: 65px;
  padding-top: 65px;
}

footer>div {
  background: transparent url(../images/logo-sybille-klank-weiss.svg) no-repeat center top;
  min-height: 44px;
  background-size: auto 44px;
  padding-top: 100px;
}

footer a:not([class*="c-"]),
footer a:visited:not([class*="c-"]) {
  color: inherit;
}

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

.layout-sidebar .block {
  margin-bottom: 64px;
}

#block-kontakt {
  padding: 32px 30px 55px;
}
#block-kontakt h2 {
  margin-bottom: 24px;
  line-height: 1.6;
  font-weight: normal;
}
#block-kontakt p {
  font-size: 1.8rem;
  line-height: 1.7;
}

.paragraph--type--text-image .field-paragraph-media {
  border: 1px solid var(--lightgrey);
}

.block-views:not(.flexbox) .views-row {
  margin-top: 50px;
  padding-top: 40px;
  border-top: 1px solid var(--grey);
}

.block-views:not(.flexbox) .views-row:first-of-type {
  margin-top:0;
}

#block-textzeileseitenende {
  display: inline-block;
}

.layout-sidebar .views-row:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.layout-sidebar .more-link {
    margin-top: 40px;
}

#block-frontteaser {
  margin-bottom: 74px;
}
#block-frontteaser .clearfix {
  margin-bottom: 50px;
}

#block-kontaktseitenende {
  padding: 30px;
}

.image-center img {
  max-width: 1224px;
  width: 100%;
}


@media screen and (min-width:768px) {
  footer {
    text-align: left;
  }

  #navigation {
    padding-top: 19px;
    width: calc(100% - 190px);
  }

  .node {
    padding-right: 65px;
    background: transparent url(../images/greenbox-clean.png) no-repeat right top;
    background-size: 40px 100%;
  }

  footer>div {
    background-position-x: 20px;
    padding-top: 0;
  }
}

@media only screen and (min-height: 800px) {
  main {
    padding-top: 111px;
  }
}

@media screen and (max-width:859px) {
  .full-align .field-bannertext {
    position: inherit;
    transform: inherit;
    left: 0;
    top: 0;
  }
}

@media only screen and (min-width: 860px) {
  .field-bannertext div {
    max-width: 475px;
    float: right;
    padding: 0;
  }

  .gradient {
    position: relative;
  }

  .gradient::after {
    content: '';
    position: absolute;
    background-image: linear-gradient(90deg,
    rgba(251,251,251,1) 0%,
    rgba(251,251,251,0) 15%,
    rgba(251,251,251,0) 30%,
    rgba(251,251,251,.8) 45%,
    rgba(251,251,251,.8) 90%,
    rgba(251,251,251,1) 100%);
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    height: 100%;
  }

  .region-highlighted {
    max-height: calc(100vh - 280px);
    overflow: hidden;
  }

}



@media screen and (min-width:1024px) {

  body {
    color: var(--font);
  }

  .block-system-branding-block {
    margin: 40px 0;
  }
  .site-logo img {
    height: 60px;
  }

  #navigation {
    padding-top: 50px;
    width: calc(100% - 294px);
  }

  ul.sf-horizontal a,
  ul.sf-horizontal span {
    padding: 10px 17px;
  }

  .layout-container {
    padding-top: 141px;
  }

  .node--type-article>img {
    float: right;
    margin: 3px 0 2em 2em;
  }

  .gradient::after {
    background-image: linear-gradient(90deg,
    rgba(251,251,251,1) 0%,
    rgba(251,251,251,0) 15%,
    rgba(251,251,251,0) 36%,
    rgba(251,251,251,.8) 67%,
    rgba(251,251,251,.8) 90%,
    rgba(251,251,251,1) 100%);
  }

  .is-front .node header {
    width: 33%;
  }

  .node {
    padding-right: 100px;
  }

  #block-kontaktseitenende {
    padding: 75px 0 70px;
  }
  #block-kontaktseitenende div.clearfix:first-child {
    width: 38%;
    width: calc( (100% - 50px) / 3 );
  }
  #block-kontaktseitenende div.clearfix:last-child {
    width: 59%;
    width: calc( (100% - 15px) / 3 * 2 );
  }

  #block-kontaktseitenende h2 {
    margin:0;
  }

}



@media screen and (min-width:1080px) {

}

@media screen and (min-width:1224px) {
  #highlighted-sections .region {
    padding-left: 0;
    padding-right: 0;
    margin: 0 0 40px;
  }
  .field-bannertext .button {
    margin-top: 2.5rem;
  }

  footer>div {
    background-position-x: left;
  }

}
