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

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

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

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

img {
  max-width: 100%;
}

:root {
  --bg-main: #fff;
  --primary: #022545;
  --secondary: #c8005d;
  --grey: #666;
  --lite: #dbd2d4;
  --line: .5rem;
}

*,
*:before, 
*:after {
  border: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/** /
* {
  outline: .1rem dotted rgba( 0, 0, 0, .2 );
}
/**/

html {
  font-size: 62.5%;
  line-height: 1.333em;
  height: 100%;
  overflow-x: hidden;
  /* overflow-y: hidden; */
}

body {
  background-color: var(--bg-main);
  color: var(--primary);
  font: 1.8rem/2.4rem 'ibm-plex', arial, sans-serif;
  min-height: 100%;
  position: relative;
}

@media( max-width: 1269px ) {
  body {
    overflow-x: hidden;
    width: 100vw;
  }
}

p {
  margin-bottom: 3.2rem;
}

@media( max-width: 1023px) {
  h1,
  h2,
  h3,
  h4 {
    hyphens: auto;
    -webkit-hyphens: auto;
    -mozilla-hyphens: auto;
  }
}

a {
  color: var(--primary);
  text-decoration: none;
}

a:hover {
  color: var(--secondary);
}

article a {
  color: var(--secondary);
}

ul {
  list-style: none;
}

header {
  background-color: #fff;
  height: 17.5rem;
  max-width: 120rem;
  padding: 3rem 0 4.2rem;
  position: fixed !important;
  width: 100%;
  z-index: 3 !important;
}

@media ( max-width: 1239px ) {
  header {
    width: calc( 100% - 4rem );
  }
}

/*body#warenkorb*/
header:after {
  box-shadow: 0 0 .5rem rgba( 0, 0, 0, .1 );
}

a#logo img {
  height: 10.3rem;
  left: 0;
  position: absolute;
}


@media ( max-width: 1099px ) {
  header {
    height: 12rem;
    padding: 1.8rem 0 2.2rem;
    position: fixed !important;
    width: calc( 100% - 4rem );
  }
  a#logo img {
    height: 8.2rem;
  }
  
}

@media ( max-width: 479px ) {
  header {
    width: calc( 100% - 2rem );
  }
}


/* nav */

label.node-toggle-label,
input[type=checkbox].node-toggle {
  display: none;
}

header nav {
  display: inline-block;
  position: absolute;
  right: 0;
}

nav a {
  text-decoration: none;
  text-transform: uppercase;
}

nav a:hover,
nav a.pathpart,
nav a.selected {
  color: var(--secondary) !important;
}

nav li a {
  display: block;
  padding: .5rem 0;
}

/* #header-nav */

nav#header-nav {
  right: -1.2rem;
}

nav#header-nav li.li-0 a {
  display: none;
}

nav#header-nav li.li-1 {
  display: inline-block;
  position: relative;
}


nav#header-nav li.li-1 {
  display: none;
}

nav#header-nav li.li-1.verlag,
nav#header-nav li.li-1.handel,
nav#header-nav li.li-1.presse,
nav#header-nav li.li-1.lizenzen,
nav#header-nav li.li-1.twitter,
nav#header-nav li.li-1.instagram,
nav#header-nav li.li-1.youtube,
nav#header-nav li.li-1.warenkorb,
/*nav#header-nav li.li-1.warenkorb-neu,*/
nav#header-nav li.li-1.benutzerkonto,
nav#header-nav li.li-1.suche {
  display: inline-block;
}

nav#header-nav li.li-1.warenkorb-neu {
  opacity: .1;
}

nav#header-nav li.li-1.warenkorb {
	position: relative;
}

nav#header-nav li.li-1.warenkorb #total-cart-count {
	background-color: var(--secondary);
	color: #fff;
	border-radius: 2rem;
	display: inline-block;
	font-size: 1.3rem;
	height: 2rem;
	line-height: 2rem;
	padding: 0 .5rem;
	position: absolute;
	right: .5rem;
	text-align: center;
	top: -1.5rem;
	min-width: 2rem;
	z-index: 0;
}

nav#header-nav li.li-1.warenkorb a.li-1.warenkorb {
	position: relative;
	z-index: 1;
}

nav#header-nav li.li-1.benutzerkonto i {
	color: #ccc;
}

body.logged-in nav#header-nav li.li-1.benutzerkonto i {
	color: #090;
}

nav#header-nav li.li-1 a {
  font-size: 1.8rem;
  margin: 0 1.2rem;
}

nav#header-nav li.li-1:after {
  border-right: .1rem solid var(--primary);
  content: '';
  height: 1.8rem;
  position: absolute;
  right: 0;
  top: .7rem;
}

nav#header-nav li.li-1.suche:after {
  border-right: 0;
}

nav#header-nav li.li-1 > ul {
  background-color: #fff;
  box-shadow: 0 .3rem .5rem rgba( 0, 0, 0, .2 );
  display: none;
  padding: 1rem 0;
}

nav#header-nav li.li-1:hover > ul{
  display: block;
  left: 1rem;
  position: absolute;
  z-index: 3;
}

nav#header-nav li.li-1.lizenzen > ul {
  left: auto;
  right: 1rem;
}

nav#header-nav li.li-2 a {
  margin: 0 2.5rem;
}

@media( max-width: 1099px) {
  nav#header-nav li.li-1.verlag,
  nav#header-nav li.li-1.handel,
  nav#header-nav li.li-1.presse,
  nav#header-nav li.li-1.lizenzen {
    display: none;
  }
}

#searchform {
  display: none;
  position: absolute;
  right: 1.4rem;
  top: 4rem;
}

@media( max-width: 1099px ) {
  #searchform {
    top: 10.2rem;
  }
}

body#suche #searchform {
  display: inline-block;
}

.visible {
  display: inline-block !important;
}

#searchquery {
  background-color: var(--secondary);
  color: #fff;
  font: 1.8rem/2.4rem 'ibm-plex', arial, sans-serif;
  padding: .2rem;
  text-align: center;
  width: 24rem;
}

#searchquery::placeholder {
  color: rgba( 255, 255, 255, .5 );
  font: 1.3rem/2.4rem 'ibm-plex', arial, sans-serif;
  font-weight: bold;
  letter-spacing: .1rem;
  text-transform: uppercase;
}

/* #main-nav */
input#main-nav-toggle {
  display: none;
}

label[for=main-nav-toggle] i:last-of-type {
  display: none;
}

nav#main-nav li.sonderabo,
nav#main-nav li.gratisabo,
nav#main-nav li.bestellung-ng-fh-digital-sonderabo,
nav#main-nav li.bestellung-ng-fh-digital-gratisabo,
nav#main-nav li.bestellung-ng-fh-print-sonderabo,
nav#main-nav li.bestellung-ng-fh-print-gratisabo,
/*nav#main-nav li.li-2.gewinnspiele,*/
nav#main-nav li.li-2.programme,
nav#main-nav li.li-2.bestseller,
nav#main-nav li.li-2.historisches,
nav#main-nav li.li-2.details {
  display: none;
}

@media( max-width: 1099px) {

  label[for=main-nav-toggle] {
    cursor: pointer;
    font-size: 4rem;
    position: fixed;
    right: 1.8rem;
    text-align: center;
    top: 6rem;
    width: 4rem;
    z-index: 20;
  }

  input#main-nav-toggle:checked ~ label[for=main-nav-toggle] {
    color: #fff;
  }

  input#main-nav-toggle:checked ~ label[for=main-nav-toggle] i:first-of-type {
    display: none;
  }

  input#main-nav-toggle:checked ~ label[for=main-nav-toggle] i:last-of-type {
    display: block;
  }

  nav#main-nav li.twitter,
  nav#main-nav li.youtube,
  nav#main-nav li.benutzerkonto,
  nav#main-nav li.warenkorb,
  nav#main-nav li.suche {
    display: none;
  }

  nav#main-nav {
    display: none;
  }

  input#main-nav-toggle:checked ~ #page-wrapper nav#main-nav {
    background-color: var(--primary);
    bottom: 0;
    display: block;
    left: 0;
    overflow-y: scroll;
    padding: 2rem;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10;
  }
  
  nav#main-nav label.node-toggle-label {
    color: #fff;
    cursor: pointer;
    display: inline-block;
    left: 0;
    position: absolute;
    top: .5rem;
    z-index: 100000;
  }
  
  nav#main-nav input.node-toggle ~ label.node-toggle-label i {
    transition: transform .2s ease-in-out;
  }
  
  nav#main-nav input.node-toggle:checked ~ label.node-toggle-label i {
    transform: rotate(90deg);
  }
  
  nav#main-nav input.node-toggle ~ ul {
    display: none;
  }
  
  nav#main-nav input.node-toggle:checked ~ ul {
    display: block;
  }
  
  nav#main-nav a {
    color: #fff;
  }

  nav#main-nav ul ul {
    margin-left: 2rem;
  }

  nav#main-nav ul li.li-0 > a,
  nav#main-nav ul li.li-1 > a {
    font-weight: bold;
  }

  nav#main-nav ul li {
    padding-left: 2.4rem;
    position: relative;
  }

  nav#main-nav ul li.li-3 a {
    text-transform: none;
  }

  nav#main-nav ul li.footer > a {
    display: none;
  }

  nav#main-nav ul li.footer > ul {
    margin-left: -2.4rem;
  }

  nav#main-nav ul li.footer > ul > li > a {
    font-weight: bold;
  }

  nav#main-nav li.sitemap {
    display: none;
  }

}

