/*GOOGLE FONTS*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;700;900&display=swap');

/*VARIABLEN*/
:root{
	/*color*/
	--white: #ffffff;
	--gray: #f6f6f6;
	--darkgray: #707070;
	--dark: #222222;
	--olive: #a3a597;
	--green: #5b8d86;
	/*weight*/
	--light: 300;
	--bold: 700;
	/*size*/
	--small: 0.6rem;
	--medium: 1rem;
	--large: 1.2rem;
}

/*ALLGEMEINE DEFINITIONEN*/
*{
	box-sizing: border-box;
	font-family: 'Roboto', sans-serif;
	font-size: 25px;
	letter-spacing: 0.8px;
	margin: 0;
	padding: 0;
}

h1{
	color: var(--olive);
	font-size: clamp(0.4rem, 3vw, 1rem);
	font-weight: var(--bold);
	padding: 0.2rem 0;
	margin-top: 1.4rem;
}
h3{
	color: var(--olive);
	font-size: var(--large);
	font-weight: var(--bold);
	padding: 0.2rem 0;
}

h2{
	color: var(--dark);
	font-size: var(--small);
	font-weight: var(--bold);
	text-transform: uppercase;
} 
p{
	color: var(--dark);
	font-size: var(--small);
	font-weight: var(--light);
}
a{
	color: var(--dark);
	text-decoration: none;
}
small{
	color: var(--dark);
	font-size: var(--small);
	font-weight: var(--light);
}
nav{
	background-color: var(--white);
	height: 100vh;
	left: 0px;
	position: fixed;
	top: 0px;
	width: 25vw;
	min-width: 300px;
}
main{
	background-color: var(--gray);
	min-height: 100vh;
	overflow: hidden;
}

button{
	color: var(--dark);
    background-color: var(--olive);
    border: none;
    cursor: pointer;
	font-size: var(--small);
	font-weight: var(--bold);
	height: 52px;
    margin: 1rem 0;
	width: 177px;
    transition: all ease-in-out 0.4s;
}
button:visited{
	color: var(--dark);
}
button:hover{
	background-color: var(--dark);
	color: var(--olive);
	border-radius: 10px;
}

/*EIGENE DEFINITIONEN*/
#nav-container{
	display: flex;
	flex-direction: column;
	margin: 3.22rem;
}
.logo{
	margin-bottom: 1rem;
	max-width: 100%;
}
#untermenu-container{
	padding: 1rem 1rem;
}
.hauptmenulink{
	color: var(--green);
	font-size: var(--medium);
	font-weight: var(--bold);
	padding: 0.1rem 0;
	text-decoration: none;
}
.hauptmenulink:hover{
	color: var(--olive);
	font-weight: var(--light);
	text-decoration: none;
}
.menulink{
	color: var(--green);
	font-size: var(--medium);
	font-weight: var(--light);
	padding: 0.1rem 0;
	text-decoration: none;
}
.menulink:active{
	font-weight: var(--bold);
}
.menulink:hover{
	color: var(--olive);
	font-weight: var(--light);
	text-decoration: none;
}
.untermenulink{
	color: var(--dark);
	font-size: var(--medium);
	font-weight: var(--light);
	padding: 0.2rem 0;
	text-decoration: none;
    transition: all ease-in-out 0.4s;
}
.untermenulink:hover{
	color: var(--olive);
    transition: all ease-in-out 0.4s;
}
#social-media{
	display: flex;
	justify-content: space-between;
	padding: 2rem 0;
	max-width: 200px;
}
#social-media a{
	max-width: 40px;
}
#social-media img{
	padding: 3px;
	width: 100%;
}
#burger{
	display: none;
}

/*CONTAINER*/
#main-container{
	padding-left: 25vw;
}

