@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: 130%;
line-height: 1.5em;
text-align: center;
color: #FFFFFF;
background-color: #232A56;
}

h1 {
color: #F9C524;
margin: 0;
padding: 0;
font-family: 'Nunito Sans', sans-serif;
font-size: 8.0vw;
line-height: 1.2em;
font-weight: 900;
margin-top: 60px;
margin-bottom: 40px;
}

h1.hlstart {
color: #FFFFFF;
font-size: 13vw;
line-height: 0.9em;
font-weight: 900;
text-align: center;
text-transform: uppercase;
margin-top: 0;
}

h1.hlcenter {
text-align: center;
}

h2 {
color: #F9C524;
margin: 0;
padding: 0;
font-family: 'Nunito Sans', sans-serif;
font-size: 8.0vw;
line-height: 1.0em;
font-weight: 900;
margin-top: 100px;
margin-bottom: 50px;
text-align: center;
}

h2.hlkreis, h3.hlkreis {
color: #FFFFFF;
margin: 0;
padding: 0;
font-family: 'Nunito Sans', sans-serif;
font-size: 5.4vw;
line-height: 1.2em;
font-weight: 900;
margin-top: 0;
margin-bottom: 20px;
text-align: center;
}

.fontgeschw {
color: #F9C524;
font-family: 'Takota';
font-size: 16vw;
line-height: 0.9em;
text-transform: none;
}

.hlline {
display: block;
opacity: 0;
transform: scale(0.8);
animation: hlfx 0.8s ease-out forwards;
}

.hlline:nth-child(1) {
animation-delay: 0.2s;
}

.hlline:nth-child(2) {
animation-delay: 0.6s;
}

.hlline:nth-child(3) {
animation-delay: 1.0s;
}

@keyframes hlfx {
to {
opacity: 1;
transform: scale(1);
}
}

input {
font-family: 'Roboto Condensed', sans-serif;
font-size: 100%;
color: #232A56;
border: none;
border-radius: 10px;
padding: 10px 2%;
box-sizing: border-box;
width: 100%;
margin-bottom: 10px;
}

#first_name {
margin-top: 50px;
}

.button {
font-family: 'Roboto Condensed', sans-serif;
font-size: 100%;
color: #232A56;
border: 1px solid #F9C524;
background-color: #F9C524;
padding: 10px 2%;
box-sizing: border-box;
border-radius: 10px;
width: auto;
cursor: pointer;
text-align: left;
text-transform: uppercase;
margin-top: 20px;
transition: all .2s ease-out;
white-space: normal;
}

.button:hover {
border: 1px solid #FFFFFF;
color: #232A56;
background-color: #FFFFFF;
}

a {
color: #FFFFFF;
text-decoration: none;
transition: all .2s ease-out;
}

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

.wehinweis {
display: none;
}

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

.bgside {
position: fixed;
top: 0;
width: 7%;
height: 100%;
background-size: cover;
background-position: center;
z-index: 0;
}

.bgleft {
left: 0;
background-image: url('https://www.steffenkirchner.de/img/layout/bgsterneleft.jpg');
}

.bgright {
right: 0;
background-image: url('https://www.steffenkirchner.de/img/layout/bgsterneright.jpg');
}

#container {
margin-left: 14%;
width: 76%;
text-align: left;
padding: 30px 0;
}

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

.margtop {
margin-top: 90px;
}

#btn {
margin-top: 30px;
}

#btncenter {
text-align: center;
}

.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: #232A56;
background-color: #FFFFFF;
}

.empfehlung {
color: #F9C524;
font-weight: 900;
margin-top: 20px;
}

.empfehlung i {
margin-right: 10px;
}

.empfehlung a {
color: #F9C524;
text-decoration: underline;
}

#tabeiner {
grid-template-columns: 1fr;
display: grid;
justify-items: center;
}

#tabzweier {
display: grid;
gap: 30px;
}

#tabdreier {
grid-template-columns: 1fr 1fr;
display: grid;
justify-items: center;
}

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

.frage-container {
margin-bottom: 50px;
}

.rating input[type="radio"] {
display: none;
}

.rating label {
display: inline-block;
width: 32px;
padding: 8px;
margin: 2px;
text-align: center;
border-radius: 8px;
cursor: pointer;
transition: background-color 0.2s;
}

.rating input[type="radio"]:checked + label {
background-color: #F9C524;
color: #FFFFFF;
font-weight: bold;
}

.antworten {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin-bottom: 20px;
}

.antwort-option {
display: flex;
align-items: center;
cursor: pointer;
}

.antwort-option input[type="radio"] {
display: none;
}

.antwort-option label {
padding: 10px 20px;
border: 1px solid #FFFFFF;
border-radius: 5px;
user-select: none;
transition: all 0.2s ease;
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
}

.antwort-option input[type="radio"]:checked + label {
background-color: #F9C524;
border-color: #F9C524;
color: #232A56;
}

.antwort-option label:hover {
border-color: #F9C524;
color: #F9C524;
}

.kreis-container {
display: inline-block;
margin: 20px;
text-align: center;
}

.kreis-text {
position: absolute;
font-size: 20px;
font-weight: bold;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

.kreis-wrapper {
position: relative;
width: 120px;
height: 120px;
margin: 0 auto;
}

.gesamt-kreis .kreis-wrapper {
width: 240px;
height: 240px;
}

.gesamt-kreis .kreis-text {
font-size: 32px;
}

#progress-container {
width: 100%; 
background: #5A5F80;
border-radius: 10px; 
}

#progress-bar {
height: 10px;
width: 0%;
background: #F9C524; 
border-radius: 10px; 
transition: width 0.3s ease;
}

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

footer {
margin-top: 20px;
}

footer a {
text-transform: uppercase;
font-size: 50%;
margin: 0 10px;
}

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

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

h1 {
font-size: 3.0vw;
line-height: 1.0em;
margin-top: 80px;
margin-bottom: 50px;
}

h1.hlstart {
font-size: 6.5vw;
line-height: 0.9em;
margin-top: 0;
}

h2 {
font-size: 3.0vw;
line-height: 1.0em;
margin-top: 100px;
margin-bottom: 50px;
}

h2.hlkreis, h3.hlkreis {
font-size: 1.4vw;
line-height: 1.2em;
}

.fontgeschw {
font-size: 9vw;
}

#container {
margin-left: 0;
margin: 0em auto;
width: 70vw;
padding: 100px 0;
}

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

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

.bgside {
width: 10vw;
}

footer {
margin-top: 100px;
}

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