@media( max-width: 479px) {
  label[for=main-nav-toggle] {
    right: 1rem;
  }
}

@media( min-width: 1100px) {
  label[for=main-nav-toggle] {
    display: none;
  }

  nav#main-nav {
    bottom: 4rem;
    right: -2rem;
  }

  nav#main-nav li {
    position: relative;
  }

  nav#main-nav li.li-0 a {
    display: none;
  }
  
  nav#main-nav li.li-1 {
    display: none;
  }
  
  nav#main-nav li.li-1.programm,
  nav#main-nav li.li-1.autor-innen,
  nav#main-nav li.li-1.aktuelles,
  nav#main-nav li.li-1.newsletter {
    display: inline-block;
    position: relative;
  }

  /*
	nav#main-nav li.li-1.newsletter {
    display: none;
    pointer-events: none;
    user-select: none;
  }

  nav#main-nav li.li-1,
  nav#main-nav li.li-1:last-of-type {
    display: none;
  }
	*/
  
  nav#main-nav li.li-1 > a {
    font-size: 2.4rem;
    font-weight: bold;
    margin: 0 2rem;
  }

  nav#main-nav li.li-2 > a,
  nav#main-nav li.li-3 > a,
  nav#main-nav li.li-4 > a {
    font-size: 1.8rem;
    font-weight: normal;
    line-height: 3rem;
    margin: 0 4rem;
    /* white-space: nowrap; */
    width: 30rem;
  }

  nav#main-nav li.li-1 > ul,
  nav#main-nav li.li-2 > ul,
  nav#main-nav li.li-3 > ul {
    /* box-shadow: 0 .3rem .5rem rgba( 0, 0, 0, .2 ); */
    display: none;
  }

  nav#main-nav li.li-1 > ul {
    background-color: #fff;
    padding: 5rem 0;
  }

  nav#main-nav li.li-1:hover > ul {
    display: block;
    left: 2rem;
    position: absolute;
  }

  nav#main-nav li.li-1.aktuelles:hover > ul {
    display: block;
    left: auto;
    right: 2rem;
    position: absolute;
  }

  nav#main-nav li.li-2.has-children:after {
    color: var(--secondary);
    content: '\f054';
    font-family: "Font Awesome 5 Free";
    font-size: 2.4rem;
    font-weight: 400;
    position: absolute;
    right: 4rem;
    top: 1rem;
  }

	/*
  nav#main-nav li.li-2.reihen.has-children:after {
    display: none;
  }
	*/
	
  nav#main-nav li.li-2 > ul {
    background-color: #fff;
    padding: 5rem 0;
  }

  nav#main-nav li.li-2:hover > ul {
    border-left: .1rem solid rgba( 0, 0 ,0 , .05 );
    display: block;
    left: 100%;
    top: -5rem;
    position: absolute;
  }
  
	/*
  nav#main-nav li.li-2.reihen.has-children:hover > ul {
    display: none;
  }
	*/
  
  nav#main-nav ul li.li-3 a {
    text-transform: none;
  }

  nav#main-nav li.li-3 > ul {
    background-color: #fff;
    padding: 5rem 0;
  }

  nav#main-nav li.li-3:hover > ul {
    border-left: .1rem solid rgba( 0, 0 ,0 , .05 );
    /* display: block; */
    left: 50%;
    top: -5rem;
    position: absolute;
  }
}

#page-wrapper {
  margin: 0 auto;
  /* min-height: 100vh; */
  max-width: 120rem;
}

@media ( max-width: 1239px ) {
  #page-wrapper {
    margin: 0 2rem;
  }
}

@media ( max-width: 479px ) {
  #page-wrapper {
    margin: 0 1rem;
  }
}

main {
/*  padding: 17.5rem 0 8rem;*/
  padding: 17.5rem 0 0;
  position: relative;
  top: 0;
  z-index: 0;
}

@media ( max-width: 1099px ) {
  main {
    padding-top: 12rem;
  }
}

@media ( max-width: 767px ) {
  /*
  main {
    padding-top: 4rem;
  }
  */
}

#breadcrumbs {
  border-bottom: .1rem solid var(--secondary);
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.8rem;
  height: 9rem;
  padding-top: 3.5rem;
  position: absolute;
  top: 17.5rem;
  width: 100%;
  z-index: 2;
}

body#home #breadcrumbs {
  display: none;
}

@media ( max-width: 1099px ) {
  #breadcrumbs {
    top: 12rem;
  }
}

@media ( max-width: 767px ) {
  #breadcrumbs {
    display: none;
  }
}

#breadcrumbs i {
  margin: 0 1.2rem;
}

/*
main > div:first-of-type > div:first-of-type {
  background-color: #dbd2d4;
  padding: 13rem 0 8rem;
  position: relative;
  z-index: 0;
}
*/

.item-main {
  padding-bottom: 4rem;
}

.gewinnspiel .item-main {
  padding-bottom: 8rem;
}

article,
.wide {
  position: relative;
  z-index: 0;
}

/*
article {
  background-color: #edeeef;
  padding-bottom: 4rem;
}
*/

/*
article {
  max-width: 70rem;
}
*/

@media( min-width: 780px ) and ( max-width: 1279px ) {
  body:not(#suche) article {
    padding-right: calc( 100vw - 78rem );
  }
}

@media( min-width: 1280px ) {
  article {
    padding-right: calc( 50rem );
  }
  body#suche article,
  body#rezensionsbestellungen article {
    padding-right: 0;
  }
}

article:after,
.wide:after {
  background: inherit;
  content: '';
  height: 100%;
  left: -1rem;
  position: absolute;
  top: 0;
  width: 100vw;
  z-index: -1;
}

@media ( min-width: 480px ) {
  article:after,
  .wide:after {
    left: -2rem;
  }
}

@media ( min-width: 1240px ) {
  article:after,
  .wide:after {
    left: calc( ( 100vw - 120rem ) / -2 );
  }
}

body#suche article,
body#aktuelle-meldungen article,
body#podcast article,
body#newsletter article,
body#warenkorb article,
body#warenkorb-neu article,
body.verlag article,
body.handel article,
body.lizenzen article,
body.presse article {
  background-color: #edeeef;
  margin-bottom: 4rem;
  padding-bottom: 4rem;
}

body.neue-gesellschaft-frankfurter-hefte div.ngfh-head {
  border-bottom: 0;
  margin-bottom: 6rem;
  position: relative;
}

body.neue-gesellschaft-frankfurter-hefte div.ngfh-head:after {
  background: url(../img/deco/NGFH_LP_Schraffur.png);
  background-size: 3.5rem;
  content: '';
  height: calc( 100% + 13rem );
  top: -13rem;
}

body.neue-gesellschaft-frankfurter-hefte div.ngfh-head figure {
  position: relative;
}

body.neue-gesellschaft-frankfurter-hefte div.ngfh-head figure:after {
  background: url(../img/deco/NGFH_LP_Stoerer.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 13rem;
  position: absolute;
  right: -9rem;
  top: 6rem;
  width: 20rem;
  z-index: 10;
}


article,
body.archiv-fuer-sozialgeschichte main,
/* body.neue-gesellschaft-frankfurter-hefte main, */
body.warenkorb main > div.titles > div.title:first-of-type,
body.programm main > div.titles > div.title:first-of-type,
body#details main > div.item-details > div.item-main {
  padding-top: 13rem;
}

