.sub .bg {
	background-image: url(/assets/img/sub-bg.svg);
	background-repeat: no-repeat;
	background-position: right bottom;
}


.sub header .swiper-slide img {
	height: 400px;
	object-fit: cover;
}

.sub .has-dropdown a img {
	filter: invert(1);
}

.sub header h1 {
	margin-top: 50%;
}

.sub .navbar {
	position: sticky;
}

.sub .affix {
	background-color: #fff;
	box-shadow: 0 0 30px hsl(0 0% 0% / .1);
}

.sub .navbar-logo-image {
	filter: invert(60%) sepia(30%) saturate(3219%) hue-rotate(163deg) brightness(93%) contrast(101%);
}

.sub .navbar-nav>li>a {
	color: black;
}

.sub .navbar-nav>li>a::after {
	filter: invert(0);
}

.lead {
	margin-top: 0;
}

aside,
.sub main {
	padding: calc(var(--sectionPadding) / 2) 0;
}



#breadcrumbs .container {
	padding: 15px 0;
	border-top: 1px solid hsl(231, 32%, 92%);
	border-bottom: 1px solid hsl(231, 32%, 92%);
	font-size: 0.75rem;
}

#breadcrumbs a {
	text-decoration: none;
	color: hsl(0 0% 10%);
	transition: color .2s;
}

#breadcrumbs a:hover {
	color: var(--primary);
}

#breadcrumbs span {
	color: hsl(0 0% 70%);
}

.sub h1 {
	margin-top: 0;
	margin-bottom: 30px;
	font-size: var(--h2);
}

aside.md\:w-3-12 {
	order: 2;
}

aside h4 {
	font-size: var(--h5);
	margin-top: 0;
}

aside .nav {
	margin: 0;
	padding: 0;
	width: 100%;
}

aside .nav li {
	margin: 0;
	padding: 0;
	list-style: none;
}

aside .nav a {
	display: block;
	box-sizing: border-box;
	width: 100%;
	line-height: 1.3;
	padding: 10px 25px;
	text-decoration: none;
	border-left: 2px solid var(--borderColor);
	transition: all .2s;
	color: var(--textColor);
}

aside .nav>li>a {
	border-left: 0;
	padding-left: 0;
	font-size: 1.125rem;
}

aside .nav a:hover,
asde .nav .active>a,
aside .nav a.active {
	border-left-color: var(--primary);
}

aside .nav a:hover {
	padding-left: 30px;
	padding-right: 20px;
}

aside .nav>li>a:hover {
	padding-left: 3px;
	color: #0094bd;
}

asde .nav .active>a,
aside .nav a.active {
	color: var(--primary);
}


.gallery a {
	overflow: hidden;
}

.gallery img {
	display: block;
	width: 100%;
	transition: all var(--normalSpeed) var(--ease);
}

.gallery a:hover img {
	transform: scale(1.1);
}


.downloads a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
	box-sizing: border-box;
	padding: 15px 30px;
	text-decoration: none;
	color: var(--textColor);
	transition: all var(--fastSpeed);
	box-shadow: 0 0 30px hsl(0, 0%, 0%, .1);
}

.downloads a:hover {
	color: var(--primary);
	transform: translateY(-2px);
	box-shadow: 0 15px 20px -5px hsl(0, 0%, 0%, .2);
}

.downloads a img:not(.download-icon) {
	height: 52px;
	border-radius: 0;
}

.download-icon {
	height: 18px;
	display: block;
	margin-left: 30px;
	border-radius: 0;
	filter: grayscale(1);
}

.downloads .size {
	opacity: .6;
	font-size: 0.875rem;
}

.downloads .text {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-left: 30px;
}

.downloads strong {
	font-weight: 400;
	line-height: 1.3;
	display: block;
	padding-right: 30px;
}

form {
	width: 100%;
}

fieldset {
	border: 0;
	padding: 0;
	margin: 0;
}

label {
	margin-top: 10px;
	margin-bottom: 5px;
	font-size: 1.125rem;
}

label p {
	margin: 0;
}

label a {
	text-decoration: none;
	color: var(--primary);
}

label p,
label li {
	font-size: 0.875rem;
	line-height: 1.5;
}

label li {
	margin-bottom: 0.5em;
}

