@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;700&display=swap');

* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

body,
html {
	font-family: 'Dancing Script', cursive; /* Classy handwritten font */
	background: #fff;
	color: #444;
	line-height: 1.6;
	-webkit-overflow-scrolling: touch; /* For smooth scrolling on iOS */
	touch-action: manipulation; /* Disables certain touch behaviors like double-tap zoom */
	height: 100%; /* Ensure full height */
	width: 100%; /* Ensure full width */
	margin: 0;
}

ul {
	list-style: none;
}

a {
	color: #444;
	text-decoration: none;
	font-family: 'Poppins', Arial, sans-serif;
}

h1,
h2 {
	font-weight: 300;
	line-height: 1.2;
}

h2 {
	font-family: 'Dancing Script', cursive; /* Classy handwritten font */
}

p {
	margin: 10px 0;
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 23px;
}

.footer p {
	font-size: 15px;
}

img {
	width: 100%;
}

/* Navbar */
.navbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #333;
	color: #fff;
	opacity: 0.8;
	width: 100%;
	height: 100px;
	/* zawsze będzie na górze position */
	position: fixed;
	top: 0px;
	padding: 0 30px;
	/* elementy do php */
	transition: 0.5s;
}

.navbar.top {
	background: transparent;
}

.navbar a {
	color: #fff;
	padding: 10px 20px;
	margin: 0 5px;
}

.navbar a:hover {
	border-bottom: #c00912 2px solid;
}

.navbar ul {
	display: flex;
}

.navbar .logo img {
	margin-top: 10px;
	margin-left: 30px;
	height: 80px;
	width: auto;
}

/* Header */
.hero {
	background: url('../Images/home/ha.jpg') no-repeat center center/cover;
	height: 100vh;
	position: relative;
	color: #fff;
}

.hero .content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	/* .hero ma 100vh więc trzeba ustawić wysokość tego na 100% aby justify zadziałało */
	height: 100%;
	padding: 0 20px;
}

.hero .content h1 {
	font-size: 4em;
	font-weight: bold;
}

.hero .content p {
	font-size: 23px;
	max-width: 800px;
	/* top left/right bottm */
	margin: 20px 0 30px;
}

/* Overlay with sudoselectors */
.hero::before {
	/* content jest niezbędny - można w nim nawet wpisać tekst - ale tego się nie robi */
	content: '';
	/* absolute ponieważ .hero to relative */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* rgba ostatnia wartość to przezroczystość */
	background: rgba(0, 0, 0, 0.6);
}
/* aby overley nie zakrywał elementów strony wszystko co znajduje się w .hero trzeba wyciągnać na wierz z-index */
.hero * {
	z-index: 10;
}

.hero.blog {
	background: url('../Images/home/blog.jpg') no-repeat center center/cover;
	height: 40vh;
}

/* Icons */
.icons {
	padding: 30px;
}

.icons h3 {
	font-weight: bold;
	margin-bottom: 15px;
}

.icons i {
	background-color: #c00912;
	color: #fff;
	padding: 1rem;
	border-radius: 50%;
	margin-bottom: 15px;
}

.cases img:hover {
	opacity: 0.7;
}

.team img {
	border-radius: 50%;
}

/* Callback Form */
.callback-form {
	width: 100%;
	padding: 20px 0;
}

.callback-form label {
	display: block;
	margin-bottom: 5px;
}

.callback-form .form-control {
	margin-bottom: 15px;
}

.callback-form input {
	width: 100%;
	padding: 4px;
	height: 40px;
	border: #f5f5f5 1px solid;
}

.callback-form input:focus {
	outline-color: #c00912;
}

.callback-form .btn {
	padding: 12px 0;
	margin-top: 20px;
}

/* Post */

.post {
	padding: 50px 30px;
}

.post h2 {
	font-size: 30px;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: #ccc solid 1px;
}

.post .meta {
	margin-bottom: 30px;
}