/* body.neue-gesellschaft-frankfurter-hefte main, */
body.archiv-fuer-sozialgeschichte main {
  padding-top: 30rem;
}

/* body.neue-gesellschaft-frankfurter-hefte article, */
body.archiv-fuer-sozialgeschichte article {
  padding-top: 0;
}

body#warenkorb-neu article,
body#warenkorb article,
body#aktuelle-meldungen article {
  padding-right: 0;
}

body#autor-innen main > div#autor > div.wide {
  background-color: var(--lite);
  padding-bottom: 4rem;
  padding-top: 13rem;
}

body#autor-innen main > div#autor-info > div.wide {
  background-color: var(--lite);
  padding-bottom: 4rem;
  padding-top: 13rem;
}

h1.chapter-title,
div.chapter-title {
  line-height: 3.6rem;
  text-transform: uppercase;
  padding: 13rem 0 1rem;
}

body.archiv-fuer-sozialgeschichte main h1,
/* body.neue-gesellschaft-frankfurter-hefte main h1, */
h1.page-title,
.chapter-title h1 {
  font-size: 4rem;
  line-height: 4rem;
  margin-bottom: 0;
  text-transform: uppercase;
}

body.neue-gesellschaft-frankfurter-hefte main h1 {
  font-size: 2.4rem;
  line-height: 2.4rem;
  margin-bottom: .8rem;
  margin-top: 13rem;
  text-transform: none;
}

body#neue-gesellschaft-frankfurter-hefte main h1,
body#neue-gesellschaft-frankfurter-hefte-abo-abschliessen main h1 {
  font-size: 3.2rem;
  line-height: 3.2rem;
}

body.neue-gesellschaft-frankfurter-hefte main h3 {
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.8rem;
  margin-bottom: 2.4rem;
  text-transform: none;
}

body#neue-gesellschaft-frankfurter-hefte main h3,
body#neue-gesellschaft-frankfurter-hefte-abo-abschliessen main h3 {
  font-size: 2.4rem;
  line-height: 2.4rem;
}

body.neue-gesellschaft-frankfurter-hefte main h2 {
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.8rem;
  text-transform: none;
}

body#neue-gesellschaft-frankfurter-hefte main h2,
body#neue-gesellschaft-frankfurter-hefte-abo-abschliessen main h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 2.4rem;
}

.headline {
  display: block;
  font-size: 4rem;
  font-weight: bold;
  line-height: 4rem;
  padding-bottom: 6rem;
  text-transform: uppercase;
}

@media( max-width: 767px ) {
  .headline {
    padding-bottom: 4rem;
  }
}

.segment-title {
  display: block;
  font-size: 4rem;
  font-weight: bold;
  line-height: 4rem;
  padding: 6rem 0 1rem;
  text-transform: uppercase;
}

@media( max-width: 767px ) {
  .segment-title {
    font-size: 2.4rem;
    line-height: 2.4rem;
    padding: 4rem 0 0;
  }
}

.cover-wrapper {
  display: inline-block;
  position: relative;
}

.neu {
  left: 17.3rem;
  position: absolute;
  width: 7rem !important;
  top: -3.5rem;
}

@media( max-width: 375px ) {
  .cover-wrapper .neu {
    display: none;
  }
}

body#home .slide-img .neu,
body.details .item-details-img .neu {
  left: 29.7rem;
}

@media( max-width: 899px ) {
  body#home .slide-img .neu {
    left: 17.3rem;
  }
}

.title .neu {
  left: 17.3rem;
  top: 2.5rem;
}

.title:first-of-type .neu {
  top: 9.5rem;
}

body#suche .title:first-of-type .neu {
  top: 2.5rem;
}

body#suche .title .neu {
  left: 10.4rem;
}

@media ( max-width: 767px ) {
  body#suche .title:first-of-type .neu {
    top: -3.5rem;
  }
  
  body#suche .title .neu {
    left: 17.4rem;
  }
}

.item .neu {
  left: 17.3rem;
}

.item-details-info {
  padding-top: 10rem;
}

@media( max-width: 767px ) {
  .item-details-info {
    padding-top: 3rem;
  }
}


body.archiv-fuer-sozialgeschichte main form h2,
body.neue-gesellschaft-frankfurter-hefte main form h2,
h2.titel,
h1.titel {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 2.6rem;
}

body#home h2.titel {
  font-size: 6rem;
  line-height: 6rem;
  margin-left: -.3rem;
}

@media ( max-width: 899px ) {
  body#home h2.titel {
    font-size: 4rem;
    line-height: 4rem;
    margin-left: 0;
  }
}

@media ( max-width: 599px ) {
  body#home h2.titel {
    font-size: 2.4rem;
    line-height: 2.4rem;
    margin-bottom: 0;
  }
}

h3.autor,
h2.autor {
  font-size: 1.8rem;
  font-weight: normal;
  margin-bottom: .4rem;
}

body#home h3.autor {
  margin-bottom: 0;
}

h4.untertitel2,
h3.untertitel2,
h4.untertitel,
h3.untertitel {
  font-size: 1.8rem;
  font-weight: normal;
  margin-bottom: 3rem;
}

body#home h4.untertitel2,
body#home h4.untertitel {
  font-size: 2.4rem;
  line-height: 3.6rem;
}

@media ( max-width: 899px ) {
  body#home h4.untertitel2,
  body#home h4.untertitel {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}

@media ( max-width: 599px ) {
  body#home h4.untertitel2,
  body#home h4.untertitel {
    margin-bottom: 1rem;
  }
}

article h1 {
  font-size: 4rem;
  font-weight: bold;
  line-height: 4.8rem;
  margin-bottom: 3.2rem;
  text-transform: uppercase;
}

article h2 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 0;
}

article h3 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0;
}

article ul {
  margin-bottom: 3.2rem;
}

.multi-container:-moz-only-whitespace,
.multi-container:empty {
/*  display: none;*/
/*  opacity: .1;*/
}

.multi-container-item li,
article li {
  margin-bottom: 1.6rem;
  padding-left: 2.4rem;
  position: relative;
}

.multi-container-item li:before,
article li:before {
  content: '–';
  left: 0;
  position: absolute;
}

.multi-container-item.downloads li:before {
  content: '\f078';
  font-family: "Font Awesome 5 Free";
}

.youtube-wrapper {
  display: inline-block;
  vertical-align: top;
}

body#autor-innen h2 {
  font-size: 2.4rem;
  padding: 3rem 0;
}

div.autor,
div.item-main {
  display: flex;
  justify-content: space-between;
}

div.autor > div:first-of-type,
div.item-main > div:first-of-type {
  width: 33.2rem;
}

body:not(.details) div.item-main > div:last-of-type {
  /* width: 70.4rem; */
  width: calc( 100% - 33.2rem );
}

body#autor-innen #autor-info div.item-main > div:last-of-type,
div.item-main > div:last-of-type,
div.autor > div:last-of-type {
  /* width: 70.4rem; */
  width: calc( 100% - 50rem );
}

@media( max-width: 1099px ) {
  div.autor,
  div.item-main {
    display: block;
  }
  
  body#autor-innen #autor-info div.item-main > div:last-of-type,
  div.autor > div:first-of-type,
  div.item-main > div:first-of-type {
    width: 100%;
  }
  
  div.autor > div:last-of-type,
  div.item-main > div:last-of-type {
    width: 100%;
  }
}

.item-info {
  /* margin-bottom: 6rem; */
  margin-bottom: 3rem;
}

.item-more {
  padding-top: 6rem;
}

footer {
  background-color: var(--primary);
  color: var(--bg-main);
  min-height: 50rem;
  padding: 10rem 0 5rem;
  position: relative;
  z-index: 0;
}

footer h3 {
  font-size: 2.4rem;
  margin-bottom: 3.2rem;
}

footer a {
  color: var(--bg-main);
  text-decoration: none;
}

footer nav {
  left: -1rem;
  position: relative;
  top: -.1rem
}

footer nav li.li-0,
footer nav li.li-1,
footer nav ul.ul-3 {
  display: none;
}

footer nav li.footer {
  display: block;
}

footer nav li.footer > a {
  display: none;
}

footer nav li.footer li {
  display: inline-block;
}

