@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');
}

@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');
}

@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');
}

:root {
--color-weiss: #FFFFFF;
--colorrgba-weiss: 255,255,255;
--color-blau: #232A56;
--colorrgba-blau: 35,42,86;
--color-gelb: #F9C524;
--colorrgba-gelb: 249,197,36;
--fontsize-1: clamp(1rem, 1.25vw, 1.25rem);
--fontsize-2: clamp(1.5rem, 3vw, 3rem);
--lineheight-1: 1.4;
--lineheight-2: 1.0;
--margtop-1: clamp(2rem, 3vw, 3rem);
--margtop-2: clamp(1rem, 2vw, 2rem);
--margbot-1: clamp(1rem, 2vw, 2rem);
--borderrad: 10px;
--transition: all .2s ease-out;
}

html {
}

body {
margin: 0;
padding: 0;
font-family: 'Nunito Sans', Arial, sans-serif;
font-size: var(--fontsize-1);
line-height: var(--lineheight-1);
text-align: center;
color: var(--color-blau);
background-color: var(--color-weiss);
}

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

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

h1, h2 {
font-size: var(--fontsize-2);
line-height: var(--lineheight-2);
font-weight: 700;
margin: 0;
padding: 0;
color: var(--color-blau);
text-align: center;
}

.textsmall {
font-size: 0.7em;
line-height: var(--lineheight-1);
}

.textgelb {
color: var(--color-gelb);
}

.textweiss {
color: var(--color-weiss);
}

img {
border: none;
display: block;
}

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

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

.container {
margin: 0em auto;
width: 90%;
text-align: left;
}

.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;
}
}

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

header {
background-color: var(--color-blau);
padding: 15px 0;
position: fixed;
top: 0;
left; 0;
width: 100%;
border-bottom: 1px solid rgba(var(--colorrgba-weiss), 0.3);
z-index: 100;
}

.headercontainer, .footercontainer {
width: 90%;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
gap: 20px;
}

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

.margtop {
margin-top: var(--margtop-1);
}

.margtop2 {
margin-top: var(--margtop-2);
}

.margtop3 {
margin-top: 90px;
}

.margbot {
margin-bottom: var(--margbot-1);
}

.bgblau {
color: var(--color-weiss);
background-color: var(--color-blau);
padding: var(--margtop-1) 0;
}

.bgblau h1 {
color: var(--color-weiss);
}

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

.tabzweier, .tabdreier {
display: grid;
gap: 1em;
}

.tabdreiereinzel {
box-sizing: border-box;
background-color: rgba(255,255,255,0.35);
border-radius: var(--borderrad);
transition: var(--transition);
text-align: center;
}

.tabdreiereinzel:hover {
background-color: rgba(255,255,255,0.9);
}

.tabdreiereinzel h2 {
padding: 20px 5%;
font-size: var(--fontsize-1);
line-height: var(--lineheight-1);
font-weight: 700;
color: var(--color-weiss);
}

.tabdreiereinzel:hover h2 {
color: var(--color-blau);
}

.tabdreiereinzel a {
display: block;
text-decoration: none;
}

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

.popup {
position: fixed;
inset: 0;  z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
padding: 30px;
background-color: rgba(var(--colorrgba-blau), 0.9);
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: var(--transition);
}

.popup.is-open {
opacity: 1;
visibility: visible;
pointer-events: auto;
}

.popupcontent {
position: relative;
width: min(100%, 800px);
max-height: 90vh;
overflow-y: auto;
padding: 2em;
color: var(--color-blau);
background-color: var(--color-weiss);
border-radius: var(--borderrad);
text-align: left;
}

.textsmall i {
margin-right: 0.5em;
}

.popupclose {
position: absolute;
top: 10px;
right: 15px;
padding: 0;
border: 0;  background: transparent;
cursor: pointer;
font-size: 1.3em;
color: var(--color-blau);
}

body.popupopen {
overflow: hidden;
}

.popupform > * {
display: block;
width: 100% !important;
max-width: 100% !important;
margin-right: 0 !important;
margin-left: 0 !important;
border: 0;
box-sizing: border-box;
}

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

footer {
border-top: 1px solid rgba(var(--colorrgba-weiss), 0.3);
color: rgba(var(--colorrgba-weiss), 0.4);
background-color: var(--color-blau);
padding: 15px 0;
}

footer a {
color: rgba(var(--colorrgba-weiss), 0.4);
margin-left: 1em;
text-decoration: none;
}

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

@media screen and (min-width : 1100px), print {
/**************************************************************************************/

.container {
width: 1300px;
margin: 0em auto;
}

.tabzweier {
grid-template-columns: 1fr 1fr;
gap: 3em;
}

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