:root {
    --primary: 237, 94%, 81%;
    --background: 166, 16%, 92%;
    --background-secondary: 256, 12%, 12%;
    --background-secondary-dark: 256, 10%, 10%;
    --background-secondary-light: 257, 11%, 16%;
    --text-primary: 0, 0%, 0%;
    /* Colors */
    --black: 0, 0%, 0%;
    --white: 0, 0%, 100%;
    --quite-gray: 0, 0%, 50%;
    --grooble: 10, 28%, 93%;
    /* Sizes */
    --heading-large: 5.6rem;
    --heading-medium: 3.6rem;
    --heading-small: 2.4rem;
    --paragraph: 1.11rem;
    --navbar-buttons: 2.4rem;
    /* misc */
    --transition-main: .175, .685, .32;
    /* Fonts */
    --font-main: "Poppins";
}

/* ===========
    Variabels
   =========== */

/* ===============
    Global Styles
   =============== */

*, *::before, *::after {
    box-sizing: inherit;
}
html, body {
    margin: 0;
    width: 100%;
    color: hsl(var(--text-primary));
    font-family: var(--font-main);
    background-color: hsl(var(--background));
    background-image: url("https://png.pngtree.com/background/20230703/original/pngtree-interior-scene-and-frame-mockup-in-3d-rendering-a-spectacular-view-picture-image_4127358.jpg");
    background-size: 100%;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: right;
    -webkit-font-smoothing: antialiased;
    scroll-behavior: smooth;
    box-sizing: border-box;
	background-color: rgb(100, 100, 100);
	overflow-x:hidden; 
}


@media (pointer: coarse) or (max-width: 600px) or (orientation:portrait){
	body{
		background-size: auto 100vh;
		background-position: center;
		}
}

/* ============
    Typography
   ============ */

/* Headings */
h1, h2, h3, h4, h5, h6 {
    margin: 0;
}
/* Font Size */
h1 {
    font-size: var(--heading-large);
}
h2 {
    font-size: var(--heading-medium);
}
h3 {
    font-size: var(--heading-small);
}
h4 {
    font-size: calc(var(--heading-small) - .2rem);
}
h5 {
    font-size: calc(var(--heading-small) - .4rem);
}
h6 {
    font-size: calc(var(--heading-small) - .6rem);
}
/* Font Weight */
h1, h2 {
    font-weight: 900;
}
h3, h4, h5, h6 {
    font-weight: 800;
}
/* Paragraphs */
p {
    margin: 0;
    font-size: var(--paragraph);
}
/* Links */
a {
    color: hsla(var(--primary), 1);
    font-size: var(--paragraph);
    text-decoration: underline;
}
a:visited {
    color: hsla(var(--primary), .5);
}

/* =========
    Buttons
   ========= */

button {
    padding: .8em 1.2em;
    border: 1px solid hsl(var(--black));
    background-color: hsl(var(--background));
    font-size: var(--paragraph);
    cursor: pointer;
    outline: none;
}
button:focus {
    box-shadow:
            0 0 0 2px hsl(var(--black)),
            0 0 0 3px hsl(var(--white));
    border: 1px solid transparent;
}

/* =======
    Lists
   ======= */

ul, ol {
    margin: 1em 0;
}

/* =======
    Forms
   ======= */

form {
    margin: 0;
}
fieldset {
    margin: 0;
    padding: .5em 0;
    border: none;
}
input {
    padding: .8em 1.2em;
    font-size: var(--paragraph);
    background-color: hsl(var(--grooble));
    border: 2px solid hsl(var(--grooble));
    outline: none;
}
textarea {
    padding: .8em 1.2em;
    font-size: var(--paragraph);
    font-family: var(--font-main);
    background-color: hsl(var(--grooble));
    border: 2px solid hsl(var(--grooble));
    outline: none;
}
input, textarea {
    transition: all .2s ease-in-out;
}
input:hover, input:focus, textarea:hover, textarea:focus {
    box-shadow:
            0 0 0 2px hsl(var(--black)),
            0 0 0 3px hsl(var(--white));
    border: 2px solid transparent;
}
select {
    padding: .8em 1.2em;
    border: 1px solid hsl(var(--black));
    font-size: var(--paragraph);
    outline: none;
}

/* =========
    Classes
   ========= */

/* ================
    Global classes
   ================ */

/* =========
    Flexbox
   ========= */

