@font-face {
font-family: 'Nunito Sans';
font-style: normal;
font-weight: regular;
src: url('https://www.steffenkirchner.de/webfonts/nunito-sans-v15-latin-regular.woff2') format('woff2'),
url('https://www.steffenkirchner.de/webfonts/nunito-sans-v15-latin-regular.woff') format('woff'),
url('https://www.steffenkirchner.de/webfonts/nunito-sans-v15-latin-regular.ttf') format('truetype');
}

@font-face {
font-family: 'Nunito Sans';
font-style: normal;
font-weight: 900;
src: url('https://www.steffenkirchner.de/webfonts/nunito-sans-v15-latin-900.woff2') format('woff2'),
url('https://www.steffenkirchner.de/webfonts/nunito-sans-v15-latin-900.woff') format('woff'),
url('https://www.steffenkirchner.de/webfonts/nunito-sans-v15-latin-900.ttf') format('truetype');
}

@font-face {
font-family: 'Takota';
font-style: normal;
font-weight: normal;
src: url('https://www.steffenkirchner.de/webfonts/takota.woff') format('woff'),
url('https://www.steffenkirchner.de/webfonts/takota.svg') format('svg');
}

/**************************************************************************************/

html {
}

body {
margin: 0;
padding: 0;
font-family: 'Nunito Sans', sans-serif;
font-size: 3.8vw;
line-height: 1.4em;
font-weight: 300;
text-align: center;
color: #232A56;
background-color: #FFFFFF;
}

body.nofade .fade {
opacity: 1 !important;
transform: translateY(0) !important;
}

h1, h2, h3 {
margin: 0;
padding: 0;
font-family: 'Nunito Sans', sans-serif;
font-size: 7.5vw;
line-height: 1.2em;
font-weight: normal;
margin-top: 30px;
margin-bottom: 20px;
text-align: center;
}

h1.hlstart {
display: none;
}

h1.hlsub {
font-weight: 900;
}

h2.hltop {
margin-top: 0;
}

h2.hltop2 {
margin-top: 0;
text-align: left;
}

h2.hltop3 {
margin-top: 0;
font-weight: bold;
margin-bottom: 0;
}

h2.hlstartbild {
font-weight: normal;
font-size: 5.0vw;
line-height: 1.2em;
margin: 0;
margin-left: -10px;
padding: 0;
padding-bottom: 8px;
text-align: left;
}

h2.hlstartprodukte {
font-weight: 900;
margin: 0;
}

.fontgeschw {
font-family: 'Takota';
font-size: 8.5vw;
line-height: 1.2em;
}

h2.hlschwerpunkte {
font-size: 6.0vw;
line-height: 1.2em;
font-weight: bold;
text-align: left;
margin-top: 0;
margin-bottom: 10px;
}

h3.hlref {
text-transform: uppercase;
font-size: 2.5vw;
font-weight: bold;
margin: 0;
}

h2.hlprodukte, h3.hlprodukte, div.hlprodukte {
font-size: 6.0vw;
line-height: 1.2em;
font-weight: bold;
margin-top: 20px;
margin-bottom: 10px;
}

h2.hlprodukte2 {
font-size: 6.0vw;
line-height: 1.2em;
font-weight: bold;
margin-top: 0;
margin-bottom: 10px;
}

h3.hltext {
font-size: 100%;
font-weight: bold;
margin-top: 10px;
margin-bottom: 10px;
}

h3.hltop {
margin-top: 5px;
font-size: 4.2vw;
line-height: 1.2em;
}

a {
color: #232A56;
text-decoration: none;
transition: all .2s ease-out;
font-weight: 700;
}

a.anchor {
position: relative;
top: -10px;
padding: 0;
}

strong {
font-weight: 700;
}

img {
border: none;
}

.imgsize {
max-width: 100%;
height: auto;
}

.imgsizemax {
width: 100%;
height: auto;
}

.imgpos {
position: relative;
z-index: 1;
}

.imgalign {
display: inline-block;
vertical-align: middle;
}

.imgdesktop, .headerbild {
display: none;
}

.imgrund {
width: 150px;
height: 150px;
border-radius: 150px 150px 150px 150px;
display: block;
margin-bottom: 20px;
border: 2px solid #F9C524;
}

.imgsternborder {
position: relative;
width: 157.5px;
height: 150px;
clip-path: polygon( 50% 0, 100% 38%, 81% 100%, 19% 100%, 0 38%);
background-color: #FEF7E4;
}