input,
select,
textarea {
	width: 100%;
	box-sizing: border-box;
	padding: .8rem 1rem;
	border: 2px solid var(--borderColor);
}

[type="checkbox"],
[type="radio"] {
	width: auto;
	flex-shrink: 0;
	margin-top: 13px;
}

textarea {
	height: 14.6rem;
}

.ok {
	border-color: var(--borderColor);
}

.error {
	border-color: red;
}

.error-msg {
	color: red;
	font-size: 1rem;
	margin-top: 5px;
}

.star {
	color: red;
	font-family: sans-serif;
}

#alert {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 0.5rem 1rem;
	color: white;
	font-weight: bold;
}

#alert.success {
	background-color: rgb(0, 133, 22);
}


#alert.danger {
	background-color: rgb(165, 0, 0);
}


table {
	width: 100%;
	margin-top: 1.5rem;
	border: .75rem solid hsl(231, 32%, 92%);
}

thead,
tbody,
tr {
	width: 100%;
}

th {
	font-weight: var(--boldWeight);
}

th,
td {
	background-color: #fff;
	text-align: left;
	border: 0;
	padding: 1em 1.5em;
	border-bottom: 1px solid hsl(231, 32%, 92%);
}


#produkty .lg\:w-3-12 {
	margin-bottom: 30px;
}

#produkty .product {
	display: flex;
	height: 100%;
	margin-bottom: 0;
	flex-direction: column;
	box-shadow: 0 15px 30px hsl(0 0% 0% / .1);
	transition: all .3s;
}

#produkty .product.padding img {
	padding: 10px;
}

#produkty .product:hover {
	box-shadow: 0 18px 20px -5px hsl(0 0% 0% / .15);
	transform: translateY(-2px);
}


#produkty .product:active {
	box-shadow: 0 5px 10px hsl(0 0% 0% / .1);
	transform: translateY(0) scale(.98);
}

#produkty .product img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	object-position: center;
	border-bottom: 2px solid var(--bgLight);
	transition: none;
	transform: none;
}


#produkty .product strong {
	line-height: 1.1;
	text-align: center;
	padding: 1.3em .8em;
	font-size: 1rem;
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}


#main h1:only-child {
	margin: 0;
}


.katalogi {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;

	& .col {
		flex: auto;
	}

	& a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		text-align: center;

		&:hover,
		&:focus {
			& img {
				transform: scale(1.05);
				box-shadow: 0 15px 20px -5px hsl(0 0% 0% / .2);
			}
		}
	}

	& img {
		max-height: 400px;
		height: auto;
		display: block;
		transition: transform 300ms, box-shadow 300ms;
	}
}


/*

			M E D I A
			Q U E R I E S

*/


@media screen and (max-width: 1600px) {
	.marker.marker--2 .marker-tooltip {
		left: 0;
	}

	.marker.marker--2 .marker-tooltip::before {
		left: 0;
	}

	.marker.marker--3 .marker-tooltip,
	.marker.marker--7 .marker-tooltip {
		right: 0;
	}

	.marker.marker--3 .marker-tooltip::before,
	.marker.marker--7 .marker-tooltip::before {
		right: 0;
		left: auto;
	}
}


@media screen and (max-width: 1400px) {
	.downloads a {
		padding: 15px;
	}

	.downloads a img:not(.download-icon) {
		height: 32px;
	}

	.downloads .text {
		margin-left: 15px;
	}

	.downloads .size {
		display: none;
	}
}


@media screen and (max-width: 1022px) {
	section img.max-w-full {
		margin-bottom: 30px;
	}

	.mapa-svg img.max-w-full {
		margin-bottom: 0;
	}
}


@media screen and (max-width: 978px) {

	.marker.marker--2,
	.marker.marker--4,
	.marker.marker--6,
	.marker.marker--8 {
		align-items: flex-start
	}

	.marker--2 .marker-tooltip::before,
	.marker--4 .marker-tooltip::before,
	.marker--6 .marker-tooltip::before,
	.marker--8 .marker-tooltip::before {
		left: 0
	}

	.marker.marker--3,
	.marker.marker--5,
	.marker.marker--7 {
		align-items: flex-end
	}

	.marker--3 .marker-tooltip::before,
	.marker--5 .marker-tooltip::before,
	.marker--7 .marker-tooltip::before {
		left: auto;
		right: 0
	}
}


