:root{
	--mainColor:#eaeaea;
	--secondaryColor:#fff;

	--borderColor:#c1c1c1;

	--mainText:black;
	--secondaryText:#4b5156;

	--themeDotBorder:#24292e;

	--previewBg:rgb(251, 249, 243, 0.8);
	--previewShadow:#f0ead6;

	--buttonColor:black;
}

html, body{
	font-family: 'Ubuntu', sans-serif;
	padding: 0;
	margin: 0;
	scroll-behavior: smooth;
}

body *{
	transition: 0.3s;
}

h1, h2, h3, h4, h5, h6, strong{
	color: var(--mainText);
	font-family: 'Ubuntu', sans-serif;
	font-weight: 500;
}

p, li, span, label, input, textarea{
	color: var(--secondaryText);
	font-family: 'Ubuntu Mono', monospace;
}

a{
	text-decoration: none;
	color:#17a2b8;
}

ul{
	list-style: none;
}

h1 { font-size: 56px;}
h2 { font-size: 36px;}
h3 { font-size: 28px;}
h4 { font-size: 24px;}
h5 { font-size: 20px;}
h6 { font-size: 16px;}

.s1{
	background-color: var(--mainColor);
	border-bottom:1px solid var(--borderColor);
	overflow:auto;
}

.s2 {
	background-color: var(--secondaryColor);
	border-bottom: 1px solid var(--borderColor);
	overflow: hidden;
	/* Verbirgt den überlaufenden Inhalt */
	padding: 20px;
	box-sizing: border-box;

}

.main-container{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}


.greeting-wrapper{
	display: grid;
	text-align: center;
	align-content: center;
	min-height: 5em; /* Verkleinert die Höhe */
}

.intro-wrapper{
	background-color: rgba(255, 255, 255, 0); 
	border:0px solid var(--borderColor);
	border-radius:5px 5px 0 0;
	-webkit-box-shadow: -1px 1px 3px -1px rgba(0, 0, 0, 0);
	-moz-box-shadow: -1px 1px 3px -1px rgba(0, 0, 0, 0);
	box-shadow: -1px 1px 3px -1px rgba(0, 0, 0, 0);
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 20px;
	box-sizing: border-box;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: 
		'nav-wrapper nav-wrapper'
		'left-column right-column';
	width: 100%;
	box-sizing: border-box;
	overflow: hidden; /* Verhindert, dass Inhalte über den Bildschirmrand hinausragen */
    margin-top: 500px; /* Abstand, um die `intro-wrapper` unter den `logo-wrapper` zu platzieren */
}

.left-column,
.right-column {
	flex: 1;
	padding: 150px;
}
.nav-wrapper {
	border-radius: 5px 5px 0 0;
	width: 100%;
	border-bottom: 1px solid var(--borderColor);
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--mainColor);
}


#navigation {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

#navigation li{
	position: relative;
	display: inline-block;
	margin-right: 5px;
	margin-left:5px;
	cursor: default;
}

#navigation a {
	color: var(--mainText);
    cursor: default; /* Setzt den Mauszeiger auf den Standardzeiger */
}

.dropdown {
	background-color: var(--secondaryColor, rgba(255, 255, 255, 0.75)); /* 75% transparent */
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	list-style: none;
	padding: 0;
	margin: 0;
	border-radius: 5px;
	z-index: 1000;
}

.dropdown li {
	margin: 0;
}

.dropdown a {
	padding: 10px 15px;
	white-space: nowrap;
}

#navigation li:hover .dropdown {
	display: block;
}

.dots-wrapper{
	display: flex;
	padding: 10px;
}

#dot-1{
	background-color:  #FC6058;
}

#dot-2{
	background-color:  #FEC02F;
}

#dot-3{
	background-color:  #2ACA3E;
}

.browser-dot{
	background-color: black;
	height: 15px;
	width: 15px;
	border-radius: 50%;
	margin: 5px;
	-webkit-box-shadow: -1px 1px 3px -1px rgba(0,0,0,0.75);
	-moz-box-shadow: -1px 1px 3px -1px rgba(0,0,0,0.75);
	box-shadow: -1px 1px 3px -1px rgba(0,0,0,0.75);

}
.content-wrapper {
	display: flex;
}