.flexbox {
    display: flex;
    justify-content: center;
    align-items: center;
}
.flexbox-left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.flexbox-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
/* Columns */
.flexbox-col {
    display: flex;
    padding-top: 50px;
    flex-direction: column;
    align-items: center;
}
.flexbox-col-left {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-start;
}
.flexbox-col-left-ns {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: flex-start;
}
.flexbox-col-right {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    align-items: flex-end;
}
.flexbox-col-start-center {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
}
/* Spacings */
.flexbox-space-bet {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* =========
    Classes
   ========= */

.view-width {
    width: 70%;
}

/* ========
    Navbar
   ======== */

#navbar {
    top: 0;
    padding: 0;
    width: 10em;
	max-width: 18vw;
    height: 100vh;
    position: fixed;
    background-color: hsl(var(--background-secondary));
    transition: width .35s cubic-bezier(var(--transition-main), 1);
    overflow-y: auto;
    overflow-x: hidden;
}
#navbar:hover {
    width: 20em;
}
#navbar::-webkit-scrollbar-track {
    background-color: hsl(var(--background-secondary));
}
#navbar::-webkit-scrollbar {
    width: 8px;
    background-color: hsl(var(--background-secondary));
}
#navbar::-webkit-scrollbar-thumb {
    background-color: hsl(var(--primary));
}
.navbar-items {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
/* Navbar Logo */
.navbar-logo {
    margin: 0 0 2em 0;
    width: 100%;
    background: hsl(var(--background-secondary-dark));
	justify-content: center;
}
.navbar-logo img {
	width: 6em;
	max-width: 12vw;
	margin-top: 10px;
	}
.navbar-logo > .navbar-item-inner {
    width: calc(5rem - 8px);
}
.navbar-logo > .navbar-item-inner:hover {
    background-color: transparent;
}
.navbar-logo > .navbar-item-inner > svg {
    height: 2em;
    fill: hsl(var(--white));
}
/* Navbar Items */
.navbar-item {
    padding: 0 .5em;
    width: 100%;
    cursor: pointer;
}

.navbar-item a:visited {
	color: white;
}

.navbar-item-inner {
    padding: 1em 0;
    width: 100%;
    position: relative;
    color: hsl(var(--quite-gray));
    border-radius: .25em;
    text-decoration: none;
    transition: all .2s cubic-bezier(var(--transition-main), 1);
}
.navbar-item-inner:hover {
    color: hsl(var(--white));
    background: hsl(var(--background-secondary-light));
    box-shadow: 0 17px 30px -10px hsla(var(--black), .25);
}
.navbar-item-inner-icon-wrapper {
    width: calc(10rem - 1em - 8px);
    position: relative;
}
.navbar-item-inner-icon-wrapper ion-icon {
    position: absolute;
    font-size: calc(var(--navbar-buttons) - 1rem);
}
.link-text {
    margin: 0;
    width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: all .35s cubic-bezier(var(--transition-main), 1);
    overflow: hidden;
    opacity: 0;
	font-size: 1.7em;
	padding-left: 20px;
	margin-right:-20px;
}
#navbar:hover .link-text {
    width: calc(100% - calc(10rem - 8px));
    opacity: 1;
}

/* ======
    Main
   ====== */

#main {
    margin: 0 0 0 10em;
    min-height: 100vh;
}
@media (pointer: coarse) or (max-width: 600px) or (orientation:portrait){
	#main{
		margin: 0 0 0 18vw;
	}
}
#main > h2 {
    width: 80%;
    max-width: 80%;
}
#main > p {
    width: 80%;
    max-width: 80%;
}

/* =============
    ::Selectors
   ============= */

/* Selection */
::selection {
    color: hsl(var(--white));
    background: hsla(var(--primary), .33);
}
/* Scrollbar */
::-webkit-scrollbar-track {
    background-color: hsl(var(--background));
}
::-webkit-scrollbar {
    width: 8px;
    background-color: hsl(var(--background));
}
::-webkit-scrollbar-thumb {
    background-color: hsl(var(--primary));
}

/* ===============
    5. @keyframes
   =============== */

/* ==============
    @media rules
   ============== */

