@font-face {
font-display: swap;
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: url('https://www.astrid-eisenschink-rampf.de/webfonts/roboto-v50-latin-regular.woff2') format('woff2');
}

@font-face {
font-display: swap;
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: url('https://www.astrid-eisenschink-rampf.de/webfonts/roboto-v50-latin-700.woff2') format('woff2');
}

:root {
--color-weiss: #FFFFFF;
--color-schwarz: #000000;
--color-blau: #0080C9;
--color-gruen: #A2C614;
--color-blausoft: #BBD6F1;
--color-blausoft2: #A2C8EC;
--fontsize-1: 4.8vw;
--fontsize-2: 8.0vw;
--fontsize-3: 4.0vw;
--fontsize-4: 12vw;
--lineheight-1: 1.4em;
--lineheight-2: 1.2em;
--lineheight-3: 1.0em;
--margtop-1: 2em;
--margtop-2: 1.1em;
--margtop-3: 1.5em;
--margbot-1: 0.5em;
--margbot-2: 0.35em;
--transition: all .3s ease-out;
}

html {
scroll-behavior: smooth;
}

body {
margin: 0;
padding: 0;
font-family: 'Roboto', Arial, sans-serif;
font-size: var(--fontsize-1);
line-height: var(--lineheight-1);
text-align: center;
color: var(--color-grau);
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, h3 {
font-size: var(--fontsize-2);
font-weight: 700;
margin: 0;
padding: 0;
color: var(--color-blau);
text-transform: uppercase;
}

h1 {
font-size: var(--fontsize-1);
line-height: 80px;
}

h1 a:hover {
color: var(--color-blau);
text-decoration: none;
}

h2, h3 {
line-height: var(--lineheight-2);
margin-top: var(--margtop-2);
margin-bottom: var(--margbot-1);
}

h2.hlstart {
display: none;
}

.hltab {
margin-top: 0;
}

.hlgruen {
color: var(--color-gruen);
}

.hlbggruen {
background-color: var(--color-gruen);
color: var(--color-weiss);
font-weight: normal;
text-transform: none;
font-size: var(--fontsize-1);
line-height: var(--lineheight-1);
margin: 0;
}

img {
border: none;
display: block;
}

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

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

.imgrund {
aspect-ratio: 1 / 1;
border-radius: 50%;
}

a {
color: var(--color-blau);
text-decoration: none;
transition: var(--transition);
}

a:hover {
text-decoration: none;
color: var(--color-gruen);
}

.anchor {
position: relative;
top: 0;
padding: 50px;
}

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

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

.clear {
clear: both;
}

.wehinweis {
display: none;
}

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

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

.containerbottom {
}

.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 {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 5%;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 80px;
z-index: 1000;
background-color: var(--color-weiss);
}

header .kontakt, .kontantcontent {
font-size: var(--fontsize-2);
}

header .kontakt a {
text-transform: uppercase;
font-weight: 700;
}

header .kontakt a:first-child {
display: none;
}

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

.startbild {
display: grid;
grid-template-columns: 1fr;
height: auto;
position: relative;
overflow: hidden;
background-color: var(--color-blau);
margin-top: 80px;
}

.startbildbild {
order: 1;
}

.startbildbild img.startbildbildmobile {
width: 100%;
height: auto;
display: block;
}

.startbildbild img.startbildbilddesktop {
display: none;
}

.startbildtext {
order: 2;
padding: 1rem;
text-align: center;
}

.startbildtext h3 {
color: var(--color-weiss);
text-transform: none;
font-size: var(--fontsize-2);
line-height: var(--lineheight-2);
padding: 0;
margin-top: 0;
margin-bottom: var(--margbot-1);
}

.startbildtext .btn {
margin-left: auto;
margin-right: auto;
}

.startbildbutton {
position: absolute;
top: 10px;
left: 10px;
width: 40vw;
z-index: 100;
}

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

.startbild {
grid-template-columns: 1fr;
height: calc(100vh - 80px);
}

.startbildtext {
order: 1;
display: flex;
flex-direction: column;
justify-content: center;
padding: 20rem 5rem 5rem 5rem;
z-index: 2;
margin-right: -25vw;
}

.startbildtext h3 {
font-size: var(--fontsize-3);
line-height: var(--lineheight-3);
padding: 0 10%;
margin-top: var(--margtop-2);
margin-bottom: var(--margbot-2);
}

.startbildbild {
order: 2;
height: calc(100vh - 80px);
position: relative;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}

.startbildbild img.startbildbildmobile {
display: none;
}

.startbildbild img.startbildbilddesktop {
height: calc(100vh - 80px);
width: auto;
display: block;
}

.startbildbutton {
top: 40px;
left: 40px;
width: 25vw;
}

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

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

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

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

.bgblau h3 {
color: var(--color-weiss);
font-size: var(--fontsize-1);
line-height: var(--lineheight-1);
padding-top: var(--margtop-3);
}

.bgblau h3:first-child {
padding-top: 0;
}

.bgblausoft {
background-color: var(--color-blausoft);
}

.bgblausoft2 {
background-color: var(--color-blausoft2);
}

.bgpad {
padding: 1.3em;
}

.bgpad2 {
padding: 0.5em 1.3em;
}

.bgblau h3:first-child, .bgpad h3 {
margin: 0;
}

.btn {
display: inline-block;
background-color: var(--color-gruen);
padding: 0.7em 2em;
text-decoration: none;
transition: var(--transition);
color: var(--color-weiss);
text-transform: uppercase;
font-weight: 700;
}

.btn:hover {
color: var(--color-weiss);
text-decoration: none;
transform: scale(1.1);
}

.kontakt i:first-child {
margin-right: 0.4em;
}

.kontakt i {
transition: var(--transition);
}

.kontakt a:hover i {
transform: scale(1.1);
}

.kontantcontent {
font-size: var(--fontsize-4);
margin-top: var(--margbot-1);
}

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

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

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

footer {
background-color: var(--color-blau);
color: var(--color-weiss);
padding: 1em 0;
box-sizing: border-box;
}

footer .container {
text-align: right;
position: relative;
margin-bottom: 0;
}

footer a {
color: var(--color-weiss);
text-transform: uppercase;
margin: 0 0.4em;
}

footer .kontakt {
display: inline;
}

footer .kontakt a:first-child {
margin-left: 1em;
margin-right: 0;
}

.footerbutton {
position: absolute;
top: -150px;
left: 0px;
width: 300px;
height: 300px;
}

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

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

:root {
--fontsize-1: 1.2vw;
--fontsize-2: 2.2vw;
--lineheight-1: 1.6em;
--lineheight-2: 1.2em;
--margtop-1: 5em;
--margtop-2: 2.5em;
--margbot-1: 1.0em;
}

header .kontakt a:first-child {
margin-right: 0.8em;
display: inline-block;
}

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

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

h1 {
font-size: var(--fontsize-2);
line-height: 80px;
}

.container {
width: 1200px;
padding-top: 0;
}

.containerbottom {
margin-bottom: 250px;
}

.bgpad {
padding: 2em;
}

.kontantcontent {
font-size: var(--fontsize-2);
}

.tabzweier, .tabzweierwide {
gap: 3em;
}

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

.tabzweierwide {
grid-template-columns: 2fr 5fr;
}

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

footer .container {
padding-top: 0;
}

.footerbutton {
top: -200px;
width: 400px;
height: 400px;
}

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