.left-column{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

#profile_pic {
	width: 150px;
	height: auto;
	margin-bottom: 20px;
}
#contact-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	margin: 0;
	padding: 10px;
}

#contact-info a {
	color: var(--mainText);
}

#theme-options-wrapper{
	display: flex;
	justify-content: center;
	margin-top: 20px;
	position: relative; /* Hinzugefügt, um die absolute Positionierung der Dots zu ermöglichen */
}

.theme-dot{
	height: 25px;
	width: 25px;
	background-color: black;
	border-radius: 50%;
	margin: 3px;
	border:2px solid var(--themeDotBorder);
	-webkit-box-shadow: -1px 1px 3px -1px rgba(0,0,0,0.75);
	-moz-box-shadow: -1px 1px 3px -1px rgba(0,0,0,0.75);
	box-shadow: -1px 1px 3px -1px rgba(0,0,0,0.75);
	cursor: pointer;
	position: relative; /* Hinzugefügt, um die absolute Positionierung der Dots zu ermöglichen */
}

.theme-dot:hover{
	transform: scale(1.2); /* Vergrößert die Dots beim Hover */
	z-index: 1; /* Stellt sicher, dass die Dots über anderen Elementen schweben */
}


#light-mode{
	background-color: #fff;
}

#blue-mode{
	background-color: #192734;
}

#green-mode{
	background-color: #78866b;
}

#purple-mode{
	background-color: #7E4C74;
}

#settings-note{
	font-size: 12px;
	font-style: italic;
	text-align: center;
}

.right-column{
	grid-area: right-column;
	display: grid;
	align-content: center;
	padding-top: 50px;
	padding-bottom: 50px;
}


#preview-shadow{
	background-color: var(--previewShadow);
	max-width: 300px;
	height: 200px;
	padding-left: 30px;
	padding-top: 30px;
}

#preview{
	width: 300px;
	border:1.5px solid #17a2b8;
	background-color: var(--previewBg);
	padding:15px;
	position: center;
}

.corner{
	width:7px;
	height: 7px;
	border-radius: 50%;
	border:1.5px solid #17a2b8;
	background-color: #fff;
	position: absolute;
}

#corner-tl{
	top:-5px;
	left: -5px
}

#corner-tr{
	top:-5px;
	right: -5px
}


#corner-br{
	bottom:-5px;
	right: -5px
}


#corner-bl{
	bottom:-5px;
	left: -5px
}

.about-wrapper{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	padding-bottom: 50px;
	padding-top: 50px;
	gap:100px;
}


#skills{
	display: flex;
	justify-content: space-evenly;
	background-color: var(--previewShadow);
	transition: background-color 0.3s ease, transform 0.3s ease;
}
#skills:hover {
	background-color: #f0f0f028;
	/* Ändert die Hintergrundfarbe beim Hover */
	transform: scale(1.05);
	/* Vergrößert die Box leicht beim Hover */
}

.social-links{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 5px; /* Reduzierter Abstand zwischen den Elementen */
}

.social-icons {
	display: flex;
	gap: 5px; /* Reduzierter Abstand zwischen den Logos */
}

.social-logo {
	width: 25px; /* Passen Sie die Größe der Logos nach Bedarf an */
	height: auto;
}

#social_img {
	width: 1400px;
	/* Feste Breite, die besser passt */
	max-width: 100%;
	/* Stellt sicher, dass das Bild nicht größer als sein Container wird */
	height: auto;
	/* Beibehaltung des Seitenverhältnisses */
}

.tooltip {
	display: none;
	position: absolute;
	background-color: var(--secondaryColor);
	border: 1px solid var(--borderColor);
	border-radius: 5px;
	padding: 10px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	z-index: 1000;
}

.tooltip ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.tooltip ul li {
	margin-bottom: 5px;
}

.tooltip ul li:last-child {
	margin-bottom: 0;
}

.ip-tooltip {
    display: none;
    position: absolute;
    background-color: var(--secondaryColor);
    border: 1px solid var(--borderColor);
    border-radius: 5px;
    padding: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

@media (max-width: 600px) {
	#social_img {
		width: 550px;
		/* Kleinere Breite für kleinere Bildschirme */
	}
}


