/*
Description: ExpressionEngine-Theme für Petra Hartmann – gesundsein.info
Author: Ralph Segert
Datum: 2018 / Überarbeitung 2026
Author Website: https://segert.net
*/


/* Grundformatierung
________________________________________*/

* {
margin: 0;
padding: 0;
}

html {
box-sizing: border-box;
}

*, *::before, *::after {
box-sizing: inherit;
}

body {
color: #000;
background-color: #fbfdfe;
font-size: 100%;
font-family: 'Ubuntu', Verdana, 'Neue Helvetica', sans-serif;
font-weight: 300;
}

a:focus {
outline: none;
}

img,
fieldset {
border: 0;
}

img {
vertical-align: middle;
}

iframe {
display: block;
width: 100%;
max-width: 680px;
height: auto;
margin-top: 2%;
border: 0;
aspect-ratio: 16 / 9;
}

video {
display: block;
width: 100%;
max-width: 680px;
height: auto;
}

a {
border: 0;
text-decoration: none;
}

strong {
font-weight: 500;
color: #333;
}

.wrapper {
width: 100%;
min-width: 320px;
background-color: #ebf6fb;
}


/* Headerbereich
________________________________________*/

.wrapperhead {
width: 100%;
border-top: 5px solid #fcd277;
border-bottom: 1px solid #fcd277;
background-color: #f5fbfe;
background-image:
url(https://gesundsein.info/images/bg.webp),
linear-gradient(-179deg, #ebf6fb 0%, #fbfdfe 100%);
background-repeat: no-repeat, no-repeat;
background-position: center center, center center;
background-size: cover, cover;
}

.header {
width: 100%;
max-width: 1440px;
margin: 0 auto;
padding: 28px 4% 0;
}

.logo {
width: 100%;
text-align: center;
}

.logo a {
display: inline-block;
border: 0;
}

.logo img {
display: block;
width: 100%;
max-width: 410px;
height: auto;
margin: 0 auto;
}


/* Navigation
________________________________________*/

.nav {
width: 100%;
max-width: 1100px;
margin: 18px auto 0;
}

.nav ul {
display: flex;
align-items: flex-end;
justify-content: center;
width: 100%;
margin: 0;
line-height: 2em;
text-align: center;
}

.nav ul li {
flex: 1 1 0;
list-style: none;
text-align: center;
font-size: 1.05em;
}

.nav li a {
display: block;
padding: 13px 8px 15px;
color: #734803;
border: 1px solid transparent;
border-bottom: 0;
transition:
color .3s ease-in,
background-color .3s ease-in,
border-color .3s ease-in;
}

.nav li a:hover {
color: #000;
background-image: linear-gradient(-1deg, #f6e2bf 0%, #fbfdfe 100%);
border: 1px solid #fcd277;
border-bottom: 0;
border-top-right-radius: 12px;
border-top-left-radius: 12px;
}

.nav .aktiv {
color: #734803;
background-image: linear-gradient(-1deg, #f6e2bf 0%, #fbfdfe 100%);
border: 1px solid #fcd277;
border-bottom: 0;
border-top-right-radius: 12px;
border-top-left-radius: 12px;
}

.nav .aktiv:hover {
color: #000;
}


/* Allgemeiner Contentbereich
________________________________________*/

.section {
width: 100%;
padding: 3% 0 5%;
background-image: linear-gradient(-179deg, #ebf6fb 0%, #fbfdfe 100%);
}

.content {
width: 100%;
max-width: 720px;
margin: 0 auto;
}

.content-large {
max-width: 820px;
}

.content-sm {
float: right;
width: 69%;
max-width: 600px;
}

.sidenav {
float: left;
width: 28%;
max-width: 720px;
margin-top: 13%;
margin-right: 3%;
padding-right: 4%;
border-right: 1px dotted #999;
}

.sidenav ul li {
list-style: none;
font-size: .9em;
text-align: right;
font-weight: 500;
}

.sidenav li {
line-height: 2em;
}

.content img {
width: 100%;
height: auto;
margin: 2% 0;
padding: 1px;
border: 4px solid #fbd078;
}

.content a,
.footer a {
color: #734803;
border-bottom: 1px dotted #f5a623;
transition: color .2s ease-in;
}

.content h1 a,
.content h2 a,
.content h3 a {
border-bottom: 0;
}

.content a:hover,
.footer a:hover {
color: #f5a623;
border-bottom: 1px dotted #734803;
}

.sidenav a {
border-bottom: 0;
}

.sidenav .aktiv a {
margin-right: -8.7%;
border-bottom: 0;
color: #000;
}

.sidenav a:hover {
color: #000;
}

.sidenav .aktiv a::after {
content: " →";
}

.content .stimmen {
width: 100%;
margin: 2% 0 -1%;
color: #fcd277;
text-align: center;
font-family: 'Times New Roman', Times, serif;
font-weight: bold;
}

.content .stimmen img {
width: 7%;
height: auto;
border: 0;
}


/* Überschriften und Text
________________________________________*/

h1 {
margin-top: 3%;
padding-bottom: 4%;
color: #910106;
font-size: 1.7em;
line-height: 1.4em;
font-weight: normal;
text-shadow: 1px 1px 2px #eee;
}

h2 {
padding: 7% 0 3%;
font-size: 1.5em;
line-height: 1.4em;
font-weight: normal;
}

.h2 {
padding-top: 8%;
color: #734803;
}

.content-sm > h2:first-of-type,
.blog-inhalt > article:first-of-type h2 {
padding-top: 0;
}

.content .h2 a {
border-bottom: 0;
}

h3 {
padding: 5% 0 4%;
color: #910106;
font-size: 1.2em;
line-height: 1.4em;
font-weight: normal;
}

p {
padding-bottom: 2%;
font-size: 1em;
line-height: 2em;
}

.infoline {
color: #666;
font-size: .8em;
}

.content ul {
margin: 0 0 4% 6%;
line-height: 1.9em;
}

.content li {
padding: 1% 0;
font-size: .95em;
list-style-type: circle;
}


/* Startseite
________________________________________*/

.section-startseite {
padding: 5% 4% 7%;
background-color: #fffef5;
background-image: none;
}

.content-startseite {
max-width: 1100px;
}

.startseiten-titel {
margin: 0;
padding: 0 0 7%;
color: #a91437;
font-size: 1.75em;
line-height: 1.35em;
font-weight: 500;
text-align: center;
text-shadow: none;
}

.teaser-liste {
display: flex;
flex-wrap: wrap;
align-items: stretch;
gap: 56px 6%;
}

.teaser-karte {
display: flex;
flex: 0 1 47%;
flex-direction: column;
overflow: hidden;
background-color: #fff;
border: 1px solid #f5c866;
}

.teaser-medium {
width: 100%;
background-color: #eef7fb;
}

.teaser-medium p {
margin: 0;
padding: 0;
line-height: 0;
}

.teaser-medium img,
.teaser-medium iframe,
.teaser-medium video {
display: block;
width: 100%;
max-width: none;
height: auto;
margin: 0;
padding: 0;
border: 0;
}

.teaser-medium img {
aspect-ratio: 3 / 2;
object-fit: cover;
}

.teaser-medium iframe,
.teaser-medium video {
aspect-ratio: 16 / 9;
background-color: #000;
}

.teaser-karte h2 {
margin: 0;
padding: 6% 8% 2%;
color: #a91437;
font-size: 1.3em;
line-height: 1.35em;
font-weight: 500;
}

.teaser-karte h2 a {
color: #a91437;
border: 0;
}

.teaser-karte h2 a:hover {
color: #734803;
border: 0;
}

.teaser-inhalt {
padding: 1% 8% 6%;
}

.teaser-inhalt p {
margin: 0;
padding: 0 0 3%;
font-size: 1em;
line-height: 1.55em;
}

.teaser-inhalt p:last-child {
padding-bottom: 0;
}

.teaser-inhalt ul,
.teaser-inhalt ol {
margin: 0 0 3% 6%;
line-height: 1.55em;
}

.teaser-inhalt img,
.teaser-inhalt iframe,
.teaser-inhalt video {
max-width: 100%;
height: auto;
}

.teaser-karte .morebutton {
width: 100%;
margin-top: auto;
text-align: center;
}

.teaser-karte .morebutton a {
display: block;
width: 100%;
margin: 0;
padding: 18px 12px 20px;
color: #fff;
background-color: #a91437;
border: 0;
border-radius: 0;
font-size: .95em;
font-weight: 400;
letter-spacing: 3px;
text-align: center;
text-transform: uppercase;
}

.teaser-karte .morebutton a:hover {
color: #fff;
background-color: #734803;
border: 0;
}

.teaser-karte .bearbeiten {
margin: 0;
padding: 10px 8%;
font-size: .8em;
line-height: 1.4em;
}


/* Blog
________________________________________*/

.section-blog {
padding: 5% 4% 7%;
}

.content-blog {
max-width: 1000px;
}

.blog-seitentitel {
margin: 0;
padding: 0 0 4%;
color: #910106;
font-size: 1.8em;
font-weight: 500;
text-shadow: none;
}

.blog-layout {
display: flex;
align-items: flex-start;
gap: 5%;
}

.blog-navigation {
flex: 0 0 220px;
}

.blog-navigation ul {
display: flex;
flex-direction: column;
gap: 10px;
margin: 0;
}

.blog-navigation li {
padding: 0;
list-style: none;
}

.blog-navigation li a {
display: block;
width: 100%;
padding: 11px 14px;
color: #734803;
background-color: rgba(255, 255, 255, .55);
border: 1px solid #f5c866;
border-radius: 6px;
font-size: .95em;
line-height: 1.35em;
text-align: left;
transition:
color .2s ease,
background-color .2s ease,
border-color .2s ease;
}

.blog-navigation li a:hover {
color: #fff;
background-color: #a91437;
border-color: #a91437;
}

.blog-navigation li.aktiv a {
color: #fff;
background-color: #a91437;
border-color: #a91437;
}

.blog-inhalt {
flex: 1 1 auto;
min-width: 0;
max-width: 880px;
}

.blog-beitrag {
margin-bottom: 8%;
padding-bottom: 7%;
border-bottom: 1px solid #f5c866;
}

.blog-beitrag:last-of-type {
margin-bottom: 3%;
}

.blog-beitrag h2 {
margin: 0;
padding: 0 0 3%;
color: #734803;
font-size: 1.55em;
line-height: 1.4em;
font-weight: 500;
}

.blog-beitrag h2 a {
color: #734803;
border: 0;
}

.blog-beitrag h2 a:hover {
color: #a91437;
border: 0;
}

.blog-teaser p,
.blog-haupttext p {
padding-bottom: 2%;
font-size: 1em;
line-height: 1.85em;
}

.blog-teaser img,
.blog-haupttext img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 3% 0;
padding: 1px;
border: 4px solid #fbd078;
}

.blog-teaser iframe,
.blog-haupttext iframe,
.blog-teaser video,
.blog-haupttext video {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 3% 0;
aspect-ratio: 16 / 9;
}

.blog-teaser ul,
.blog-teaser ol,
.blog-haupttext ul,
.blog-haupttext ol {
margin: 0 0 4% 5%;
line-height: 1.8em;
}

.blog-teaser li,
.blog-haupttext li {
padding: .5% 0;
}

.blog-beitrag .morebutton {
margin-top: 3%;
}

.blog-beitrag .morebutton a {
display: inline-block;
width: auto;
min-width: 180px;
margin: 0;
padding: 12px 24px 14px;
color: #fff;
background-color: #a91437;
border: 0;
border-radius: 5px;
font-size: .9em;
letter-spacing: 2px;
text-transform: uppercase;
}

.blog-beitrag .morebutton a:hover {
color: #fff;
background-color: #734803;
border: 0;
}

.blog-einzel h1 {
margin: 0;
padding: 0 0 4%;
color: #734803;
font-size: 1.8em;
line-height: 1.4em;
font-weight: 500;
text-shadow: none;
}

.infoline {
display: flex;
flex-wrap: wrap;
gap: 5px 10px;
margin-top: 1%;
color: #666;
font-size: .82em;
line-height: 1.6em;
}

.infoline span + span::before {
content: "·";
margin-right: 10px;
color: #999;
}

.infoline a {
color: #734803;
border-bottom: 1px dotted #f5a623;
}

.infoline a:hover {
color: #a91437;
}

.zurueck-blog {
margin-top: 6%;
padding: 0;
}

.zurueck-blog a {
display: inline-block;
padding: 11px 18px 13px;
color: #734803;
background-color: rgba(255, 255, 255, .6);
border: 1px solid #f5c866;
border-radius: 5px;
}

.zurueck-blog a:hover {
color: #fff;
background-color: #a91437;
border-color: #a91437;
}


/* Allgemeiner Weiterlesen-Button
________________________________________*/

.content .morebutton {
width: 100%;
text-align: left;
}

.content .morebutton a {
display: block;
width: 25%;
margin: 2% 0 4%;
padding: 1.2% 1% 1.5%;
color: #000;
background-color: #fcd277;
border: 0;
border-radius: 6px;
font-size: 100%;
letter-spacing: .32px;
text-align: center;
text-decoration: none;
}

.content .morebutton a:hover {
color: #fff;
background-color: #979797;
border: 0;
transition: .3s;
}

.teaser-karte .morebutton a {
width: 100%;
margin: 0;
padding: 18px 12px 20px;
color: #fff;
background-color: #a91437;
border: 0;
border-radius: 0;
font-size: .95em;
letter-spacing: 3px;
text-transform: uppercase;
}

.blog-beitrag .morebutton a {
display: inline-block;
width: auto;
min-width: 180px;
margin: 0;
padding: 12px 24px 14px;
color: #fff;
background-color: #a91437;
border-radius: 5px;
font-size: .9em;
letter-spacing: 2px;
text-transform: uppercase;
}


/* Pagination
________________________________________*/

.pagination {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 8px;
margin-top: 5%;
padding: 0;
font-size: .95em;
text-align: center;
}

.pagination a,
.pagination strong {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 42px;
min-height: 42px;
padding: 7px 12px;
color: #734803;
background-color: rgba(255, 255, 255, .65);
border: 1px solid #f5c866;
border-radius: 5px;
font-weight: 400;
}

.pagination a:hover {
color: #fff;
background-color: #a91437;
border-color: #a91437;
}

.pagination strong {
color: #fff;
background-color: #a91437;
border-color: #a91437;
}


/* Seitenanfang
________________________________________*/

#back-to-top {
position: fixed;
right: 0;
bottom: 0;
z-index: 1000;
display: none;
width: 100%;
padding: 20px 0 25px;
background-color: #fcd277;
color: #000;
font-size: 110%;
letter-spacing: 1px;
text-align: center;
cursor: pointer;
}

.kontaktdaten {
margin-top: 5%;
}

.siegel {
padding-bottom: 8%;
background-color: #fafdfE;
text-align: center;
}


/* Footerbereich
________________________________________*/

.wrapperfooter {
width: 100%;
min-height: 250px;
border-bottom: 70px solid #f5fafc;
background-color: #dff3fc;
background-image: none;
}

.bgfooter {
width: 100%;
}

.footer {
width: 100%;
max-width: 1440px;
margin: 0 auto;
padding: 0 4%;
background: none;
}

.footer p {
padding: 120px 0 70px;
font-size: .9em;
text-align: center;
}


/* Kommentarformular
________________________________________*/

#comments form {
margin-top: -20px;
margin-bottom: 30px;
}

fieldset {
padding: 0 10px 10px 0;
border: 0;
}

legend {
display: none;
}

label {
float: left;
width: 32%;
text-align: left;
letter-spacing: 1px;
}

.textfeld {
width: 32%;
height: 15px;
padding: 4px;
border: 1px solid #666;
background-color: #fff;
color: #000;
letter-spacing: 1px;
}

.textfeldkurz {
width: 60px;
height: 16px;
padding: 8px 0 8px 20px;
border: 1px solid #666;
background-color: #fff;
color: #000;
letter-spacing: 1px;
}

.kommentarfeld {
width: 56%;
padding: 8px;
border: 1px solid #666;
background-color: #fff;
color: #000;
font-family: Verdana, Arial, sans-serif;
}

.sendbutton {
width: 60%;
height: 34px;
margin-top: 10px;
margin-left: 158px;
padding-bottom: 3px;
border: 1px solid #666;
background-color: #fff;
color: #000;
font-size: .8em;
letter-spacing: 1px;
}

.sendbutton:hover {
border: 1px solid #000;
background-color: #734803;
color: #fff;
}

.section-standard {
padding: 5% 4% 14% 16%;
}

.content-standard {
max-width: 800px;
}

.standard-beitrag {
margin-bottom: 8%;
}

.standard-beitrag:last-child {
margin-bottom: 0;
}

.standard-beitrag h2 {
margin: 0;
padding: 7% 0 3%;
color: #734803;
font-size: 1.55em;
line-height: 1.4em;
font-weight: 500;
}

.standard-beitrag:first-child h2 {
padding-top: 0;
}

.standard-beitrag h2 a {
color: #734803;
border: 0;
}

.standard-beitrag h2 a:hover {
color: #a91437;
border: 0;
}

.standard-inhalt p {
padding-bottom: 2%;
font-size: 1em;
line-height: 1.85em;
}

.standard-inhalt img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 3% 0;
padding: 1px;
border: 4px solid #fbd078;
}

.standard-inhalt iframe,
.standard-inhalt video {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 3% 0;
aspect-ratio: 16 / 9;
}

.standard-inhalt ul,
.standard-inhalt ol {
margin: 0 0 4% 5%;
line-height: 1.8em;
}



/* Hilfsklassen
________________________________________*/

.cf::after {
content: "";
display: table;
clear: both;
}


/* Bildschirmbreite bis 960 Pixel
________________________________________*/

@media only screen and (max-width: 960px) {

body {
font-size: 94%;
}

.header {
padding-right: 3%;
padding-left: 3%;
}

.logo img {
max-width: 370px;
}

.blog-layout {
gap: 4%;
}

.blog-navigation {
flex-basis: 190px;
}

.teaser-liste {
gap: 40px 4%;
}

.teaser-karte {
flex-basis: 48%;
}

}


/* Bildschirmbreite bis 800 Pixel
________________________________________*/

@media only screen and (max-width: 800px) {

body {
font-size: 90%;
}

.section {
padding-bottom: 0;
}

.section-startseite,
.section-blog {
padding-bottom: 8%;
}

.blog-layout {
display: block;
}

.blog-navigation {
width: 100%;
margin-bottom: 7%;
}

.blog-navigation ul {
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
}

.blog-navigation li {
flex: 1 1 calc(33.333% - 8px);
}

.blog-navigation li a {
height: 100%;
text-align: center;
}

.blog-inhalt {
width: 100%;
max-width: none;
}

.footer p {
padding: 100px 0 55px;
font-size: .9em;
}


.blog-seitentitel {
display: none;
}

.blog-layout {
display: block;
}


.blog-navigation {
width: 100%;
margin-bottom: 7%;
overflow-x: auto;
overflow-y: hidden;
overscroll-behavior-x: contain;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
-ms-overflow-style: none;
}

.blog-navigation::-webkit-scrollbar {
display: none;
width: 0;
height: 0;
}

.blog-navigation ul {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
gap: 10px;
width: 100%;
margin: 0;
padding: 0 0 10px;
}

.blog-navigation li {
flex: 0 0 calc(68% - 5px);
width: calc(68% - 5px);
max-width: none;
padding: 0;
scroll-snap-align: start;
}

.blog-navigation li a {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
min-height: 52px;
padding: 10px 14px;
line-height: 1.35em;
text-align: center;
white-space: normal;
}

.blog-navigation li.aktiv a {
color: #fff;
background-color: #a91437;
border-color: #a91437;
}

.blog-inhalt {
width: 100%;
max-width: none;
}

}


/* Bildschirmbreite bis 640 Pixel
________________________________________*/

@media only screen and (max-width: 640px) {

.header {
margin-bottom: 2%;
padding: 24px 0 0;
}

.logo {
padding: 0 8%;
}

.logo img {
max-width: 340px;
}

.nav {
width: 86%;
margin-top: 16px;
}

.nav ul {
display: flex;
flex-wrap: wrap;
}

.nav ul li {
flex: 0 0 50%;
width: 50%;
font-size: 1em;
}

.nav li a {
display: block;
padding: 7px 4px;
color: #734803;
border: 0;
border-bottom: 1px solid #fff;
}

.nav li a:hover {
color: #000;
background: none;
border: 0;
border-bottom: 1px solid #fff;
border-radius: 0;
}

.nav .aktiv {
color: #000;
background: none;
border: 0;
border-bottom: 1px solid #fff;
border-radius: 0;
}

.nav .aktiv:hover {
background-color: transparent;
}

.content {
width: 100%;
padding: 3% 10% 0;
}

.content-startseite,
.content-blog {
padding: 0;
}

.section-startseite,
.section-blog {
padding: 9% 7% 10%;
}

.startseiten-titel,
.blog-seitentitel {
padding-bottom: 10%;
font-size: 1.5em;
}

.teaser-liste {
display: block;
}

.teaser-karte {
width: 100%;
margin-bottom: 36px;
}

.teaser-karte h2 {
padding: 6% 7% 2%;
font-size: 1.3em;
}

.teaser-inhalt {
padding: 1% 7% 6%;
}

.blog-navigation li {
flex-basis: calc(50% - 8px);
}

.blog-beitrag {
margin-bottom: 12%;
padding-bottom: 10%;
}

.blog-beitrag h2 {
font-size: 1.4em;
}

.blog-einzel h1 {
font-size: 1.55em;
}

.infoline {
display: block;
}

.infoline span {
display: block;
margin-bottom: 4px;
}

.infoline span + span::before {
content: "";
margin: 0;
}

.content-sm {
width: 100%;
}

.sidenav {
width: 100%;
margin: 0;
padding: 0;
border-right: 0;
text-align: center;
}

.sidenav ul {
width: 100%;
}

.sidenav ul li {
float: left;
font-size: 1em;
font-weight: 300;
}

.sidenav li {
display: inline-block;
width: 45%;
padding: 3%;
line-height: 2em;
}

.content .sidenav .aktiv a {
margin-right: 0;
}

.content .sidenav .aktiv a::after {
content: "";
}

h1 {
font-size: 1.2em;
}

p {
font-size: 1em;
}

.wrapperfooter {
min-height: 210px;
border-bottom-width: 55px;
}

.footer p {
padding: 85px 7% 45px;
font-size: .9em;
line-height: 1.7em;
}

.section-standard {
padding: 9% 7% 10%;
}

.content-standard {
padding: 0;
}

}


/* Bildschirmbreite bis 480 Pixel
________________________________________*/

@media only screen and (max-width: 480px) {

.header {
padding-top: 20px;
}

.logo {
padding-right: 10%;
padding-left: 10%;
}

.logo img {
max-width: 300px;
}

.nav {
width: 92%;
}

.section-startseite,
.section-blog {
padding-right: 5%;
padding-left: 5%;
}

.startseiten-titel,
.blog-seitentitel {
font-size: 1.35em;
}

.teaser-karte h2 {
font-size: 1.2em;
}

.blog-navigation li {
flex-basis: 100%;
}

.pagination a,
.pagination strong {
min-width: 38px;
min-height: 38px;
padding: 6px 10px;
}

}