.imgstern {
position: absolute;
width: calc(157.5px - 4px); /* 2px Rand links + rechts */
height: calc(150px - 4px);  /* 2px Rand oben + unten */
clip-path: polygon(50% 0, 100% 38%, 81% 100%, 19% 100%, 0 38%);
background-color: #FFFFFF;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

.imgcenter {
margin-left: auto;
margin-right: auto;
}

input.nlinput {
font-family: 'Nunito Sans', sans-serif;
font-size: 100%;
color: #232A56;
border: 1px solid #232A56;
box-sizing: border-box;
padding: 10px 3%;
border-radius: 10px;
width: 60%;
margin-bottom: 15px;
}

ul.liste {
list-style-type: disc;
list-style-position: outside;
padding: 0;
margin-left: 20px;
text-align: left;
}

ul.liste li {
padding-left: 10px;
}

#clear {
clear: both;
}

.wehinweis {
display: none;
}

/**************************************************************************************/

#container {
margin: 0em auto;
width: 90%;
}

#containereng {
margin: 0em auto;
width: 70%;
}

.fade {
opacity: 0;
transform: translateY(50px);
transition: opacity 0.6s ease-out 0.3s, transform 0.6s ease-out 0.3s;
}

.fade.visible {
opacity: 1;
transform: translateY(0);
}

@media print {
.fade {
opacity: 1 !important;
transform: translateY(0) !important;
}
}

/**************************************************************************************/

#startbild {
padding-top: 60px;
position: relative;
text-align: center;
}

#startbildcontent {
position: absolute;
top: 54%;
left: 50%;
transform: translateY(-50%);
width: 45%;
text-align: left;
font-size: 3.6vw;
line-height: 1.4em;
}

#startbildpfeil {
position: absolute;
bottom: 1.5vh;
left: 50%;
margin-left: auto;
margin-right: auto;
transform: translateX(-50%);
font-size: 7.5vw;
}

#startbildpfeil a {
color: #FFFFFF;
opacity: 0.7;
}

#startbildpfeil a:hover {
opacity: 1;
}

/**************************************************************************************/

#headerbild {
padding-top: 60px;
}

.margtop, .margtop2 {
margin-top: 30px;
}

.margtop3 {
margin-top: 20px;
}

#btn {
margin-top: 30px;
text-align: left;
}

#btncenter {
margin-top: 30px;
}

.btn {
display: inline-block;
background-color: #F9C524;
padding: 10px 15px;
text-decoration: none;
transition: all .2s ease-out;
color: #232A56;
text-transform: uppercase;
font-weight: normal;
border-radius: 10px;
line-height: 1.0em;
border: none;
cursor: pointer;
}

.btn:hover {
color: #FFFFFF;
background-color: #232A56;
}

#bildbg {
position: relative;
}

.bildbg {
background-size: cover;
background-repeat: no-repeat;
background-position: right;
}

.bildbg2 {
background-size: cover;
background-repeat: no-repeat;
background-position: left;
}

#bildbgcolor {
position: absolute;
z-index: 1;
width: 100%;
height: 100%;
background: rgb(254,247,228);
background: linear-gradient(90deg, rgba(254,247,228,0.9) 40%, rgba(254,247,228,0.35) 100%); 
}

#bildbgcolor2 {
position: absolute;
z-index: 1;
width: 100%;
height: 100%;
background: rgb(254,247,228);
background: linear-gradient(-90deg, rgba(254,247,228,0.9) 40%, rgba(254,247,228,0.35) 100%); 
}

#bildbgcontent {
position:relative;
z-index: 10;
width: 55vw;
margin-left: 10%;
padding: 100px 0;
text-align: left;
}

#bildbgcontent2 {
position:relative;
z-index: 10;
margin-left: 45%;
width: 50%;
padding: 35px 0;
text-align: left;
}

#bgblau {
background-color: #E1E0F2;
background: url(https://www.steffenkirchner.de/img/layout/bgblau.jpg) no-repeat top right; 
background-size: cover;
padding: 20px 0;
}

#bgblau2 {
background-color: #E1E0F2;
padding: 30px;
margin-top: -50px;
border-radius: 10px;
position:relative;
z-index: 10;
}

#bgblautermine {
background-color: #E1E0F2;
padding: 50px;
border-radius: 10px;
}

#bggelb {
background: rgb(254,247,228);
background: linear-gradient(90deg, rgba(254,247,228,1.0) 0%, rgba(254,247,228,0.0) 100%);
padding: 30px 0;
}

#startprodukte {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
}

#startprodukte a {
font-weight: normal;
}

#startprodukte i {
font-size: 9vw;
color: #F9C524;
margin-bottom: 10px;
}

#startprodukteeinzel {
padding: 20px 5%;
box-sizing: border-box;
background-color: rgba(255,255,255,0.35);
border-radius: 10px;
transition: all .2s ease-out;
}

#startprodukteeinzel:hover {
background-color: rgba(255,255,255,0.7);
}

#podcasticons {
margin-top: 15px;
}

#podcasticons i {
font-size: 180%;
margin: 0 6px;
transition: all .2s ease-out;
}

#podcasticons i:hover {
transform: scale(1.1);
}