#social_logo {
	width: 25px;
	/* Passen Sie die Größe der Logos nach Bedarf an */
	height: auto;
	margin-right: 10px;
	/* Abstand zwischen den Logos */
}

.social-link {
	display: inline-block;
	/* Macht die Links zu Inline-Block-Elementen */
	margin-right: 10px;
		/* Abstand zwischen den Logos */
}


.post-wrapper{
	display: grid;
	grid-template-columns: repeat(auto-fit, 320px);
	gap:20px;
	justify-content: center;
	padding-bottom: 50px;
}

.post{
	border:1px solid var(--borderColor);
	-webkit-box-shadow: -2px 7px 21px -9px rgba(0,0,0,0.75);
	-moz-box-shadow: -2px 7px 21px -9px rgba(0,0,0,0.75);
	box-shadow: -2px 7px 21px -9px rgba(0,0,0,0.75);
	transition: background-color 0.3s ease, transform 0.3s ease;
}

.post:hover {
	background-color: #e0e0e0;
	/* Ändert die Hintergrundfarbe beim Hover */
	transform: scale(1.02);
	/* Vergrößert die Box leicht beim Hover */
}

.thumbnail{
	display: block;
	width: 100%;
	height:180px;
	object-fit: cover;
}

.post-preview{
	background-color: #fff;
	padding:15px;
}

.post-title{
	color:black;
	margin: 0;
}

.post-intro{
	color:#4b5156;
	font-size: 14px;
}


#contact-form{
	display: block;
	max-width: 600px;
	margin: 0 auto;
	border: 1px solid var(--borderColor);
	padding: 15px;
	border-radius: 5px;
	background-color: var(--mainColor);
	margin-bottom: 50px;

}

#contact-form label{
	line-height: 2.7em;
}

#contact-form textarea{
	min-height: 100px;
	font-size: 14px;
}


.input-field{
	width: 100%;
	padding-top: 10px;
	padding-bottom:10px; 
	background-color: var(--secondaryColor);
	border-radius: 5px;
	border:1px solid var(--borderColor);
	font-size: 14px;
}


#submit-btn{
	margin-top: 10px;
	width: 100%;
	padding-top: 10px;
	padding-bottom:10px; 
	color: #fff;
	background-color: var(--buttonColor);
	border:none;
}

.responsive-logo {
    max-width: 100%;
    height: auto;
    width:	1200px; /* Passen Sie die Breite nach Bedarf an */
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: draw 5s forwards;
}

@keyframes draw {
    to {
        stroke-dashoffset: 0;
    }
}

@media screen and (max-width: 1200px){
	.main-container{
		width: 100%;
	}
}

@media screen and (max-width: 800px){
	.intro-wrapper{
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 10px;
		grid-template-columns: 1fr;
		grid-template-areas: 
			'nav-wrapper'
			'theme-options-wrapper'
			'left-column'
			'right-column'
		;
	}

	.nav-wrapper, #theme-options-wrapper {
		width: 100%;
		display: flex;
		justify-content: center;
	}

	#navigation {
		flex-direction: column;
		align-items: center;
	}

	.theme-dot {
		margin: 5px;
	}
}

@media screen and (max-width: 400px){
	#preview-shadow{
		max-width: 280px;
		height: 180px;
		padding-left: 10px;
		padding-top: 10px;
	}

	#preview{
		width: 280px;

	}

	#social_img {
		width: 100%;
	}
}

@media (max-width: 600px) {
    .responsive-logo {
        max-width: 100%;
    }
}

.calendly-inline-widget iframe {
	     	background: transparent !important;
		}

.calendly-inline-widget {
	background: transparent !important;
}

/* Hinzugefügter Code für den Calendly-Button */
.calendly-badge-widget {
	background-color: #ffa500 !important;
}

.counter-container {
    display: flex;
    justify-content: space-around;
    align-items: stretch; /* Stellt sicher, dass die Boxen die gleiche Höhe haben */
    gap: 20px; /* Abstand zwischen den Zählern */
}

.counter-box {
    background-color: var(--previewShadow);
    max-width: 100%;
    flex: 1; /* Macht die Boxen gleich groß */
    padding: 20px; /* Einheitliches Padding */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Zentriert den Inhalt vertikal */
    align-items: center; /* Zentriert den Inhalt horizontal */
}

