@font-face {
	font-family: 'Marcellus';
	src:url('/fonts/Marcellus_SC/MarcellusSC-Regular.ttf') format('truetype');
}
/* @font-face {
	font-family: 'imfell';
	src:url('/fonts/IM_Fell_English_SC/IMFellEnglishSC-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Corben';
	src:url('/fonts/Corben/Corben-Regular.ttf') format('truetype');
} 
@font-face {
	font-family: 'Yanone';
	src:url('/fonts/Yanone_Kaffeesatz/static/YanoneKaffeesatz-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Playfair Display';
	src:url('/fonts/Playfair_Display/static/PlayfairDisplay-Regular.ttf') format('truetype');
}
*/
@font-face {
	font-family: 'Open Sans';
	src:url('/fonts/Open_Sans/static/OpenSans-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Lato';
	src:url('/fonts/Lato/Lato-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Raleway';
	src:url('/fonts/Raleway/static/Raleway-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'RobotoCondensed';
	src:url('/fonts/Roboto_Condensed/static/RobotoCondensed-Light.ttf') format('truetype');
	/* src:url('/fonts/Roboto_Condensed/static/RobotoCondensed-Medium.ttf') format('truetype'); */
	/* src:url('/fonts/Roboto_Condensed/static/RobotoCondensed-Regular.ttf') format('truetype'); */
}
@font-face {
	font-family: 'NotoSans';
	src:url('/fonts/Noto_Sans/static/NotoSans-Regular.ttf') format('truetype');
}

*,
*::after,
*::before {
	box-sizing: border-box;
}


body {
	--color-green: #31cd1c;
	--color-green_hover: #2ab119;
	--color-text: #666;
	/* --color-bg: #f3efe6; */
	--color-bg: #ffffff;

	--color-button: #000;
	--color-button-hover: #634c18;
	--color-link: #000;
	--color-link-alt: #3e4843;
	--color-link-hover: #000;
	--color-link-alt-hover: #fff;

	/* Kontakt Seite */
	--color-bg-view-1: #f3efe6;
	--color-bg-view-2: #ffffff;

	/* --color-menu: #7ec59d;
	--color-menu-hover: #128b47;
	--color-bg-menu: #000;
	--color-button-menu: #000;
	--color-button-menu-hover: #79a18a;
	--color-button-close: #fff;
	--color-button-close-hover: #79a18a; */
	--font_text: 'RobotoCondensed', 'NotoSans', 'Raleway', 'Lato', 'Open Sans', Helvetica, Arial, sans-serif;
	--font_titel: 'RobotoCondensed', 'Marcellus', 'Playfair Display', serif;
	
	color: var(--color-text);
	background-color: var(--color-bg);
	font-family: var(--font_text);
    font-size: 16px;
	font-weight: 300;
    line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
    margin: 0;
}
.uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, .uk-heading-2xlarge, .uk-heading-large, .uk-heading-medium, .uk-heading-small, .uk-heading-xlarge, h1, h2, h3, h4, h5, h6 {
	font-family: var(--font_titel);
}

b, strong {
    font-weight: bold;
}

a {
	text-decoration: none;
	color: var(--color-link);
	outline: none;
	cursor: pointer;
}

a:hover {
	color: var(--color-link-hover);
	outline: none;
}

/* Better focus styles from https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible */
a:focus {
	/* Provide a fallback style for browsers that don't support :focus-visible */
	outline: none;
	background: lightgrey;
}

a:focus:not(:focus-visible) {
	/* Remove the focus indicator on mouse-focus for browsers that do support :focus-visible */
	background: transparent;
}

a:focus-visible {
	/* Draw a very noticeable focus style for keyboard-focus on browsers that do support :focus-visible */
	outline: 2px solid #fff;
	background: transparent;
}


/* ==========================================================================
Olox allgemeine Classes
========================================================================== */
.display_no {
    display: none;
	visibility: hidden;
	opacity: 0;
}

.display_hidden {
	visibility: hidden;
	opacity: 0;
}

.nicht_aktiv{
	opacity: 0.5;
}
.opacity_50{
	opacity: 0.5;
}

.olox_fehler{
	font-size: 2.5em;
    color: red;
    text-align: center;
	line-height: 1em;
}

.full_height{
	height: 100%;
}


.rot {
	color: var(--color-rot);
}
.color_titel {
	color: var(--color-rot);
}
.color_hell {
	color: var(--color-text_hell);
}
.list_item {
	border-top: 1px solid #ccc;
	padding: 30px 30px;
}


/* ==========================================================================
UI-Kit Abpassungen
========================================================================== */
.uk-checkbox.uk-form-danger, .uk-radio.uk-form-danger {
    border: 1px solid #d41212;
}

/* .uk-button-primary:hover {
    background-color: #9a9281;
    color: #fff;
}

.uk-button-primary {
    background-color: var(--color-bg);
    color: #fff;
    border: 1px solid transparent;
}
.uk-input, .uk-select, .uk-textarea {
    background: #fff;
    color: #666;
    border: 1px solid #e5e5e5;
    border: 1px solid #d7d7d7;
}

.uk-input:focus, .uk-select:focus, .uk-textarea:focus {
    outline: 0;
    background-color: #fff;
    color: #666;
    border-color: var(--color-bg);
} */




/* ==========================================================================
Page Loader
========================================================================== */
.loading main {
	opacity: 0;
}
main {
	opacity: 1;
}
.js .loading::before,
.js .loading::after {
	content: '';
	position: fixed;
	z-index: 1000;
}

.js .loading::before {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-bg);
}

.js .loading::after {
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	margin: -30px 0 0 -30px;
	border-radius: 50%;
	opacity: 0.4;
	background: var(--color-link);
	animation: loaderAnim 0.7s linear infinite alternate forwards;
}


@keyframes loaderAnim {
	to {
		opacity: 1;
		transform: scale3d(0.5,0.5,1);
	}
}


/* ==========================================================================
smooth scroll Lenis
========================================================================== */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: clip;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}


/* ==========================================================================
Kontakt SVG
========================================================================== */
.view--2 {
	background: var(--color-bg-view-2);
	color: #f0506e;
	pointer-events: none;
	opacity: 0;
	display: none;
	display: flex;   
	justify-content: center;   
	align-items: center;
}
.view.view--open {
	pointer-events: auto;
	opacity: 1;
	display: block;
	position: absolute;
    z-index:2200;
    width: 100%;
    height: 100%;
    /* top: 0px; */
	overflow: hidden;
}
.kontakt_overlay {
    position: absolute;
    z-index: 3000;
    pointer-events: none;
    width: 100%;
    height: 100%;
    top: 0px;
}
.view--kontakt {
    position: absolute;
	z-index: 2000;
    width: 100%;
    height: 100%;
	display: none;
}
.view--kontakt.open {
	display: block;
}
.frame--view-open{
	overflow: hidden;
}
.button--close{
	position: absolute;
	right: 20px;
	top: 20px;
}
.kontakt_div{
	padding: 25px;
	flex-direction: column;
}
.kontakt_titel{
	font-family: var(--schrift_logo);
    font-size: 2.5rem;
}
.kontakt_untertitel{
    font-size: 1.5rem;
}
.kontakt_text{
    font-size: 1.0rem;
	line-height: 1.5;
}
.moin_logo_kontakt{
	width: 50vW;
	margin-bottom: 20px;
	padding-right: 20px;
}
@media (min-width: 800px){
	.kontakt_div{
		padding: 0px;
		flex-direction: row;
	}
	.kontakt_titel{
		font-size: 5.5rem;
	}
	.kontakt_untertitel{
		font-size: 2.5rem;
	}
	.kontakt_text{
		font-size: 1.0rem;
		line-height: 1.5;
	}
	.moin_logo_kontakt{
		width: 20vW;
		margin-bottom: 0;
	}
}


/* .moin_unterricht_logo{
	width: 35vH;
    height: 35vH;
    background-color: #fff;
    border-radius: 50%;
	margin-top: -5em;
}
@media (min-width: 800px){
	.moin_unterricht_logo{
		width: 40vH;
		height: 40vH;
	}
}

.img_wir{
	margin-top: 6.2em;
} */


/* ==========================================================================
Google maps marker styles 
https://developers.google.com/maps/documentation/javascript/advanced-markers/html-markers?hl=de#maps_advanced_markers_html-css 
========================================================================== */
/* ==========================================================================
map
========================================================================== */
#map {
	height: 50vh;
	max-width: 100%;
}
.showmap {
	height: 100%; 
	width: 100%; 
	background-color:  #31cd1c;
	background-color:  #c9c9c9;
}
.showmap .uk-button{
    background-color: #646c74;
    color: #fff;
    border: 1px solid transparent;
}

