:root {
	--bs-blue: #0d6efd;
	--bs-indigo: #6610f2;
	--bs-purple: #6f42c1;
	--bs-pink: #d63384;
	--bs-red: #dc3545;
	--bs-orange: #fd7e14;
	--bs-yellow: #ffc107;
	--bs-green: #198754;
	--bs-teal: #20c997;
	--bs-cyan: #0dcaf0;
	--bs-black: #000;
	--bs-white: #fff;
	--bs-gray: #6c757d;
	--bs-gray-dark: #343a40;
	--bs-gray-100: #f8f9fa;
	--bs-gray-200: #e9ecef;
	--bs-gray-300: #dee2e6;
	--bs-gray-400: #ced4da;
	--bs-gray-500: #adb5bd;
	--bs-gray-600: #6c757d;
	--bs-gray-700: #495057;
	--bs-gray-800: #343a40;
	--bs-gray-900: #212529;
	--bs-primary: #0d6efd;
	--bs-secondary: #2c3e50;
	--bs-success: #198754;
	--bs-info: #0dcaf0;
	--bs-warning: #ffc107;
	--bs-danger: #dc3545;
	--bs-light: #f8f9fa;
	--bs-dark: #212529;
	--bs-primary-rgb: 26, 188, 156;
	--bs-secondary-rgb: 44, 62, 80;
	--bs-success-rgb: 25, 135, 84;
	--bs-info-rgb: 13, 202, 240;
	--bs-warning-rgb: 255, 193, 7;
	--bs-danger-rgb: 220, 53, 69;
	--bs-light-rgb: 248, 249, 250;
	--bs-dark-rgb: 33, 37, 41;
	--bs-white-rgb: 255, 255, 255;
	--bs-black-rgb: 0, 0, 0;
	--bs-body-color-rgb: 33, 37, 41;
	--bs-body-bg-rgb: 255, 255, 255;
	--bs-font-sans-serif: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI',
		Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
		'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
		'Liberation Mono', 'Courier New', monospace;
	--bs-gradient: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.15),
		rgba(255, 255, 255, 0)
	);
	--bs-body-font-family: var(--bs-font-sans-serif);
	--bs-body-font-size: 1rem;
	--bs-body-font-weight: 400;
	--bs-body-line-height: 1.5;
	--bs-body-color: #212529;
	--bs-body-bg: #fff;
	--bs-border-width: 0.125rem;
	--bs-border-style: solid;
	--bs-border-color: #dee2e6;
	--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
	--bs-border-radius: 0.5rem;
	--bs-border-radius-sm: 0.25rem;
	--bs-border-radius-lg: 0.75rem;
	--bs-border-radius-xl: 1rem;
	--bs-border-radius-2xl: 2rem;
	--bs-border-radius-pill: 50rem;
	--bs-link-color: #1abc9c;
	--bs-link-hover-color: #15967d;
	--bs-code-color: #d63384;
	--bs-highlight-bg: #fff3cd;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
	:root {
		scroll-behavior: smooth;
	}
}

body {
	margin: 0;
	font-family: var(--bs-body-font-family);
	font-size: var(--bs-body-font-size);
	font-weight: var(--bs-body-font-weight);
	line-height: var(--bs-body-line-height);
	color: var(--bs-body-color);
	text-align: var(--bs-body-text-align);
	background-color: var(--bs-body-bg);
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
	margin-top: 0;
	margin-bottom: 0.5rem;
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI',
		Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
		'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	font-weight: 700;
	line-height: 1.2;
}

h1,
.h1 {
	font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
	h1,
	.h1 {
		font-size: 2.5rem;
	}
}

h2,
.h2 {
	font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
	h2,
	.h2 {
		font-size: 2rem;
	}
}

h3,
.h3 {
	font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
	h3,
	.h3 {
		font-size: 1.75rem;
	}
}

h4,
.h4 {
	font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
	h4,
	.h4 {
		font-size: 1.5rem;
	}
}

h5,
.h5 {
	font-size: 1.25rem;
}

h6,
.h6 {
	font-size: 1rem;
}

p {
	margin-top: 0;
	margin-bottom: 1rem;
}

#mainNav {
	padding-top: 1rem;
	padding-bottom: 1rem;
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI',
		Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
		'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	font-weight: 700;
}

#mainNav .navbar-nav {
	margin-top: 1rem;
}

#mainNav .navbar-nav li.nav-item a.nav-link:hover {
	color: var(--bs-teal);
}

#mainNav .navbar-nav li.nav-item a.nav-link.active {
	background-color: var(--bs-teal);
	color: var(--bs-white);
}
#mainNav .navbar-toggler {
	font-size: 80%;
	padding: 0.8rem;
}

.font-monospace {
	font-family: var(--bs-font-monospace) !important;
}

.font-monospace {
	font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
	font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
	font-size: calc(1.325rem + 0.9vw) !important;
}

.fs-3 {
	font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
	font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
	font-size: 1.25rem !important;
}