/*GALLERY*/
#gallery{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 3.2rem;
	width: 100%;
}
.alle{
	height: auto;
	margin: 0.5rem;
	position: relative;
	overflow: hidden;
	width: 28%;
}
.gallery-img{
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.active-btn{
    color: var(--green)!important;
	font-size: var(--medium);
	font-weight: var(--bold);
    transition: all ease-in-out 0.4s;
}


/*ÜBER MICH*/
.about-section{
	margin-top: -6.4rem;
	width: 100%;
}
#about-container{
	display: flex;
	padding: 3.2rem;
}
#about-img{
	height: 600px;
	width: 400px;
}
#about-img img{
	height: 600px;
	object-fit: cover;
	width: 400px;
}
#about-text{
	height: auto;
	padding: 1rem;
	width: 1000px;
}

/*CONTACT*/
#contact-container{
	padding: 3.2rem;
	max-width: 800px; 
}
#contact-container a{
	font-size: var(--small);
	font-weight: var(--light);
}
#kontaktdaten{
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	height: 80px;
}
.fas{
	font-size: 15px;
	padding-right: 0.2rem;
}
/*FORMULAR*/
input{
    font-size: var(--small);
}
textarea{
    font-size: var(--small);
}
input::placeholder{
    font-size: var(--small);
}
textarea::placeholder{
    font-size: var(--small);
}
.widthhalf{
	background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--darkgray);
	margin-top: 2rem;
    padding: 0.2rem;
    width: 48%;
}
.widthfull{
	background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--darkgray);
    height: 6rem;
	margin-top: 2rem;
    max-height: 10rem;
    max-width: 100%;
    min-height: 10rem;
    min-width: 100%;
    padding: 0.2rem;
    width: 100%;
}

/*------FOOTER------*/
footer{
	background-color: var(--white);
	display: flex;
	height: 153px;
	width: 100%;
}
#footer{
    align-items: center;
    display: flex;
	height: auto;
    justify-content: flex-end;
    margin-left: 25%;
	padding: 0 2rem;
    width: 1300px;
}
#copyright{
    align-items: center;
    display: flex;
    line-height: 1.2rem;
	width: 70%;
}
#copyright img{
    width: 80px;
}
#designer{
    display: flex;
    flex-direction: column;
}
#designer p, #designer a, #datenschutz a, #datenschutz a:first-child{
	font-size: var(--small);
	font-weight: 100;
	text-decoration: none;
}
#designer a{
    line-height: 1.2rem;
    font-weight: var(--bold);
}
#datenschutz a:first-child{
    margin-right: 2rem;;
}

/*ERFOLG FORMULAR*/
#captcha{
	padding-top: 1rem;
}
#captcha_antwort{
	width: 100px;
}
#captcha_rechnung{
	display: flex;
	flex-direction: row;
	width: 400px;
}
.green{
	color: green;
	font-weight: 900;
}
.red{
	color: red;
	font-weight: 900;
}
#erfolg-formular{
	align-items: center;
	background-color: var(--gray);
	display: flex;
	justify-content: center;
	height: 100vh;
	text-align: center;
	width: 100%;
}
#erfolg-text .fas{
	color: var(--green);
	font-size: 3rem;
}
#icon{
	align-items: center;
	display: flex;
	flex-direction: row;
	justify-content: center;
	padding: 1rem 0;
}
#erfolg-text h2{
	font-weight: var(--light);
	text-transform: inherit;
	font-size: var(--small);
}
#icon h2{
	font-size: var(--large);
	font-weight: var(--bold);
}