@media screen and (max-width: 760px) {
	table {
		border: 1px solid hsl(231, 32%, 92%);
	}

	th,
	td {
		padding: 0.5em;
		font-size: .875rem;
		line-height: 1.4;
	}
}



@media screen and (max-width: 639px) {

	.kontaktowa table {
		border: 0;
	}

	.kontaktowa td {
		display: block;
		width: 100%;
		border: 0;
		padding: 0;
		margin-bottom: 30px;
	}
}



@media screen and (max-width: 590px) {

	.download-icon,
	.downloads .size {
		display: none;
	}

	.downloads a {
		padding: 15px;
	}

	.downloads .text {
		margin-left: 15px;
	}

	.downloads strong {
		padding-right: 0;
		font-size: 0.875rem;
	}

	.downloads a img:not(.download-icon) {
		height: 30px;
	}
}


@media screen and (max-width: 440px) {

	.marker.marker--4,
	.marker.marker--6,
	.marker.marker--8 {
		align-items: center;
	}

	.marker--4 .marker-tooltip::before,
	.marker--6 .marker-tooltip::before,
	.marker--8 .marker-tooltip::before {
		left: calc(50% - 15px);
	}

}



@media screen and (max-width: 405px) {

	.sub h1,
	.sub .h1 {
		font-size: var(--h3)
	}

	.sub h2,
	.sub .h2 {
		font-size: var(--h4)
	}

	.sub h3,
	.sub .h3 {
		font-size: var(--h5)
	}

	.sub h4,
	.sub .h4 {
		font-size: var(--h6)
	}

	.sub h5,
	.sub .h5 {
		font-size: var(--h6)
	}

	.marker.marker--4 .marker-tooltip,
	.marker.marker--6 .marker-tooltip,
	.marker.marker--8 .marker-tooltip {
		transform: translateX(10vw);
		-webkit-transform: translateX(10vw);
		-moz-transform: translateX(10vw);
		-ms-transform: translateX(10vw);
		-o-transform: translateX(10vw);
	}

	.marker.marker--4 .marker-tooltip::before,
	.marker.marker--6 .marker-tooltip::before,
	.marker.marker--8 .marker-tooltip::before {
		transform: translateX(-10vw);
		-webkit-transform: translateX(-10vw);
		-moz-transform: translateX(-10vw);
		-ms-transform: translateX(-10vw);
		-o-transform: translateX(-10vw);
	}


	.marker.marker--5 .marker-tooltip {
		transform: translateX(10vw);
		-webkit-transform: translateX(10vw);
		-moz-transform: translateX(10vw);
		-ms-transform: translateX(10vw);
		-o-transform: translateX(10vw);
	}

	.marker.marker--5 .marker-tooltip::before {
		transform: translateX(-8.5vw);
		-webkit-transform: translateX(-8.5vw);
		-moz-transform: translateX(-8.5vw);
		-ms-transform: translateX(-8.5vw);
		-o-transform: translateX(-8.5vw);
	}
}


@media screen and (max-width: 375px) {

	.marker.marker--5 .marker-tooltip,
	.marker.marker--7 .marker-tooltip {
		transform: translateX(15vw);
		-webkit-transform: translateX(15vw);
		-moz-transform: translateX(15vw);
		-ms-transform: translateX(15vw);
		-o-transform: translateX(15vw);
	}

	.marker.marker--5 .marker-tooltip::before,
	.marker.marker--7 .marker-tooltip::before {
		transform: translateX(-13.5vw);
		-webkit-transform: translateX(-13.5vw);
		-moz-transform: translateX(-13.5vw);
		-ms-transform: translateX(-13.5vw);
		-o-transform: translateX(-13.5vw);
	}


	.marker.marker--1 .marker-tooltip,
	.marker.marker--9 .marker-tooltip {
		transform: translateX(-10vw);
		-webkit-transform: translateX(-10vw);
		-moz-transform: translateX(-10vw);
		-ms-transform: translateX(-10vw);
		-o-transform: translateX(-10vw);
	}

	.marker.marker--1 .marker-tooltip::before,
	.marker.marker--9 .marker-tooltip::before {
		transform: translateX(10vw);
		-webkit-transform: translateX(10vw);
		-moz-transform: translateX(10vw);
		-ms-transform: translateX(10vw);
		-o-transform: translateX(10vw);
	}
}