@media screen and (max-width: 600px) {
    .counter-container {
        flex-direction: column; /* Ändert die Richtung der Boxen auf mobilen Geräten */
    }

    .counter-box {
        max-width: 100%; /* Stellt sicher, dass die Boxen die volle Breite einnehmen */
        height: auto; /* Passt die Höhe automatisch an */
    }
}

.preview-box {
    background-color: var(--previewShadow);
    max-width: 100%;
    flex: 1; /* Macht die Boxen gleich groß */
    padding: 20px; /* Einheitliches Padding */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Zentriert den Inhalt vertikal */
    align-items: center; /* Zentriert den Inhalt horizontal */
    margin: 0 auto; /* Zentriert die Box horizontal */
}

.rating {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
}

.rating input {
	display: none;
}

.rating label {
	position: relative;
	width: 1em;
	font-size: 3rem;
	color: #FFD700;
	cursor: pointer;
}

.rating label::before {
	content: "☆"; /* Unausgewählter Stern */
	position: absolute;
	color: white; /* Unausgewählter Stern ist weiß */
}

.rating label:hover:before,
.rating label:hover ~ label:before {
	content: "★"; /* Ausgewählter Stern */
	color: blue; /* Ausgewählter Stern ist blau */
}

.rating input:checked ~ label:before {
	content: "★"; /* Ausgewählter Stern */
	color: blue; /* Ausgewählter Stern ist blau */
}

textarea#feedback {
	width: 100%;
	height: 100px;
	margin-top: 10px;
	padding: 10px;
	border: 1px solid var(--borderColor);
	border-radius: 5px;
}

button[type="submit"] {
	margin-top: 10px;
	padding: 10px 20px;
	background-color: var(--buttonColor);
	color: #fff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

#feedback-list {
	margin-top: 20px;
}

.feedback-item {
	border-bottom: 1px solid var(--borderColor);
	padding: 10px 0;
}

/* ...existing code... */

.logo-container {
    position: relative; /* Ermöglicht die Überlappung der SVGs */
    width: 100%;
    height: 250px; /* Verkleinert die Höhe */
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo-wrapper {
    position: absolute; /* Überlappt die SVGs */
    top: 400px; /* Verschiebt das Logo weiter nach unten */
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

#perfession-logo {
    transform: translateY(250px); /* Verschiebt das `perfession-logo` um 250px nach unten */
}

.logo-stroke {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: draw 5s forwards;
}

.circle {
    display: none; /* Der Kreis wird standardmäßig ausgeblendet */
}

@keyframes draw {
    to {
        stroke-dashoffset: 0;
    }
}


.name-container {
    position: relative; /* Ermöglicht die Überlappung der SVGs */
    width: 100%;
    height: 50px; /* Verkleinert die Höhe */
    display: flex;
    justify-content: center;
    align-items: center;
}

.name-wrapper {
    position: relative; /* Überlappt die SVGs */
	width: 50%;
    top: 200px; /* Verschiebt das `name` näher zum `logo` */
    left: 0px;
    bottom: 0px;
    justify-content: left;
    align-items: left;
}

@media (max-width: 600px) {
    .responsive-logo {
        max-width: 100%;
        width: 300px; /* Erhöht die Breite des Logos auf mobilen Geräten */
    }

    .name-wrapper {
        width: 100%;
        top: 100px; /* Passt die Position des Namens an */
    }

    .name-container {
        position: relative; /* Ermöglicht die Überlappung der SVGs */
        width: 100%;
        height: 50px; /* Verkleinert die Höhe */
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .name-wrapper {
        position: relative; /* Überlappt die SVGs */
        width: 50%;
        top: 200px; /* Verschiebt das `name` näher zum `logo` */
        left: 0px;
        bottom: 0px;
        justify-content: left;
        align-items: left;
    }
}

@media (max-width: 600px) {
    .responsive-logo {
        max-width: 100%;
        width: 300px; /* Erhöht die Breite des Logos auf mobilen Geräten */
    }

    .name-wrapper {
        width: 100%;
        top: 100px; /* Passt die Position des Namens an */
    }
}