@media screen and (min-width:960px) {
	#map {
		width: 50vw;
	}
}

.maps_marker {
	background-color: #4285F4;
	background-color: #1e87f0;
	border-radius: 8px;
	color: #FFFFFF;
	font-size: 14px;
	padding: 10px 15px;
	position: relative;
}
  
.maps_marker::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translate(-50%, 0);
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #1e87f0;
}

#map_content #firstHeading {
	margin-top: -0.1em;
}
#map_content .map_link {
	margin-top: 0.5em;
}

/* set the default transition time */
:root {
	--delay-time: .5s;
  }

@keyframes drop {
	0% {
	  transform: translateY(-200px) scaleY(0.9);
	  opacity: 0;
	}
	5% {
	  opacity: 0.7;
	}
	50% {
	  transform: translateY(0px) scaleY(1);
	  opacity: 1;
	}
	65% {
	  transform: translateY(-17px) scaleY(0.9);
	  opacity: 1;
	}
	75% {
	  transform: translateY(-22px) scaleY(0.9);
	  opacity: 1;
	}
	100% {
	  transform: translateY(0px) scaleY(1);
	  opacity: 1;
	}
}
.drop {
	animation: drop 0.3s linear forwards var(--delay-time);
}

.bounce {
    animation: bounce 2s infinite;
    -webkit-animation: bounce 2s infinite;
    -moz-animation: bounce 2s infinite;
    -o-animation: bounce 2s infinite;
}
 
@-webkit-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);} 
    40% {-webkit-transform: translateY(-30px);}
    60% {-webkit-transform: translateY(-15px);}
}
 
@-moz-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);}
    40% {-moz-transform: translateY(-30px);}
    60% {-moz-transform: translateY(-15px);}
}
 
@-o-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {-o-transform: translateY(0);}
    40% {-o-transform: translateY(-30px);}
    60% {-o-transform: translateY(-15px);}
}
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-30px);}
    60% {transform: translateY(-15px);}
}
/* Google maps marker styles Ende */