footer nav li.footer li.li-2.teilnahmebedingungen,
footer nav li.footer li.li-2.sitemap {
  display: none;
}

footer nav li.footer li a {
  padding: 0 .5rem;
}

#footer-logo {
  display: block;
}

#footer-logo img {
  width: 12.4rem;
}

footer .colgrp {
  display: flex;
}

footer .colgrp:not(:first-of-type) {
  margin-bottom: 4rem;
}

footer .colgrp > * {
  width: 50%;
}

@media( max-width: 1099px ) {
  #footer-logo {
    margin-bottom: 8rem;
  }

  footer > .colgrp {
    display: block;
    /* width: 100%; */
  }

  footer > .colgrp > * {
    width: 100%;
  }

  #footer-nav {
    display: none;
  }
}

footer .fa-twitter {
  font-size: 4.8rem;
}

#label-toggle-zusatztext-vlb,
#toggle-zusatztext-vlb {
  display: none;
}

#label-toggle-zusatztext-vlb,
form input[type=submit],
a.button,
button {
  background-color: transparent;
  border: .1rem solid var(--secondary);
  color: var(--secondary);
  cursor: pointer;
  font: 1.8rem/2.4rem 'ibm-plex', arial, sans-serif;
  font-weight: bold;
  /* margin: 4rem 0 6rem; */
  margin: 0 0 6rem;
  padding: .8rem 1.6rem;
  text-transform: uppercase;
  white-space: nowrap;
}

body#warenkorb-neu .titles .title form.addtocart button.add-to-cart,
body#warenkorb .titles .title form.addtocart button.add-to-cart {
  margin-bottom: 0 !important;
}

.button-container {
  display: flex;
  justify-content: flex-start;
  gap: 3rem;
}

@media( max-width: 1099px ) {
  #neue-gesellschaft-frankfurter-hefte-abo-abschliessen a.button {
    line-height: 4.4rem;
  }

  #label-toggle-zusatztext-vlb {
    display: inline-block;
  }
  
  #zusatztext-vlb {
    display: none;
  }
  
  #toggle-zusatztext-vlb:checked ~ #label-toggle-zusatztext-vlb {
    display: none;
  }
  
  #toggle-zusatztext-vlb:checked ~ #zusatztext-vlb {
    display: block;
  }
}


form input[type=submit]:hover,
a.button:hover,
button:hover {
  background-color: var(--secondary);
  color: #fff;
}

.type-toggle {
  margin-bottom: 2rem;
}

.type-toggle i {
  margin-right: .3rem;
  position: relative;
  top: .2rem;
}

.type-toggle a:hover,
.hilite {
  color: var(--secondary);
}

.type-toggle a i {
  transition: transform .1s ease-in-out;
}

.hilite i,
.type-toggle a:hover i {
  transform: rotate(90deg);
}

.multi-container > input[type="radio"] {
  display: none;
}

@media( max-width: 1099px ) {
  .multi-container {
    border-top: .1rem solid var(--secondary);
    margin: 4rem 0;
  }

  .multi-container > label {
    border-bottom: .1rem solid var(--secondary);
    cursor: pointer;
    display: block;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 5.6rem;
    position: relative;
    text-transform: uppercase;
  }

  .multi-container > label:after {
    color: var(--secondary);
    content: '\f054';
    font-family: "Font Awesome 5 Free";
    font-size: 4rem;
    font-weight: 400;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 100;
  }

  .multi-container > label:hover {
    color: var(--secondary) !important;
  }

  .multi-container > input[type="radio"]:checked + label {
    color: var(--secondary);
  }

  .multi-container > input[type="radio"]:checked + label:after {
    content: '\f078';
  }

  .multi-container-item {
    border-bottom: .1rem solid var(--secondary);
    display: none;
    flex-grow: 1;
    height: 100%;
    order: 1;
    padding: 2rem 0;
    width: 100%;
  }

  .multi-container > input[type="radio"]:checked + label + .multi-container-item {
    display: block;
  }
}

@media( min-width: 1100px ) {
  .multi-container {
    border-bottom: .1rem solid var(--secondary);
    display: flex;
    flex-wrap: wrap;
    height: auto;
    justify-content: flex-start;
    padding-bottom: 1rem;
    margin: 4rem 0;
    width: 100%;
  }
  
  /*  .multi-container:not(:empty):after {*/
  .multi-container:after {
    background-color: var(--secondary);
    content: '';
    display: block;
    height: .1rem;
    margin: 2.4rem 0;
    width: 100%;
  }
  
  .multi-container-item {
    display: none;
    flex-grow: 1;
    height: 100%;
    order: 1;
    width: 100%;
  }
  
  .multi-container > label {
    cursor: pointer;
    display: block;
    font-size: 2.4rem;
    font-weight: bold;
    margin-left: 4rem;
    text-transform: uppercase;
  }
  
  .multi-container > label:hover {
    color: var(--secondary) !important;
  }
  
  .multi-container > label:first-of-type {
    margin-left: 0;
  }
  
  .multi-container > input[type="radio"] + label {
    color: var(--primary);
    position: relative;
    z-index: 1;
  }
  
  .multi-container > input[type="radio"]:checked + label {
    color: var(--secondary);
  }
  
  .multi-container > input[type="radio"]:checked + label:after {
    background-color: var(--secondary);
    content: '';
    display: block;
    height: .3rem;
    position: absolute;
    top: 4.7rem;
    width: 100%;
  }
  
  .multi-container > input[type="radio"]:checked + label + .multi-container-item {
    display: block;
  }
}

.themen-liste,
.other-titles {
  margin-top: 5rem;
  padding-top: 5rem;
}

.themen-liste h3,
.other-titles h3 {
  font-size: 4rem;
  line-height: 4rem;
  text-transform: uppercase;
  margin-bottom: 7rem;
  padding-top: 1rem;
}

@media( max-width: 767px ) {
  .themen-liste,
  .other-titles {
    margin-top: 0rem;
    padding-top: 0rem;
  }
  
  .themen-liste h3,
  .other-titles h3 {
    margin-bottom: 2rem;
  }
}

.widget-buchstaben {
  font-size: 2.4rem;
  padding-bottom: 8rem;
}

.widget-buchstaben > * {
  margin: 0 .1rem;
}

.widget-buchstaben > *:first-child {
  margin-left: 0;
}

.widget-buchstaben > *:last-child {
  margin-right: 0;
}

@media( max-width: 767px ) {
  .widget-buchstaben {
    padding-bottom: 4rem;
  }
}

.title {
  display: flex;
  justify-content: space-between;
  padding: 6rem 0 3rem;
  position: relative;
}

@media( max-width: 767px ) {
  .title:first-of-type {
    padding-top: 0;
  }
}

.title > div:first-of-type {
  width: 20.8rem;
}

.title > div:last-of-type {
  /* width: 86.7rem; */
  width: calc( 100% - 33.2rem );
}

body#suche .title > div:first-of-type {
  width: 13.9rem;
}

body#suche .title > div:last-of-type {
  width: calc( 100% - 20.8rem );
}

.titles .title {
  border-top: .1rem solid var(--secondary);
}

.titles .title:first-of-type {
  border-top: none;
}

@media( max-width: 767px ) {
  .titles .title {
    display: block;
  }

  body#suche .titles .title > div:first-of-type,
  .titles .title > div:first-of-type {
    width: 100%;
  }
  
  body#suche .titles .title > div:last-of-type,
  .titles .title > div:last-of-type {
    width: 100%;
  }
}

/*
@media( max-width: 1099px ) {
  .title > div:first-of-type {
    width: 100%;
  }
  
  .title > div:last-of-type {
    width: 100%;
  }
}
*/

.more {
  color: var(--secondary);
}

.termine-wrapper {
  width: 100%;
}

#veranstaltungen .termine {
  background-color: #edeeef
}

.termine .colgrp {
  border-top: .1rem solid var(--primary);
  display: flex;
  width: 100%;
}

.termin > .colgrp,
.termine .colgrp:first-child {
  border: 0;
}

.termine .colgrp > * {
  padding: 3rem 0 3rem 4rem;
  position: relative;
  width: 33.33%;
}

.termine .colgrp > * > i {
  color: var(--secondary);
  font-size: 2.4rem;
  left: 0;
  position: absolute;
  text-align: center;
  width: 2.4rem;
}

.gewinnspiele .gewinnspiel,
.termine .termin {
  border-top: .1rem solid var(--secondary);
  padding: 6rem 0;
}