ul.bxsliderref {
margin: 0;
padding: 0;
z-index: 1;
}

ul.bxsliderref img {
transition: all 0.3s ease;
}

ul.bxsliderref img:hover {
opacity: 0.5;
}

.bxwrapper {
position: relative;
width: 80%;
padding: 0 10%;
}

.bxwrapper .bx-prev, .bxwrapper .bx-next {
font-size: 200%;
transition: .2s ease;
display: block;
padding: 10px 15px;
box-sizing: border-box;
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(255, 255, 255, 0.7);
}

.bxwrapper .bx-prev {
left: 0;
}

.bxwrapper .bx-next {
right: 0;
text-align: right;
}

.disabled {
opacity: 0.3;
cursor: inherit;
}

/**************************************************************************************/

#tabschwerpunkte {
display: grid;
grid-template-columns: 1fr 4fr;
gap: 30px;
text-align: left;
}

#tabschwerpunkteeinzel {
margin-top: 30px;
}

#tabschwerpunkte > div:first-child {
text-align: center;
}

#tabschwerpunkte i {
font-size: 200%;
color: #F9C524;
}

#tabkontakt {
display: grid;
grid-template-columns: 1fr 6fr;
gap: 5px 10px;
text-align: left;
}

#tabkontakt a {
font-weight: normal;
}

.tabkontakttext a:hover {
margin-left: 5px;
}

.tabkontakticon {
text-align: center;
}

/****************************************************************************************************************************************************************************/

@media screen and (max-width: 768px) {
/**************************************************************************************/

body {
-webkit-text-size-adjust: none;
}

/**************************************************************************************/
}

@media screen and (min-width: 800px) {
/**************************************************************************************/

body {
font-size: 130%;
line-height: 1.5em;
}

h1, h2, h3, h3.hltop {
font-size: 180%;
line-height: 1.4em;
}

h2.hlstartbild {
font-size: 4.5vw;
line-height: 1.1em;
}

h2.hlschwerpunkte, h2.hlprodukte, h2.hlprodukte2, h3.hlprodukte, div.hlprodukte {
font-size: 2.0vw;
line-height: 1.2em;
}

h3.hlteaser {
font-size: 3.0vw;
line-height: 1.3em;
}

h3.hltext {
font-size: 100%;
line-height: 1.4em;
}

.imgdesktop {
display: block;
}

.imgmobile {
display: none;
}

.btn {
font-size: 115%;
line-height: 1.3em;
width: auto;
}

#startbildcontent {
font-size: 100%;
line-height: 1.5em;
}

#startprodukte {
grid-template-columns: 1fr 1fr;
gap: 30px;
}

#startprodukte i {
font-size: 4vw;
}

#startprodukteeinzel {
height: 100%;
}

#tabzweier {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 30px;
}

#tabzweierwide {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 30px;
}

#tabdreier {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 30px;
}

/**************************************************************************************/
}

@media (min-width : 1380px) {
/**************************************************************************************/

h1, h2, h3, .margtop {
margin-top: 90px;
}

h2.hlstartbild {
font-size: 3.5vw;
line-height: 1.1em;
margin-bottom: 50px;
}

h3.hlref {
font-size: 100%;
}

h3.hlteaser {
font-size: 2.5vw;
line-height: 1.2em;
}

.imgcover {
width: 100%;
height: 100%;
object-fit: cover;
}

img[data-object-fit="cover"] {
object-fit: cover;
}

#container {
width: 1300px;
}

#startbild {
height: calc(100vh - 60px) !important;;
}

#startbildcontent {
position: absolute;
top: 55%;
left: 55%;
transform: translateY(-50%);
width: 40%;
}

#startbildpfeil {
font-size: 3.0vw;
}

#startbildcontent {
margin-bottom: 90px;
}

.headerbild {
display: block;
}

.headerbildmobile {
display: none;
}

.margtop2 {
margin-top: 40px;
}

#btn, #btncenter {
margin-top: 50px;
}

.bildbg, .bildbg2 {
background-size: contain;
}

#bildbgcolor {
background: linear-gradient(90deg, rgba(254,247,228,1) 60%, rgba(254,247,228,0.35) 100%); 
}

#bildbgcolor2 {
background: linear-gradient(-90deg, rgba(254,247,228,1) 60%, rgba(254,247,228,0.35) 100%); 
}

#bildbgcontent {
width: 55vw;
margin-left: 10%;
padding: 200px 0;
}

#bildbgcontent2 {
margin-left: 45%;
width: 50%;
padding: 100px 0;
}

#bgblau, #bggelb {
padding: 100px 0;
}

#bgblau2 {
padding: 50px;
margin-top: -350px;
}

#tabkontakt {
grid-template-columns: auto 1fr;
gap: 10px 35px;
}

#tabdreier {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 30px;
}

/**************************************************************************************/
}