@charset "UTF-8";

/* ----------------------------------------------------------------------------- * 
 *          Responsive Webdesign - Praxisbeispiele - 3. Auflage 2017             *
 *           In atmosphere.css sind Farben und Schriften definiert,              *
 *                  die für alle Beispiele verwendet werden.                     *
 *       In der layout.css stehen ergänzende Styles für alle Layoutstufen.       *
 *          Autoren: Andrea Ertel und Kai Laborenz (Rheinwerk Verlag)            *
 * ----------------------------------------------------------------------------- */


/* ----------------------------------------------------------------------------- *
 *                           Styles der Basisversion                             *
 * ----------------------------------------------------------------------------- */


/* ----------------------------------------------------------------------------- *
 *       Änderung des default-Box-Modells aller Elemente auf "border-box"        *
 *          https://www.paulirish.com/2012/box-sizing-border-box-ftw/            *			 
 * ----------------------------------------------------------------------------- */

html {
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}


/* ----------------------------------------------------------------------------- */

.header {
	text-align: center;
	background-image:url(../img/header-bgnd.jpg);
	background-repeat:repeat-x;
}

.aside {
	border-top: 1px dashed #ddd;
	padding-top: 1em;
	margin-top: 1em;
}

.footer {
	padding: 0.6em 2rem;
	text-align: center;
}

.section {
	padding: 1em 0;
}


/*** Textauszeichnungen ***/

h1 {
	margin: 0 0 0.625em;
}

h2 {
	margin: 0;
}

h3 {
	margin: 0.6em 0;
}

h4 {
	font-family: 'Raleway', sans-serif; /* Google Webfont */
	font-size: 2.0rem; /* 20px */
	font-weight: 500;
	line-height: 130%;
	color: #a63c36; /* rot */
	margin: 2em 0 0.6em;
	border-bottom: 3px solid #ee7b32;
}

p {
	margin: 0.5em 0;
}

ul,
ol {
	padding: 0;
	margin: 0 0 0.625em 2rem;
}

.logo a:link,
.logo a:visited {
	padding: 0.6em 2rem;
}

/* HEGO */
.book-authors,
.book-details {
	display: block
}

.book-details {
	font-size: smaller;
	font-weight: bold;
}

.autor .xl-box.pic {
	text-align: center;
}

.autor .xl-box.pic img {
	border-radius: 50%;
	width: 90%;
}

/* Listen Box */
.l-box {

	padding: 0 1.5em;
}

.l-box.pic {
	padding: 1em 1.5em;
	text-align: center;
}

/* Bestellbutton */
.primary-button {
	font-size: smaller;
	background: #96cfbf; /* mint grün */
	color: #000;
	margin: 0 0; /* war 0.1em */
	padding: 0.4em 0.6em 0.4em 0.6em;
}

a.primary-button:link,
a.primary-button:visited {
	color: #000;
}

a.primary-button:hover {
	color: #fff;
}

/* Leserbereich */
	#errata h1 {
		font-size: 1.875em;
	}
	#errata .l-box.pic {
		padding: 4em 0 1em 1.5em;
	}
	#notfound-404 .l-box.pic {
		padding: 0 0 1em 1.5em;
	}
	#errata .l-box.splash-text.middle {
		padding-left: 0;
		margin-top: 3.5em;
	}
	#errata .content h2.content-head,
	#errata .content h3.content-subhead {
		padding: 0 24px;
		margin: 2em 0 0.2em;
	}
	#errata .content h2.content-head + h3.content-subhead {
		margin-top: 1em;
	}
	
	.nachoben {
		background-color:#fff;
		width: 100%;
		height:auto;
	}
	
	.texter {
		text-align:right;
		font-size: smaller;
		font-weight: bold;
	}

/* ----------------------------------------------------------------------------- *
 *                           Styles der Tabletversion                            *
 *                            640px / 16px/em = 40em                             *
 * ----------------------------------------------------------------------------- */