/*-----MEDIA QUERY------*/
@media screen and (max-width: 1260px){
	.hauptmenulink{
		font-size: var(--small);
	}
	.menulink{
		font-size: var(--small);
	}
	.untermenulink{
		font-size: var(--small);
	}
	#about-img{
		height: 500px;
		width: 300px;
	}
	#about-img img{
		height: 500px;
		object-fit: cover;
		width: 300px;
	}
	#about-text{
		padding:  0 1rem;
	}
}
@media screen and (max-width: 1024px){
	nav{
		min-width: 200px;
		width: 250px;
	}
	#nav-container{
		margin: 2rem;
	}
	#main-container{
		padding-left: 250px;
	}
	#gallery{
		padding: 1rem;
	}
	.alle{
		height: auto;
		margin: 0.2rem;
		width: 47%;
	}
	/*ÜBER MICH*/
	.about-section{
		margin-top: -2rem;
	}
	#about-container{
		padding: 2rem;
		width: 100%;
	}
	#about-container{
		flex-direction: column;
	}
	#about-text{
		margin: auto;
		width: 90%;
	}
	
	#about-img{
		height: auto;
		margin: auto;
		width: 80%;
	}
	#about-img img{
		height: 500px;
		object-fit: cover;
		width: 100%;
	}
	#footer{
		padding: 0 1rem;
		margin-left: 300px;
		width: 80%;
	}
	#copyright img{
		width: 60px;
	}
	#copyright{
		width: 100%;
	}
	#designer p, #designer a, #datenschutz a, #datenschutz a:first-child{
		font-size: 0.5rem;
		line-height: 0.7rem;
	}
	#designer a{
    font-weight: var(--bold);
	}
	#datenschutz{
		line-height: 0.7rem;
		width: auto;
	}
}
@media screen and (max-width: 818px){
	
	#about-img{
		width: 100%;
	}
	#about-text{
		padding: 1rem 0;
		width: 100%;
	}
	#footer{
		padding: 0;
	}
	#copyright img{
		width: 50px;
	}
	#designer p, #designer a, #datenschutz a, #datenschutz a:first-child{
		font-size: 0.4rem;
	}
}
@media screen and (max-width: 682px){
	main{
		overflow: hidden;
	}
	nav{
		height: 4.8rem;
		width: 100vw;
		z-index: 100;
	}
	#nav-container{
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		margin: 0.5rem 1rem;
	}
	.logo{
		margin: auto;
		width: 150px;
	}
	#menu{
		display: none;
	}
	#menu.active{
		
		align-items: flex-end;
		background-color: rgba(255,255,255,0.6);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		display: flex;
		flex-direction: column;
		height: calc(100vh - 4.8rem);
		justify-content: flex-start;
		padding: 15%;
		position: absolute;
		right: 0;
		top: 4.8rem;
		width: 100vw;
	}
	.hauptmenulink, .menulink, .untermenulink{
		font-size: 1.2rem;
		text-align: right;
	}
	#untermenu-container{
		padding: 1rem 0;
	}
	
	/*BURGER*/
	#burger{
		background-color: var(--olive);
		border-radius: 10px;
		display: block;;
		margin: auto 0;
		width: 52px!important;
	}
	#burger:hover{
		background-color: var(--olive);
		color: var(--dark);
	}
	
	/*CONTAINER*/
	#main-container{
		padding: 0;
	}
	/*GALLERY*/
	#gallery{
		padding: 4.8rem 1rem 1rem 1rem;
	}
	.alle{
		height: auto;
		margin: 0.2rem;
		width: 100%;
	}
	.contact-section{
		padding-top: 4.8rem;
	}
	.widthhalf{
		width: 100%;
	}
	#footer{
		align-items: center;
		flex-direction: column;
		justify-content: center;
		margin: auto;
		width: 90%;
	}
	#copyright{
		align-items: center;
		justify-content: center;
		border-bottom: 1px solid var(--gray);
		padding-bottom: 0.2rem;
	}
	#copyright img{
		width: 50px;
	}
	#datenschutz{
		padding-top: 0.2rem;
	}
	#designer p, #designer a, #datenschutz a, #datenschutz a:first-child{
		font-size: 0.5rem;
	}
}
@media screen and (max-width: 425px){
	#contact-container{
		padding: 2rem;
	}
}
@media screen and (max-width: 390px){
	/*------FOOTER------*/
	footer{
		height: 100px;
	}
	#copyright{
		padding-bottom: 0.1rem;
	}
	#datenschutz{
		padding-top: 0.1rem;
	}
	#designer p, #designer a, #datenschutz a, #datenschutz a:first-child{
		font-size: 0.3rem;
	}
}