@media only screen and (max-width: 1660px) {
    :root {
        /* Sizes */
        --heading-large: 5.4rem;
        --heading-medium: 3.4rem;
        --heading-small: 2.2rem;
    }
}
@media only screen and (max-width: 1456px) {
    :root {
        /* Sizes */
        --heading-large: 5.2rem;
        --heading-medium: 3.2rem;
        --heading-small: 2rem;
    }
    .view-width {
        width: 80%;
    }
}
@media only screen and (max-width: 1220px) {
    .view-width {
        width: 70%;
    }
}
@media only screen and (max-width: 1024px) {
    :root {
        /* Sizes */
        --heading-large: 5rem;
        --heading-medium: 3rem;
        --heading-small: 1.8rem;
    }
    .view-width {
        width: 75%;
    }
}
@media only screen and (max-width: 756px) {
    :root {
        /* Sizes */
        --heading-large: 4rem;
        --heading-medium: 2.6rem;
        --heading-small: 1.6rem;
        --paragraph: 1rem;
        --navbar-buttons: 2.2rem;
    }
    .view-width {
        width: calc(100% - 5em);
    }
}
@media only screen and (max-width: 576px) {
    .view-width {
        width: calc(100% - 3em);
    }
}
@media only screen and (max-width: 496px) {

}

.navbar-item-inner-icon-wrapper img {
width: 6em;
max-width: 12vw;
height: auto;
}

.contact-link{
	margin-top: 100px;
}
.imprint-link{
	color:white;
	position: absolute;
	bottom: 0px;
	margin-bottom: 15px;
	width: 100%;
	text-align: center;
	}
.imprint-link a{
	color: white;
	text-decoration: none;
}

/*Menu Ende*/
/*Gallery*/

/* Slideshow container */
.slideshow-container {
  max-width: 1000px;
  width: 75vw;
  position: relative;
  margin-top: 30px;
  
}

/* Hide the images by default */
.mySlides {
  display: none;
}

.mySlides video, .mySlides img{
	width: 100%;
	max-height: 75vh;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 32px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
  -webkit-text-stroke: 0.7px black;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
  color: #f2f2f2;
  font-size: 30px;
  padding: 5px 10px 5px 10px;
  padding: 8px 12px;
  position: absolute;
  top: 0px;
  left: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  margin-top: -40px;
  text-align: center;
  display:none;
  background: black;
  border: 1px solid black;
  border-radius: 5px;
}
.mySlides:hover .text {
	display: block;
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

.dots{
	text-align:center;
	margin-bottom: 2em;
}

.text-wrapper{
	background: rgba(255,255,255,0.98);
	border-top: 2px solid black;
	padding-right: 3em;
	padding-left: 8em;
	width: 100%;
}

@font-face {
  font-family: Montserrat-Alt1;
  src: url(../fonts/montserrat-alt1/MontserratAlt1-Medium.otf);
}

.text-wrapper h1{
	font-size: 80px;
	text-align: center;
	font-weight: normal;
	font-family: Montserrat-Alt1;
	margin-top: 20px;
}

.text-wrapper h2{
	font-size: 36px;
	letter-spacing: 0.4vh;
	text-align: center;
	font-weight: normal;
}
.text-wrapper h3{
	font-size: 34px;
	letter-spacing: 0.4vh;
	text-align: center;
	font-weight: revert;
	color: #800;
	margin-bottom: 40px;
}

.text-wrapper img{
	display: block;
	margin: 0 auto;
	width: 90%;
	margin-bottom: 20px;
}
.text-wrapper .row, .text-wrapper .row p{
	display: block;
	margin: 0 auto;
	max-width: 900px;
	border-top: 3px solid black;
	margin-top: 25px;
	padding: 10px;
	padding-top: 25px;
	text-align: justify;
	color: #333;
	-webkit-font-smoothing: antialiased !important;
	text-rendering: optimizelegibility !important;
	letter-spacing: .03em;
	font-size: 20px;
	
}

.text-wrapper .row p {
	line-height: 1.5;
	border: none;
}

@media (pointer: coarse) or (max-width: 600px) or (orientation:portrait){
	.text-wrapper{
		padding-right: 0px;
		padding-left: 0px;
	}
	.text-wrapper h1{
		font-size: 36px;
	}
	.text-wrapper h2{
		font-size: 12px;
	}
}

.disclosure-wrapper{
	background: rgba(255,255,255,0.95);
	border: 2px solid black;
	border-radius: 20px;
	padding:30px;
	width: 75vw;
	max-width: 1000px;
}

.disclosure-wrapper p{
	text-align: justify;
	color: #333;
	-webkit-font-smoothing: antialiased !important;
	text-rendering: optimizelegibility !important;
	letter-spacing: .03em;
	font-size: 16px;	
}

.disclosure-wrapper h1{
	font-size: 35px;
	text-align: center;
}

.disclosure-wrapper h2{
	font-size: 26px;
	text-align: center;
}

.faq-wrapper{
	background: rgba(255,255,255,0.95);
	border: 2px solid black;
	border-radius: 20px;
	padding:30px;
	width: 75vw;
	max-width: 1000px;
}

.faq-wrapper p{
	text-align: justify;
	color: #333;
	-webkit-font-smoothing: antialiased !important;
	text-rendering: optimizelegibility !important;
	letter-spacing: .03em;
	font-size: 18px;
    margin-left: 15px;
    margin-right: 40px;	
}

.faq-wrapper h1{
	font-size: 35px;
	text-align: center;
	color: black;
}

.faq-wrapper h3{
	font-size: 20px;
	text-align: left;
	color: #800;
	font-weight: bold;
	margin-bottom: 10px;
    margin-top: 20px;
}




.contact-wrapper{
	background: rgba(255,255,255,0.95);
	border: 2px solid black;
	border-radius: 20px;
	padding:10px;
	width: 75vw;
	max-width: 1000px;
}

.contact-wrapper p{
	text-align: justify;
	color: #333;
	-webkit-font-smoothing: antialiased !important;
	text-rendering: optimizelegibility !important;
	letter-spacing: .03em;
	font-size: 24px;	
}

.contact-wrapper h1{
	font-size: 35px;
	text-align: center;
}

.contactRow{
	display: flex;
	justify-content: center;
}
.contactItem{
	margin: 30px;
	width: 180px;
	margin-left: 80px;
	margin-right: 80px;
	text-align: center;
}

.contactItem img{
	height: 120px;
	width: 120px;
	margin: 30px;
	margin-top: 10px;
}
@media (pointer: coarse) or (max-width: 600px) {
	.contactRow{
		display: block;
	}
	.contactItem{
		width: 100%;
		float: left;
		margin: 0px;
		margin-bottom: 30px;
	}
	.contactItem img{
		margin: 0px;
		margin: 0 auto;
		margin-bottom: 10px;
	}
	
	
}

.slider-container{
    max-width: 650px;
	height: auto;
    position: relative;
	margin: 0 auto;
	display: grid;
	align-items: start;

}
.slider-container > * {
  grid-column-start: 1;
  grid-row-start: 1;
}
	


.slider-container img{
    width: 100%;
    height: auto;
}
#my-img{
    clip-path: polygon(0 0 , 25% 0, 25% 100%, 0 100%);
}
#my-img2{
	clip-path: polygon(100% 0 , 25% 0, 25% 100%, 100% 100%);
}
	