/* Etwas kleinere Schrift für größere Screens */
@media screen and (min-width: 40em) and (max-width: 80em) {
	body {
		font-size: 1.8rem; /* 1.5rem 15px */
	}
}

@media screen and (min-width: 40em) {
	.header {
		padding: 1.5em 2.4rem;
		text-align: left;
	}
	.main-wrapper {
		padding: 3rem 0;
		display: table;
	}
	.main-content {
		display: table-cell;
		width: 70%;
		border-right: 1px dashed #ddd;
		padding: 0 2rem 0 3rem;
	}
	.aside {
		display: table-cell;
		width: 30%;
		padding: 0 3rem 0 2rem;
		border-top: none;
		margin: 0;
	}
	.footer {
		padding: 0.8em 2rem;
		text-align: center; /* right */
	}
	/*** Textauszeichnungen ***/
	.logo {
		font-size: 2.8rem;
		text-align: left;
		display: inline-block;
		padding: 0;
	}
	.logo a:link,
	.logo a:visited {
		padding: 0.1em 0.6rem;
	}
	.logo a:hover,
	.logo a:focus,
	.logo a:active {
		background-color: #0a6436;  /* fff */
		color: #fff;  /* a63c36 */
	}
	h1 {
		font-size: 2.8rem;
		/* 28px */
		margin: 0;
	}
	p.teasertext {
		margin: 0.8em 0;
	}
}
/* ----------------------------------------------------------------------------- *
 *                          Styles für kleine Desktops                           *
 *                           1024px / 16px/em = 64em                             *
 * ----------------------------------------------------------------------------- */

@media screen and (min-width: 64em) {
	/* .main-wrapper macht Platz für .nav */
	.main-wrapper {
		width: 80%;
		padding: 0;
	}
	.main-content {
		width: 65%;
		padding: 2em 2rem;
	}
	.aside {
		width: 35%;
		padding: 3rem;
	}
}


/* ----------------------------------------------------------------------------- *
 *                          Styles für große Desktops                            *
 *                           1280px / 16px/em = 80em                             *
 * ----------------------------------------------------------------------------- */

@media screen and (min-width: 80em) {
	.page-wrapper {
		margin: 0 auto;
		max-width: 80em;
	}
}


/* ----------------------------------------------------------------------------- *
 *                                 Navigation                                    *
 * ----------------------------------------------------------------------------- */

.main-nav {
	margin: 0;
}

.main-nav > li {
	margin-left: 0;
	border-bottom: 1px solid rgba(250, 250, 250, 0.6);
}

.main-nav li > a,
.main-nav li > strong {
	padding: 0.6em 2rem;
	display: block;
	font-size: 1.8rem;
}

.main-nav a:link {
	text-decoration: none;
}

.main-nav__item-act strong {
	font-weight: 600;
}

@media screen and (min-width: 40em) {
	.main-nav {
		padding: 0 2rem;
		overflow: hidden;
	}
	.main-nav > li {
		float: left;
		display: inline-block;
		border: none;
		width: auto;
	}
	.main-nav > li > a,
	.main-nav > li > strong {
		padding: 0.7em 1.2rem;
		display: inline-block;
		font-size: 1.8rem;
		/* 18px */
	}
}

@media screen and (min-width: 64em) {
	/* Navigation wird links neben dem Inhalt angeordnet */
	.main-nav {
		width: 20%;
		float: left;
		box-shadow: none;
		margin: 1.6em 0 0;
		padding: 0;
	}
	.main-nav > li {
		width: 100%;
		float: none;
	}
	.main-nav > li > a,
	.main-nav > li > strong {
		padding: 0.5em 3rem;
		display: block;
	}
	.main-nav a:link,
	.main-nav a:visited {
		color: #fff;
	}
	.main-nav a:hover,
	.main-nav a:focus,
	.main-nav a:active {
		color: #fff;
		background-color: #96cfbf;
	}
}