.gewinnspiele .gewinnspiel:first-of-type,
.termine .termin:first-of-type {
  border-top: none;
}

@media( max-width: 1099px ) {
  .termine .colgrp {
    padding: 2rem 0;
    display: block;
  }

  .termine .colgrp > * {
    padding: 1rem 0 1rem 4rem;
    width: 100%;
  }
}

.gewinnspiele .item-details-info,
.termine .item-details-info {
  padding-top: 0;
}

.termine div.item-main > div:first-of-type {
  width: 20.8rem;
}

.termine div.item-main > div:first-of-type .neu {
  left: 10.4rem;
}

.termine div.item-main > div:last-of-type {
  width: calc( 100% - 20.8rem ) !important;
}

@media( max-width: 1000px ) {
  .gewinnspiele div.item-main > div:last-of-type,
  .termine div.item-main > div:last-of-type {
    width: 100% !important;
  }
}

.gewinnspiele .gewinnspiel h2,
.termine .termin h2 {
  font-size: 2.4rem;
  margin-bottom: 3.2rem
}

a.download-leseprobe {
  display: block;
  padding: 3rem 0 1rem;
  text-align: center;
  width: 100%;
}

div.autors {
  background-color: var(--lite);
}

div.autor {
  border-top: .1rem solid var(--secondary);
}

div.autor:first-child {
  border: none;
}

div.autor-portrait {
  line-height: 0;
}

@media( max-width: 1099px ) {
  div.autor-details {
    padding-bottom: 3rem;
  }
}

div.autor-details h2 {
  padding: 9rem 0 3rem;
}

body.archiv-fuer-sozialgeschichte form label,
body.neue-gesellschaft-frankfurter-hefte form label,
body#gewinnspiele form label,
/*body#warenkorb form label,*/
body#warenkorb article #adressformular label,
body#warenkorb-neu article #adressformular label,
body#rezensionsbestellungen form label {
  display: inline-block;
  margin-right: 2rem;
  text-align: right;
  vertical-align: top;
  width: 16rem;
}

body#warenkorb-neu form input,
body#warenkorb form input,
body#gewinnspiele form input,
body.archiv-fuer-sozialgeschichte form input[type=text],
body.archiv-fuer-sozialgeschichte form textarea,
body.neue-gesellschaft-frankfurter-hefte form input[type=text],
body.neue-gesellschaft-frankfurter-hefte form textarea,
body#warenkorb-neu form input[type=text],
body#warenkorb form input[type=text],
body#rezensionsbestellungen form textarea,
body#rezensionsbestellungen form input[type=text] {
  border: .1rem solid var(--lite);
  font: 1.8rem/2.4rem 'ibm-plex', arial, sans-serif;
  margin-bottom: .4rem;
  padding: .4rem;
	max-width: 100% !important;
}

body#warenkorb-neu form select,
body#warenkorb form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff url(/img/ui/select.svg) no-repeat right center;
  border: .1rem solid var(--lite);
  border-radius: 0;
  color: #000;
  font: 1.8rem/2.4rem 'ibm-plex', arial, sans-serif;
  top: -.2rem;
  padding: .4rem 2.8rem .4rem .4rem;
	max-width: 24.8rem;
  position: relative;
  width: 100%;
}

body#rezensionsbestellungen form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff url(/img/ui/select.svg) no-repeat right center;
  border: .1rem solid var(--lite);
  color: #666;
  font: 1.2rem/2.4rem 'ibm-plex', arial, sans-serif;
  top: -.2rem;
  padding: .4rem 2.8rem .4rem .8rem;
	max-width: 100% !important;
  position: relative;
}

@media ( max-width: 699px ) {
	body.neue-gesellschaft-frankfurter-hefte form label,
	body.archiv-fuer-sozialgeschichte form label,
	body#warenkorb-neu form label,
	body#warenkorb form label,
	body#gewinnspiele form label,
	body#rezensionsbestellungen form label {
		text-align: left;
		width: 100%;
	}
}

body#gewinnspiele form span.required,
body#warenkorb-neu form span.required,
body#warenkorb form span.required,
body#rezensionsbestellungen form span.required {
  color: var(--secondary)
}

nav ul.pagination li {
  display: inline-block;
}

nav ul.pagination li a {
  background-color: #fff;
  border: .1rem solid var(--secondary);
  /* border-radius: .4rem; */
  color: var(--secondary);
  padding: .4rem .8rem;
  text-decoration: none;
}

nav ul.pagination li.active a,
nav ul.pagination li a:hover {
  background-color: var(--secondary);
  color: var(--bg-main) !important;
}

.items {
  display: flex;
  overflow: visible;
  overflow-x: scroll;
  -ms-overflow-style: none;
  padding-top: 4rem;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-color: transparent transparent;
  scrollbar-height: 0;
}

.items::-webkit-scrollbar { 
  color: transparent !important;
}

/*
@media ( min-width: 1320px ) {
  .bestseller-wrapper,
  .bestseller-wrapper .slidercontrol {
    margin: 0;
    max-width: 70rem;
  }
}
*/

@media ( max-width: 1280px ) {
  .items {
    transform: translateX(1.8rem);
    margin: auto;
    width: 98.8rem;
  }
}

@media ( max-width: 1050px ) {
  .items {
    transform: translateX(1.8rem);
    margin: auto;
    width: 74rem;
  }
}

@media ( max-width: 810px ) {
  .items {
    transform: translateX(1.8rem);
    margin: auto;
    width: 49.2rem;
  }
}

@media ( max-width: 579px ) {
  .items {
    transform: translateX(1.8rem);
    margin: auto;
    width: 24.4rem;
  }
}

.items .item {
  display: flex;
  flex: 0 0 20.8rem;
  flex-direction: column;
  justify-content: flex-end;
  left: -2rem;
  margin: 0 2rem;
  position: relative;
  scroll-snap-align: start;
  width: 20.8rem;
}

/*
.item:first-of-type {
  margin-left: 0;
}
*/

.item > *:first-child {
  padding-bottom: 1rem;
}

.item > *:last-child {
  padding-top: 1rem;
  height: 18rem;
}

.item > * p {
  margin-bottom: 0;
}

.slidercontrol {
  margin: 0 auto;
  position: relative;
  /* max-width: 100rem; */
}

.slidercontrol .inner {
  padding: 0;
}

.slidercontrol .prev {
  color: var(--secondary);
  cursor: pointer;
  display: none;
  font-size: 6rem;
  left: -3.5rem;
  position: absolute;
  top: calc( 50% - 8rem );
}

.slidercontrol .next {
  color: var(--secondary);
  cursor: pointer;
  display: none;
  font-size: 6rem;
  position: absolute;
  right: -3.5rem;
  top: calc( 50% - 8rem );
}

@media ( max-width: 1279px ) {
	.slidercontrol .prev {
		left: 0;
	}
	.slidercontrol .next {
		right: 0;
	}
}

@media ( min-width: 1300px ) {
	.slidercontrol .prev {
		left: -4.5rem;
	}
	.slidercontrol .next {
		right: -4.5rem;
	}
}

.slidercontrol.show .prev,
.slidercontrol.show .next {
  display: block;
}

.noselect {
	-webkit-user-select: none;  /* Chrome all / Safari all */
	-moz-user-select: none;     /* Firefox all */
	-ms-user-select: none;      /* IE 10+ */
	user-select: none;          /* Likely future */
}

#suche .untertitel2,
#suche .zusatztext {
  display: none;
}

/* 
article.static {
  background: linear-gradient( #edeeef,#fff);
}
*/

.slider-wrapper {
  position: relative;
}

/*
@media ( max-width: 899px ) {
  .slider-wrapper {
    margin-top: 2rem;
  }
}
*/

/*
@media ( max-width: 767px ) {
  .slider-wrapper {
    margin-top: 9rem;
  }
}
*/

/** /
.slider-wrapper * {
  outline: 1px dotted rgba( 0, 0, 0, .2 );
}
/**/

.slider {
	height: 70rem;
	margin: 0 auto;
	max-width: 120rem;
	position: relative;
	width: 100%;
}

/*
@media( max-width: 899px ) {
  .slider {
    height: 90rem;
  }
}
*/