.post img {
	width: 300px;
	border-radius: 50%;
	display: block;
	margin: 0 auto 30px;
}

/* Footer */

.footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 200px;
}

.footer a {
	color: #fff;
}

.footer a:hover {
	color: lightblue;
}

.footer h4 {
	margin-top: 10px;
}

.footer .social > * {
	padding: 15px;
}
/* Style for the heading */
.contact-title {
	font-size: 3em;
	font-weight: bold;
	color: white;
	margin-bottom: 20px;
}

/* Style for the contact information links */
.contact-info p {
	font-size: 23px;
	color: white;
	margin: 10px 0;
}

.contact-link {
	color: white;
	display: flex;
	align-items: center;
	gap: 10px; /* Spacing between icon and text */
	transition: color 0.3s;
}

.contact-link span {
	text-decoration: underline; /* Only underline the text inside the span */
}

/* Icon size adjustment */
.contact-link i {
	font-size: 1.2em;
}

/* Hover effect */
.contact-link:hover {
	color: #f1f1f1; /* Lighter color on hover */
}
/* .footer .social > *{
  margin-right: 30px;

  to było orginalnie zamiast paddingu
} */

/* Mobile version */

@media (max-width: 768px) {
	.navbar {
		flex-direction: column;
		height: auto;
		padding: 20px;
	}

	.navbar a {
		padding: 10px;
		margin: 5px;
		text-align: center;
	}

	.navbar .logo img {
		height: 60px; /* Adjusted for smaller screens */
		width: auto;
		margin-right: 0.5em;
	}

	.hero .content h1 {
		font-size: 40px; /* Adjust text size for mobile */
	}

	.hero .content p {
		font-size: 18px; /* Smaller text for better mobile view */
		max-width: 100%;
		margin: 15px 0;
	}

	.icons {
		padding: 15px;
	}

	.team img {
		width: 80%; /* Make team images responsive */
	}

	.footer {
		padding: 20px;
	}

	.cases .row {
		display: block; /* Stack all images vertically */
		padding: 0;
		margin: 0;
	}

	.cases .column {
		width: 100%; /* Ensure each column is full-width */
		margin: 0;
		padding: 0;
		text-align: center;
	}

	.cases .column img {
		width: 90vw; /* Make each image 90% of the viewport width */
		max-width: 90vw;
		margin: 10px auto; /* Add vertical spacing between images */
		display: block;
	}

	#Kontakt .row {
		display: flex;
		flex-direction: column; /* Stack columns vertically */
		align-items: center; /* Center content within each column */
	}

	#Kontakt .column {
		width: 90%; /* Make each column 90% of the viewport width */
		text-align: center;
	}

	.contact-title {
		font-size: 2em; /* Make the title slightly smaller on mobile */
		margin-left: 3em;
	}

	p {
		font-size: 0.9em; /* footer  */
	}

	.contact-info p {
		font-size: 1.2em; /* Reduce the font size of contact details */
	}

	.contact-info .phone {
		margin-left: 3em;
	}

	.contact-link i {
		font-size: 1em; /* Slightly reduce icon size to match the text */
	}

	.column-2 .btn {
		display: inline-flex; /* Use inline-flex to allow flexbox properties */
		justify-content: center; /* Horizontally center the text */
		align-items: center; /* Vertically center the text */
		padding: 10px 20px; /* Adjust padding as needed */
		font-size: 14px; /* Adjust font size if needed */
		line-height: 1.5; /* Adjust line-height if needed */
	}

	/* Center the navbar content */
	#navbar {
		text-align: center; /* Horizontally centers content */
	}

	/* Adjust logo styling */
	#navbar .navbar-logo {
		max-width: 100%; /* Ensure logo doesn't stretch beyond navbar width */
		height: auto; /* Maintain aspect ratio */
		margin: 0 auto; /* Center logo with auto margin */
	}
}