/* ----------------------------------------------------------------------------- *
 *                            Styles für Footer Menü                             *
 * ----------------------------------------------------------------------------- */


/*** Menü-Link zum Ein-und Ausblenden des Menüs ***/

a.toggle-nav {
	position: absolute;
	top: 0.4rem;
	right: 0.5rem;
	display: inline-block;
	padding: 0.357em;
	font-weight: 300;
	border-radius: 0.2em;
	text-decoration: none;
	cursor: pointer;
}

a.toggle-nav:hover {
	background: #96cfbf;
	border: 1px solid #96cfbf;
	color: #fff;
}

a.toggle-nav:link,
a.toggle-nav:visited,
a.toggle-nav:active,
a.toggle-nav:focus {
	background: #189ca4;
	border: 1px solid #189ca4;
	color: #fff;
}

@media screen and (min-width: 40em) {
	/*** Menü-Link verstecken in großen Viewports ***/
	a.toggle-nav {
		display: none;
	}
}


/*** Platz schaffen für den Menü-Button in kleinen Viewports ***/

@media screen and (max-width: 23em) {
	.header {
		text-align: left;
	}
}


/* ----------------------------------------------------------------------------- *
 *           Styles für Footer-Navigation über Anker im Basis-Layout             *
 * ----------------------------------------------------------------------------- */
.content-wrapper {
	display: table;
}

.nav {
	display: table-footer-group;
}


/* Der SEITE nach-oben-link wird hervorgehoben */
#back-to-top {
	text-align: center;
}

/* MAIN to top Zurück zum Seitenanfang verstecken */	
	.totop {
	display: none;	
}

@media screen and (min-width: 40em) {
	.content-wrapper {
		display: block;
	}
	.nav {
		display: block;
	}
	/* Der SEITEN nach-oben-link wird versteckt */
	#back-to-top {
		display: none;
	}

/* MAIN to top Zurück zum Seitenanfang anzeigen */	
	.totop {
	display:block;	
	position: relative;
	margin-top: 0px; /* 40 */
}

a.back2top::before {
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 15px solid #0a6436; /* ddd */
	content: "";
	display: block;
	font-size: 0;
	left: 0;
	line-height: 0;
	margin: 0 auto;
	position: absolute;
	right: 0;
	text-align: center;
	top: -17px;
	width: 0;
}

a.back2top {
	display: block;
	text-align: center;
	color: #0a6436;
	padding: 0.2em 0 0;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 14px;
	background: #fff;
}

a.back2top:hover {
	background-color: #96cfbf; /* mint-grün */
	color: #fff;
}

a.back2top:hover::before {
	border-bottom: 15px solid #96cfbf;
} /* Ende back to top Main */
	
}

/* ----------------------------------------------------------------------------- *
 *                           BILDER                                              *
 * ----------------------------------------------------------------------------- */
 img {
	 max-width: 100%;
	 height: auto;
 }
 
 
 figcaption {
	 line-height: 1.4;
	 padding: 0.5em 0 0;
 }
 
 /* ----------------------------------------------------------------------------- *
 *                          Styles für Teaserboxen                               *
 * ----------------------------------------------------------------------------- */


/* clearing für floatende Teaserboxen .box.teaser */

.section.teaser-articles {
	overflow: auto;
	padding: 0;
	margin-top: 4rem;
}

.teaser-box {
	border: 1px solid #ddd;
	margin: 0 0 1em 0;
}

.box-inner {
	padding: 1em;
}

/* HEGO */
@media screen and (min-width: 15em) {
	.teaser-box img {
		width: 100%;
		float: none;
		margin: 0;
	}
	
	.teaser-box {
		overflow: auto;
	}
	.box-inner {
		line-height: 1.3;
	}
}

@media screen and (min-width: 25em) {
	.teaser-box img {
		width: 45%;
		float: left;
		margin: 1em;
	}
	.teaser-box {
		overflow: auto;
	}
	.box-inner {
		line-height: 1.3;
	}

}