.slider .slide {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: none;
  height: 100%;
  left: 0;
  max-width: 120rem;
  /* outline: .1rem dotted green; */
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

@media( max-width: 1219px ) {
  .slider .slide {
    background-size: cover;
  }
}

.slider .slide-img {
  /* box-shadow: 0 0 .5rem rgba( 0, 0, 0, .33 ); */
  height: 50rem;
  position: absolute;
  right: 12rem;
  top: 9rem;
  width: 33.2rem;
}

@media( max-width: 1149px ) {
  .slider .slide-img {
    right: 6rem;
  }
}

@media ( max-width: 899px ) {
  .slider .slide-img {
    height: auto;
    margin: 4rem auto;
    position: relative;
    right: auto;
    top: 1rem;
    width: 20.8rem;
  }
}

.slide-text {
  margin: 17rem 0 0 8rem;
  width: 58rem;
}

@media ( max-width: 1099px ) {
  .slide-text {
    margin: 9rem 0 0 6rem;
    width: 40rem;
  }
}

@media ( max-width: 899px ) {
  .slide-text {
    margin: 2rem auto;
    text-align: center;
    width: auto;
  }
  .slide-text button {
    display: none;
  }
}

body.home .slider .slide,
body.home .slider .slide img {
	width: 100%;
}

.slider .slide:first-child {
  display: block;
}

.slider .slide.next {
  z-index: 5;
}

.slider .slide.selected {
  z-index: 10;
}

#sldr-prv {
	/* background-color: rgba( 0, 0, 0, .1 ); */
	/* border-radius: .2rem; */
	color: #fff;
	cursor: pointer;
  font-size: 6rem;
  font-weight: 400;
	left: -2.5rem;
	padding: 2rem 1rem;
	position: absolute;
	top: calc( 50% - 5rem );
	z-index: 20;
}

#sldr-nxt {
	/* background-color: rgba( 0, 0, 0, .1 ); */
	/* border-radius: .2rem; */
	color: #fff;
	cursor: pointer;
  font-size: 6rem;
  font-weight: 400;
	padding: 2rem 1rem;
	position: absolute;
	right: -2.5rem;
	top: calc( 50% - 5rem );
	z-index: 20;
}

#sldr-prv:hover,
#sldr-nxt:hover {
  /* background-color: rgba( 255, 255, 255, .1 ); */
  color: #000;
}


@media ( max-width: 1199px ) {
	#sldr-prv {
		left: 0;
	}
	#sldr-nxt {
		right: 0;
	}
}

@media ( max-width: 899px ) {
	#sldr-prv {
		top: 15rem;
	}
	#sldr-nxt {
		top: 15rem;
	}
}

#sldr-dots > .dots-wrapper {
	/* bottom: .2rem; */
	bottom: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	left: 0;
	margin: 0 auto;
	max-width: 28rem;
	padding: .4rem 0;
	position: absolute;
	right: 0;
	width: calc( 100% - 2rem );
	z-index: 70;
}

#sldr-dots > .dots-wrapper > span {
  /* background-color: rgba( 0, 0, 0, .2 ); */
  border: .1rem solid #fff;
  border-radius: 50%;
	/* box-shadow: 0 0 .5rem rgba( 255, 255, 255, .33 );  */
	cursor: pointer;
	height: 1.4rem;
	margin: 0 .5rem 2.5rem .5rem;
	width: 1.4rem;
}

#sldr-dots > .dots-wrapper > span:hover,
#sldr-dots > .dots-wrapper > span.sliderpos {
	background-color: #fff;
}

q {
  display: block;
  font-size: 2.4rem;
  line-height: 3.6rem;
  font-style: italic;
  font-weight: bold;
  margin-bottom: 1rem;
  quotes: '' '';
}

@media ( max-width: 899px ) {
  q {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}

a.slide .slide-img {
  transition: transform .2s ease-in-out;
}

a.slide:hover .slide-img {
  transform: scale(1.02);
}

a.slide:hover {
  color: inherit;
}

.feature-img > img,
img.list-item-img,
img.title-img,
img.portrait,
img.cover {
  box-shadow: 0 0 .5rem rgba( 0, 0, 0, .2 );
}

img.portrait.placeholder {
  box-shadow: none;
}

@media( max-width: 767px ) {
  img.portrait.placeholder {
    display: none;
  }
}


.feature {
  display: flex;
  justify-content: space-between;
}

.feature .feature-img {
  line-height: 0;
}

.feature > span.feature-text {
  padding: 0 4rem;
  position: relative;
  width: calc( 100% - 33.2rem );
}

a.feature:hover {
  color: inherit;
}

.feature span.feature-title {
  background-color: var(--primary);
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  left: 4rem;
  padding: 1rem 2rem;
  position: absolute;
  text-transform: uppercase;
  top: 0;
}

.feature > span.quote-wrapper {
  align-items: center;
  display: flex;
  justify-content: center;
}

.feature > span q {
  font-size: 2.4rem;
  line-height: 3.2rem;
}

.feature button {
  bottom: 2rem;
  margin-bottom: 0;
  position: absolute;
  left: 4rem;
}

@media( max-width: 767px ) {
  .feature {
    display: block;
  }
  .feature > span.feature-text {
    padding: 0;
    position: static;
    width: 100%;
  }
  
  .feature .feature-img {
    display: block;
    margin: 0 auto;
    padding-top: 6rem;
    width: 20.8rem;
  }

  .feature.ng-fh-wrapper .feature-img {
    padding-top: 0rem;
  }

  .feature > span q {
    font-size: 1.8rem;
    line-height: 2.4rem;
    padding: 3rem 0 1rem;
  }

  .feature > span.quote-wrapper {
    padding-bottom: 5rem;
  }
  
  .feature span.feature-title {
    left: 0;
  }

  .feature button {
    left: 0;
  }
}

.article-images {
  display: none;
}

@media( min-width: 1024px ) {
  .article-images {
    display: block;
    position: absolute;
    right: 0;
    width: 20.8rem;
  }
}

/*
.subnavigation {
  position: absolute;
  right: 0;
  top: 3.2rem;
  z-index: 5;
}
*/

.subnavigation {
    padding-bottom: 4rem;
}

.subnavigation a.selected {
  color: var(--secondary)
}

.meldungen {
  display: block;
}

.meldung {
  border-top: .1rem solid var(--secondary);
  display: flex;
  justify-content: space-between;
  margin-top: 4rem;
  padding-top: 4rem;
}

.meldung:first-of-type {
  border-top: 0;
  margin-top: 2rem;
  padding-top: 0;
}

.meldung > div:first-of-type {
  width: 20.8rem;
}

.meldung > div:last-of-type {
  width: calc( 100% - 33.2rem );
}

@media ( max-width: 767px ) {
  .meldung {
    display: block;
  }
  .meldung > div:last-of-type {
    width: 100%;
  }
}


.meldung h2 {
  margin-bottom: 3rem;
}

.ng-fh-wrapper {
  border-bottom: .1rem solid var(--secondary);
  padding-bottom: 4rem;
}

@media ( max-width: 767px ) {
  .ng-fh-wrapper {
    padding-bottom: 8rem;
  }
}

body#home .termine {
  width: 100%;
}

.termin-short {
  border-bottom: .1rem solid var(--secondary);
  display: block;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  width: 100%;
}

body.neue-gesellschaft-frankfurter-hefte article,
body#historie article {
  padding-right: 0 !important;
}

.section {
  border-bottom: .1rem solid var(--secondary);
  display: flex;
  justify-content: space-between;
  margin-bottom: 4rem;
  padding: 0 0 4rem 0;
  position: relative;
  width: 100%;
}

.section:last-of-type {
  border-bottom: none;
}

.section figure {
  left: 0;
  top: 0;
  width: 33.2rem
}

.section > div {
  width: calc( 100% - 50rem );
}

@media( max-width: 1099px ) {
  .section figure {
    width: 20.8rem
  }
  .section > div {
    width: calc( 100% - 33.2rem );
  } 
}

@media( max-width: 767px ) {
  .section {
    display: block;
  }
  .section figure {
    padding-bottom: 3rem;
    max-width: 100%;
    width: 33.2rem
  }
  .section > div {
    width: 100%;
  } 
}

body#warenkorb-neu .titles,
body#warenkorb .titles,
body.programm .titles {
  background-color: #edeeef;
}

.pager {
  margin-top: 4rem;
}