.fs-6 {
	font-size: 1rem !important;
}

.fst-italic {
	font-style: italic !important;
}

.fst-normal {
	font-style: normal !important;
}

.fw-light {
	font-weight: 300 !important;
}

.fw-lighter {
	font-weight: lighter !important;
}

.fw-normal {
	font-weight: 400 !important;
}

.fw-bold {
	font-weight: 700 !important;
}

.fw-semibold {
	font-weight: 600 !important;
}

.fw-bolder {
	font-weight: bolder !important;
}
header img {
	position: absolute;
	z-index: -1;
}

@media (max-width: 768px) {
	header {
		padding-top: 4rem !important;
	}
	.navbar-brand {
		padding-top: 1em !important;
	}
}
@media (max-width: 400px) {
	header img {
		padding-top: 2.5rem !important;
	}
}

.custom-blur {
	backdrop-filter: blur(5px);
	background-color: rgba(0, 0, 0, 0.2);
	height: 80vh !important;
}
.navbar-brand {
	padding-left: 0 !important;
	margin-left: 0 !important;
}
/* body {
	height: 1200px;
} */
.navbar {
	transition: all 0.3s ease;
	padding: 1rem 1rem;
}

/* Geschrumpfte Höhe und Padding der Navbar */
.navbar.shrink {
	padding: 0.5rem 1rem !important;
}
header .h1 {
	font-size: 4rem !important;
	font-weight: bold;
	text-shadow: black 2px 0 10px;
}

/* header .btn:hover {
	border-color: var(--bs-link-hover-color);
	background-color: var(--bs-link-hover-color);
} */
.custom-cell {
	border-radius: 5px;
	/* padding: 10px;
	margin: 10px; */
	text-shadow: black 1px 0 5px;
	box-shadow: black 2px 0 10px;
	/* background-color: var(--bs-teal) !important; */
}
header .card {
	width: 18rem !important;
}

@media (max-width: 768px) {
	.custom-blur {
		height: 60vh !important;
	}
	header .h1 {
		font-size: 2rem !important;
	}

	header .card .h3 {
		font-size: 1rem !important;
	}
	header .card {
		width: 9rem !important;
	}
}

/* // Small devices (landscape phones, 576px and up) */
@media (max-width: 575.98px) {
	.custom-blur {
		/* height: 80vh !important; */
	}
	header .h1 {
		margin-top: 100px !important;
	}
}

/* // Medium devices (tablets, 768px and up) */
@media (max-width: 767.98px) {
	.custom-blur {
		/* height: 10vh !important; */
	}
	header .h1 {
		margin-top: 100px !important;
	}
	svg {
		width: 1rem;
	}
}

/* // Large devices (desktops, 992px and up) */
@media (max-width: 991.98px) {
}

/* // X-Large devices (large desktops, 1200px and up) */
@media (max-width: 1999.98px) {
}

/* // XX-Large devices (larger desktops, 1400px and up) */
@media (max-width: 1399.98px) {
}
@media (min-width: 1401px) {
	header .h1 {
		margin-top: 100px !important;
	}
}

.page-section {
	padding: 6rem 0;
}
.page-section .page-section-heading {
	font-size: 2.25rem;
	line-height: 2rem;
	color: var(--bs-body-color);
}
@media (min-width: 992px) {
	.page-section .page-section-heading {
		font-size: 3rem;
		line-height: 2.5rem;
		color: var(--bs-body-color);
	}
}

.modal-dialog {
	max-width: 100%;
	height: 100%;
	margin: 0;
}
.modal-content {
	height: 100%;
}

.portfolio .btn {
	background-color: transparent;
	/* border: none; */
}
.button-portfolio {
	/* border-radius: 5px !important; */
}
.button-portfolio img {
	transition: 0.3s ease;
}

.button-portfolio img:hover {
	filter: brightness(125%);
	transform: scale(1.05);
}

.btn-close {
	color: var(--bs-body-color) !important;
	color: #000 !important;
}

.modal.fade .modal-dialog {
	transform: translateY(100px); /* Setzt die Startposition */
	opacity: 0;
	transition: transform 1s ease, opacity 0.5s ease;
}

.modal.fade.show .modal-dialog {
	animation: slideIn 1s ease forwards;
}
@keyframes slideIn {
	from {
		transform: translateY(100px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

.custom-text-dark {
	font-size: 1.5rem;
}

.page-section-heading {
	text-shadow: var(--bs-success) 2px 1px 1px;
}

.backToTopBtn {
	transform: translateY(-2rem);
	/* opacity: 0; */
	transition: transform 1s ease, opacity 0.5s ease;
	position: fixed;
	bottom: -1rem;
	right: 1rem;
	/* display: none; */
}

#successAlert,
#dangerAlert {
	display: none;
}

.modal-body {
	overflow: scroll;
}

@media (max-width: 575.98px) {
	.modal-body {
		width: 125%;
		height: 125%;
		transform: scale(0.8);
		transform-origin: 0 0;
		border: 0;
	}
}