#slider{
    position: relative;
    -webkit-appearance: none;
    width: calc( 100% + 100px);
    height: 100%;
    margin-left: -50px;
    background-color: transparent;
}
#slider, #slider:hover, #slider:focus{
	outline: none;
	border: none;
	box-shadow: none;
}

#slider::-webkit-slider-thumb{
    -webkit-appearance: none;
	appearance: none;
    height: 100%;
    width: 55px;
    background: url("../images/icons/left_right_arrow.png");
	background-repeat: no-repeat;
	background-position: center;
    background-size: 55px 55px;
    cursor: pointer;
	box-shadow: inset 30px 0px 0px 0px black;
	border-right: solid 26px transparent;
	border-left: solid 26px transparent;
	box-sizing: border-box;
	
}

#slider::-webkit-slider-runnable-track{
	width: 100%;
	height: 100%
	
}


#slider::-moz-range-thumb{
    -webkit-appearance: none;
    height: 100%;
    width: 55px;
    background: url("../images/icons/left_right_arrow.png");
	background-repeat: no-repeat;
	background-position: center;
    cursor: pointer;
	background-size: 55px 55px;
	box-shadow: inset 30px 0px 0px 0px black;
	border-right: solid 26px transparent;
	border-left: solid 26px transparent;
	box-sizing: border-box;
}

#slider::-ms-thumb{
    -webkit-appearance: none;
    height: 100%;
    width: 55px;
    background: url("../images/icons/left_right_arrow.png");
	background-repeat: no-repeat;
	background-position: center;
    cursor: pointer;
	background-size: 55px 55px;
	box-shadow: inset 30px 0px 0px 0px black;
	border-right: solid 26px transparent;
	border-left: solid 26px transparent;
	box-sizing: border-box;
}