body.archiv-fuer-sozialgeschichte .colgrp,
body.neue-gesellschaft-frankfurter-hefte .colgrp {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

body.archiv-fuer-sozialgeschichte .colgrp > .col,
body.neue-gesellschaft-frankfurter-hefte .colgrp > .col {
  border-top: 1px solid #eee;
  flex: 1 0 22rem;
  margin-bottom: 1.6rem;
  padding-top: .8rem;
}

body.archiv-fuer-sozialgeschichte a.link-button,
body.neue-gesellschaft-frankfurter-hefte a.link-button {
  background: #a52f33 url(/img/ui/link-button.gif) no-repeat right .6rem;
  border-radius: .2rem;
  color: #fff;
  font-size: 1.3rem;
  padding: .2rem 1.2rem .2rem .4rem;
  text-transform: uppercase;
  white-space: nowrap;
}

body.archiv-fuer-sozialgeschichte table,
body.neue-gesellschaft-frankfurter-hefte table {
  margin: 2.4rem 0;
  width: 100%;
}

body.archiv-fuer-sozialgeschichte table td,
body.archiv-fuer-sozialgeschichte table th,
body.neue-gesellschaft-frankfurter-hefte table td,
body.neue-gesellschaft-frankfurter-hefte table th {
  border-top: .1rem solid #eee;
  padding: .4rem .8rem;
  text-align: left;
  width: 33%;
}

body.archiv-fuer-sozialgeschichte table td,
body.archiv-fuer-sozialgeschichte table th,
body.neue-gesellschaft-frankfurter-hefte table td,
body.neue-gesellschaft-frankfurter-hefte table th {
  padding: .4rem .8rem;
  text-align: left;
  width: 25%;
}

body.archiv-fuer-sozialgeschichte #content table img,
body.neue-gesellschaft-frankfurter-hefte #content table img {
  border: 0;
  float: none !important;
  margin: 0;
}

/*
#bestseller-gesamtverzeichnis {
  position: relative;
}

a#gesamtverzeichnis {
  position: absolute;
  right: 0;
  top: 7rem;
  width: 33.2rem;
}

@media ( max-width: 1320px ) {
  a#gesamtverzeichnis {
    display: none;
  }
}
*/

/* BEGIN COOKIEBANNER */

#cookiebannerbg {
  background-color: rgba( 0, 0, 0, .5 );
  bottom: 0;
  display: block;
  left: 0;
  padding: 1rem;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
}

@supports ( ( -webkit-backdrop-filter: blur(10px) ) or ( backdrop-filter: blur(10px) ) ) {
  #cookiebannerbg {
/*    background-color: rgba( 255, 255, 255, .8 );*/
    backdrop-filter: saturate(180%) blur(1px);
    -webkit-backdrop-filter: saturate(180%) blur(1px);
  }
}

#cookie-management-banner {
  color: #fff;
  background-color: var(--secondary);
  border-radius: .4rem;
  box-shadow: 0 0 .5rem rgba( 0, 0, 0, .25 );
  display: block;
  font-size: 1.8rem;
  left: 2rem;
  padding: 2rem;
  position: fixed;
  bottom: 2rem;
	max-width: 36rem;
  min-width: 30rem;
  z-index: 10000;
}

@media screen and ( max-width: 639px ) {
  #cookie-management-banner {
    left: 1rem;
  }
}

#cookie-management-banner a {
  color: #fff;
  text-decoration: underline;
}

#cookie-management-banner > div {
	max-width: 96rem;
	margin: 0 auto;
	text-align: center;
}

.cookiebanner fieldset {
  border: .1rem solid #fff;
  border-radius: .4rem;
  margin: 2rem 0 0;
  padding: 0 1rem 1rem 1rem;
}

.cookiebanner fieldset label {
  cursor: pointer;
  display: block;
  padding-left: 2rem;
  position: relative;
  text-align: left;
  width: 100%;
}

.cookiebanner fieldset label input[type=checkbox] {
  left: 0;
  position: absolute;
  top: .8rem;
}

.cookiebanner fieldset label small {
  display: block;
  line-height: 1.8rem;
}

body.cookiebanner {
/*  margin-top: 44px;*/
}

.disallowed-external-content button,
a.btn {
  background-color: #fff;
  color: var(--secondary) !important;
  display: block;
  font-size: 1.8rem;
  border-radius: .4rem;
	line-height: 1.8rem;
/*  margin-top: 2rem;*/
  padding: .6rem .2rem;
}

.disallowed-external-content button {
  margin-bottom: 0;
  margin-top: 1rem;
}

.disallowed-external-content button:hover,
a.btn:hover {
  color: #333;
}

.disallowed-external-content {
  background-color: var(--secondary);
  color: #fff;
  display: block;
  padding: 2rem;
}

.sib-form {
	display: none;
}

.btngrp {
	display: flex;
  flex-wrap: wrap;
  gap: 1rem;
	justify-content: center;
	margin-top: 2rem;
}

.btngrp a.btn {
	font-size: 15px;
	padding: .6rem 1.2rem;
	text-decoration: none !important;
	text-transform: uppercase;
}

.btngrp a.btn:first-of-type {
	margin-right: .6rem;
} 

.btngrp a.btn:last-of-type {
	margin-left: .6rem;
} 

#cookie-management-banner fieldset {
	display: none;
}

#cookie-management-banner.customize fieldset {
	display: block;
}

#cookiecustomize {
	background-color: #fff9 !important;
}

#cookie-management-banner.customize #cookiecustomize {
	display: none;
}

#cookieaccept {
	background-color: #fff9 !important;
	display: none;
}

#cookie-management-banner.customize #cookieaccept {
	display: block;
}


/* END COOKIEBANNER */

.probeheft {
  display: block;
  left: 28rem;
  position: absolute;
  top: 10rem;
}

.form-error-hint {
  background-color: var(--secondary);
  color: #fff;
  display: inline-block;
  margin-left: .2rem;
  padding: 0 .2rem;
}

input[name="miel"],
div#input-miel {
  display: none;
}

input.qty {
  width: 5rem;
}

.historisches-wrapper {
  border-bottom: .1rem solid var(--secondary);
}

#podcast-link-aktuelle-debatte {
	bottom: 2rem;
	margin: 0;
	position: absolute;
	left: 14rem;
}

@media ( min-width: 768px ){
	#podcast-link-aktuelle-debatte {
		left: 54rem;
	}
}

a.ebook-shoplink {
	text-decoration: underline;
}

body#warenkorb-neu .colgrp,
body#warenkorb .colgrp {
  display: flex;
	position: relative;
	left: -1rem;
	width: calc( 100% + 2rem );
}

body#warenkorb-neu .colgrp > *,
body#warenkorb .colgrp > * {
	margin: 1rem;
	padding: 7rem 2rem 0 2rem;
  width: 33.33%;
}

@media ( max-width: 1279px ) {
	body#warenkorb-neu .colgrp,
	body#warenkorb .colgrp {
	  flex-wrap: wrap;
	}
	body#warenkorb-neu .colgrp > *,
	body#warenkorb .colgrp > * {
		width: calc( 50% - 2rem );
	}
}

@media ( max-width: 767px ) {
	body#warenkorb-neu .colgrp > *,
	body#warenkorb .colgrp > * {
		width: 100%;
	}
}

#start-checkout fieldset {
	border: .1rem solid var(--secondary);
	position: relative;
}

#start-checkout fieldset legend {
	background-color: var(--secondary);
	color: #fff;
	left: 0;
	padding: 1rem 0;
	position: absolute;
	top: 0;
	text-align: center;
	width: 100%;
	z-index: 2;
}

#start-checkout fieldset button {
	margin-bottom: 2rem;
}

label[for=abweichende-la] {
	display: inline-block;
	margin-left: .6rem;
	margin-right: 0 !important;
	text-align: left !important;
	width: auto !important;
}

#abweichende-lieferadresse {
	display: none;
}

#abweichende-la:checked ~ #abweichende-lieferadresse {
	display: block;
}

.gewinnspiel form .checkbox-wrapper {
	margin: 4rem 0;
}

input[type=checkbox] + span.checkbox-label {
	padding-left: .5rem;
}

span.checkbox-label a[target=_blank] {
	text-decoration: underline;
}

main .gewinnspiele ul {
	margin-top: 6rem;
}

main .gewinnspiele ul li {
	margin-bottom: 2rem;
	padding-left: 2rem;
	position: relative;
}

main .gewinnspiele ul li a {
	text-decoration: underline;
}

main .gewinnspiele ul li:before {
	content: '–';
	left: 0;
	position: absolute;
}

main .gewinnspiele h1 + h3,
main .gewinnspiele h1 + p {
	margin: 3rem 0;
}

article.listen-beschreibung h2 {
  padding-top: 4rem;
}

article.listen-beschreibung a.button {
  display: inline-block;
  white-space: normal;
}

article.listen-beschreibung + .title.wide {
  padding-top: 3rem !important;
}

.newsletter-banner {
  background-color: #a5c7c1;
  padding-bottom: 8rem;
}

@media ( max-width: 767px ) {
  .newsletter-banner {
    padding-bottom: 5rem;
  }
}

.newsletter-banner .button {
  background-color: #fff;
}

#newsletter-slide-in {
  /* background-color: #fff; */
  /* background-color: #d9daea; */
  background-color: #d3d100;
  border-radius: .5rem;
  /* box-shadow: 0 0 .5rem rgba( 0, 0, 0, .5 ); */
  box-shadow: 0 0 .5rem rgba( 0, 0, 0, .5 );
  /* bottom: 14rem; */
  bottom: 1rem;
  display: block;
  font-size: 1.6rem;
  opacity: 1;
  position: fixed;
  text-align: center;
  transition: bottom .5s ease-in-out, opacity .5s ease-in-out, transform .5s ease-in-out;
  right: 1rem;
  width: 30rem;
  z-index: 100;
}

#newsletter-slide-in.hide {
  bottom: -5rem;
  opacity: 0;
  transform: scale(.75);
}

#newsletter-slide-in a {
  color: var(--primary);
  display: block;
  padding: 1.5rem .5rem;
  text-decoration: none;
}

.kachel {
  background-color: #f0f0f0;
  display: flex;
  margin-bottom: 4rem;
  max-width: 91rem;
}

.kachel.big {
  max-width: 100%;
}

.kachel > * {
  width: 50%;
}

@media ( max-width: 919px ) {
  .kachel {
    flex-wrap: wrap;
    max-width: 45.5rem;
  }
  
  .kachel > * {
    width: 100%;
  }
}

.kachel > p {
  line-height: 0;
  margin-bottom: 0;
}

.kachel > div > p:last-of-type {
  margin-bottom: 0;
}

.kachel > div {
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.8rem;
  padding: 1rem 0 0 2rem;
  position: relative;
}

body.neue-gesellschaft-frankfurter-hefte:not(#neue-gesellschaft-frankfurter-hefte) .kachel h1 {
  margin-bottom: 1.2rem;
}

body#neue-gesellschaft-frankfurter-hefte-abo-abschliessen .kachel > div {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.8rem;
}

.kachel > div h3 {
  font-weight: bold !important;
}

.kachel > div li {
  margin-bottom: .4rem;
  padding-left: 1.2rem;
}



.kachel > div li:before {
  color: var(--secondary);
  content: '•';
}

.kachel-button {
  background-color: #fff;
  border: .1rem solid var(--secondary);
  bottom: 1.5rem;
  color: var(--secondary);
  cursor: pointer;
  display: block;
  font: 1.3rem/1.8rem 'ibm-plex', arial, sans-serif;
  font-weight: bold;
  margin: 0;
  padding: .8rem .8rem .8rem 1.6rem;
  position: absolute;
  right: -1rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.kachel-button:hover {
  background-color: var(--secondary);
  color: #fff;
}

body#neue-gesellschaft-frankfurter-hefte-abo-abschliessen .kachel > div li:hover:before {
  content: '\f054';
  font-family: "Font Awesome 5 Free";
  font-size: 1.2rem;
  font-weight: 400;
}

.form-info-wrapper {
  padding-right: 24rem;
  position: relative;
}

.form-info {
  right: 0;
  position: absolute;
  top: 0;
}

@media ( max-width: 579px ) {
  .form-info-wrapper {
    padding-right: 0;
    padding-top: 10rem;
  }
  
  .form-info {
    left: 0;
    right: none;
  }
}

.form-checkbox-wrapper {
  position: relative;
  padding-left: 2rem;
}

.form-checkbox-wrapper input {
  left: 0rem;
  position: absolute;
  top: .5rem;
}

@media (min-width: 699px) {
  .form-checkbox-wrapper {
    padding-left: 20rem;
  }
  .form-checkbox-wrapper input {
    left: 18rem;
  }
}

@media( min-width:  700px) {
  .roundup {
    padding-left: 18rem;
  }
}

.ngfh-head ul {
  padding-top: 2rem;
}

.roundup > p {
  margin-bottom: 1.2rem;
}

.ngfh-head ul li,
.roundup li {
  /*
  font-size: 1.5rem;
  line-height: 1.5rem;
  */
  margin-bottom: .4rem;
  padding-left: 2rem;
}

.ngfh-head ul li:before,
.roundup li:before {
  content: '•';
}

.cols {
  display: flex;
  margin-bottom: 3.2rem;
}

.cols > .col {
  width: 50%;
}

@media (max-width: 1099px) {
  .cols {
    flex-wrap: wrap;
  }
  .cols > .col {
    width: 100%;
  }
}

h2 small {
  font-weight: normal;
  font-size: 1.5rem;
  white-space: nowrap;
}

.leseprobe-content {
  display: none;
}

input[name=toggle-leseproben] {
  display: none;
}

input[name=toggle-leseproben] ~ label {
  cursor: pointer;
  display: block;
  font-weight: bold;
  padding: 2rem 0 0 0;
  -webkit-user-select: none;
  user-select: none;
}

input[name=toggle-leseproben] ~ label:before {
  content: '\f054';
  font-family: "Font Awesome 5 Free";
}  

body:not(#warenkorb) input:checked ~ label {
  color: var(--secondary)
}

input[name=toggle-leseproben]:checked ~ label:before {
  content: '\f078';
}

input:checked ~ .leseprobe-content {
  display: block;
}

.hefte-wrapper .item {
  padding-bottom: 2rem;
}

.hefte-wrapper.wide:after {
  background: url(../img/deco/NGFH_LP_Schraffur.png);
  background-size: 3.5rem;
  content: '';
  height: 100%;
  top: 0;
}

.hefte-wrapper .items .item > div:first-of-type {
  line-height: .1rem;
  padding: 0;
}

.hefte-wrapper .items .item > div:last-of-type {
  background-color: var(--lite);
  height: 4.3rem;
  padding: 1rem;
}

#minicart {
  background-color: var(--bg-main);
  border-radius: .3rem;
  box-shadow: 0 .5rem 1rem #0003;
  font-size: 1.6rem;
  overflow-y: scroll;
  max-height: calc( 100vh - 22rem );
  padding: 5rem 1rem 1rem;
  position: fixed;
  right: 1rem;
  top: 19rem;
  width: 30rem;
  z-index: 10;
}

#minicart h3.autor {
  font-size: 1.4rem;
}

#minicart h2.titel {
  font-size: 2rem;
}

@media ( max-width: 1080px ) {
  #minicart {
    max-height: calc( 100vh - 14rem );
    top: 13rem;
    width: 30rem;
    z-index: 10;
  }
}

#minicart button {
  margin-bottom: 1rem;
}

#minicart--close {
  cursor: pointer;
  position: absolute;
  right: 1rem;
  top: 1rem;
}

.minicart--row {
  display: flex;
  gap: 1rem;
}

.minicart--row > div:first-of-type {
  flex-shrink: 0;
  position: relative;
  width: 6rem;
}

.minicart--quantity {
  background-color: #fffe;
  border-radius: .5rem;
  box-shadow: 0 .5rem 1rem #0003;
  font-size: 1.2rem;
  line-height: 1;
  padding: .1rem .3rem;
  position: absolute;
  right: .2rem;
  top: .2rem;
}

.steps {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
}

@media ( max-width: 539px ) {
  .steps {
    flex-direction: column;
    gap: .5rem;
  }
}

.steps a {
  color: var(--primary);
}

.steps span.active {
  color: var(--secondary);
  font-weight: bold;
}

#adressformular {
  padding-top: 6rem;
}



#uebersicht-warenkorb:invalid button {
  opacity: .5;
}

#agb-widerrufsbelehrung-datenschutz {
  margin-bottom: 1.6rem;
  position: relative;
}

input[type="checkbox"]#agb {
  position: absolute;
  top: .5rem;
}

[for="agb"] {
  display: block;
  padding-left: 2rem;
  position: relative;
}