@charset "UTF-8";

:root,
[data-bs-theme=light] {
	--font: 'Poppins', system-ui, sans-serif;

	--primary-color: hsl(47 94% 53%);
	--primary-color-light: hsl(47 94% 63%);
	--primary-color-dark: hsl(47 94% 43%);

	--xxl: 7.5rem;
	--xl: calc(var(--xxl) / 2);

	--bs-primary: hsl(47 94% 53%);
	--bs-primary-rgb: 248, 199, 22;

	--bs-light: hsl(220 16% 96%);
	--bs-light-rgb: 248, 249, 250;

	--bs-dark: black;
	--bs-dark-rgb: 0,0,0;

	--bs-body-color: black;

	--h1: 	clamp(3.15625rem, 5vw, 5.6125rem);
	--h2: 	clamp(2.36875rem, 4vw, 4.20625rem);
	--h3: 	clamp(1.775rem, 3vw, 3.15625rem);
	--h4: 	clamp(1.33125rem, 2.5vw, 2.36875rem);
	--h5: 	clamp(1.25rem, 1.7vw, 1.775rem);
	--h6: 	clamp(1.15rem, 1.3vw,1.33125rem);
	--lead: var(--h6);

	--navbar-height: 150px;
}

body {
	line-height: 1.7;
	font-family: var(--font);
	padding-top: var(--navbar-height);
}

.home {
	&::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 50%;
		height: 100dvh;
		background-color: black;
	}
}

.icon {
	width: var(--icon-size, 24px);
}

.icon-72px, [src*="_72px"] {width: 72px;}
.icon-64px, [src*="_64px"] {width: 64px;}
.icon-48px, [src*="_48px"] {width: 48px;}
.icon-32px, [src*="_32px"] {width: 32px;}
.icon-24px, [src*="_24px"] {width: 24px;}
.icon-16px, [src*="_16px"] {width: 16px;}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--font);
	margin-bottom: 1rem;
	font-weight: bold;
}

h1 em, h2 em, h3 em, h4 em, h5 em, h6 em,
.h1 em, .h2 em, .h3 em, .h4 em, .h5 em, .h6 em {
	font-style: normal;
	color: var(--primary-color);
}

h1, .h1 {font-size: var(--h1) !important;}
h2, .h2 {font-size: var(--h2) !important;}
h3, .h3 {font-size: var(--h3) !important;}
h4, .h4 {font-size: var(--h4) !important;}
h5, .h5 {font-size: var(--h5) !important;}
h6, .h6 {font-size: var(--h6) !important;}
.lead   {font-size: var(--lead);}

.container-fluid {
	padding-inline: clamp(1rem, 5vw, 5rem);
}

@media (min-width: 1536px) {
	.container {max-width: 1460px;}
}

.inset-0 {inset: 0;}

.p-xxl {padding: var(--xxl);}
.p-xl {padding: var(--xl);}
.px-xxl {padding-inline: var(--xxl)}
.px-xl {padding-inline: var(--xl)}

.pt-xxl {padding-top: var(--xxl);}
.pb-xxl {padding-bottom: var(--xxl);}
.py-xxl {
	padding-top: var(--xxl);
	padding-bottom: var(--xxl);
}
.mt-xxl {margin-top: var(--xxl);}
.mb-xxl {margin-bottom: var(--xxl);}
.my-xxl {
	margin-top: var(--xxl);
	margin-bottom: var(--xxl);
}

.pt-xl {padding-top: var(--xl);}
.pb-xl {padding-bottom: var(--xl);}
.py-xl {
	padding-top: var(--xl);
	padding-bottom: var(--xl);
}
.mt-xl {margin-top: var(--xl);}
.mb-xl {margin-bottom: var(--xl);}
.my-xl {
	margin-top: var(--xl);
	margin-bottom: var(--xl);
}

#main ol li ul {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

#main ol li + li {margin-top: 1rem;}

/*  MARK: navbar  */

.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 1.875rem;
    --bs-navbar-active-color: white;
    --bs-navbar-nav-link-padding-x: 1rem;
	transition: padding 200ms, box-shadow 200ms;
}

.navbar.affix {
	background-color: white;
	--bs-navbar-padding-y: .5rem;
	box-shadow: 0 0 2rem hsl(0 0% 0% / .15);
}

.navbar-brand {
	margin: 0;
	padding: 0;
	color: white;
	font-size: var(--h4);
}

.navbar-brand-image {
	filter: invert(1);
	height: 100px;
	transition: height 200ms;
}

.affix .navbar-brand {
	color: black;
	font-size: var(--lead);
}

.affix .navbar-brand-image {
	height: 50px;
	filter: invert(0);
}

.navbar-nav .nav-link {
	font-weight: bold;
	transition: color 200ms;

	&.active,
	&.show,
	&.open,
	&:hover,
	&:focus {
		color: var(--primary-color) !important;
	}
}

.dropdown-menu {
	border: 0;
	padding: .75rem 1rem;
	border-radius: 0;
	box-shadow: 0 1rem 2.5rem -.5rem hsl(0 0% 0% / .25);
	background-color: hsl(0 0% 100% / .8);
}

.dropdown-item {
	padding: 0.25rem 0;
	transition: color 200ms, border-color 200ms;
	border-bottom: 1px solid transparent;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active {
	color: var(--primary-color);
	background-color: transparent;
	border-bottom-color: var(--primary-color);
}


.navbar a.d-flex {
	text-decoration: none;
	color: var(--bs-body-color);
	line-height: 1.2;

	& small {
		font-size: .75rem;
	}

	& strong {
		font-size: var(--h5);
	}
}

.navbar-toggler {
	border: 1px solid black;
}

.navbar-dark, .navbar[data-bs-theme="dark"] {
	--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}



/*  MARK: header  */

.swiper__image {
	height: calc(100dvh - var(--navbar-height));
	min-height: 500px;
	object-position: right;
}

.slogan {
	color: white;

	& a {
		color: white;
		text-decoration: none;

		&:hover,
		&:focus {
			color: var(--primary-color);
		}
	}
}

.slogan .border-start {
	border-color: var(--primary-color) !important;
	border-width: 6px !important;

	padding-left: 2rem;
}

header .position-absolute {
	touch-action: none;
	pointer-events: none;
	background-image: linear-gradient(60deg, black 25%, hsl(0 0% 0% / .5) 50%, transparent 60%);
}

.header__swiper {
	position: relative !important;
	overflow: visible !important;
}

header .swiper-button-prev,
header .swiper-button-next {
	width: 110px;
	height: 110px;
	border: 0;
	padding: 0;
	margin: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 300ms;

	bottom: 0;
	top: auto;
	cursor: pointer;

	&::before,
	&::after {
		display: none;
	}

	&:active {
		transform: scale(.98);
	}
}

header .swiper-button-prev {
	right: 0;
	left: auto;
	background-image: url(../img/prev.svg);
}

header .swiper-button-next {
	right: 0;
	left: auto;
	transform: translateX(100%);
	background-image: url(../img/next.svg);

	&:active {
		transform: scale(.98) translateX(100%);
	}
}




/*  MARK: main content */

.btn {
    --bs-btn-padding-x: 1.875rem;
    --bs-btn-padding-y: 1.25rem;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 700;
    --bs-btn-line-height: 1.5;
		border-radius: 0;
		color: black;

	&:hover,
	&:focus {
		color: var(--bs-body-color);
	}
}

.btn-primary {
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-color-light);
    --bs-btn-hover-border-color: var(--primary-color-light);
    --bs-btn-active-bg: var(--primary-color-dark);
    --bs-btn-active-border-color: var(--primary-color-dark);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-color);
    --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-active-bg: var(--primary-color);
    --bs-btn-active-border-color: var(--primary-color);
}

.rounded-circle {
	aspect-ratio: 1;
	padding: 0 !important;
	height: auto !important;
}

.rounded-circle.bg-black {
	width: 104px;
}

.firma-images {
	width: 100%;
	aspect-ratio: 570/760;

	&::before {
		content:"";
		position: absolute;
		top: 0;
		left: 0;
		width: 80px;
		height: 80px;
		background-color: var(--primary-color);
		transform: translate(-100%, -100%);
	}

	img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}

.firma-image-1 {
	top: 0;
	left: 0;
	width: 70%;
	aspect-ratio: 380/570;
}

.firma-image-2 {
	bottom: 0;
	right: 0;
	width: 90%;
	aspect-ratio: 494/422;
}

.firma-image-3 {
	top: 25%;
	right: 0;
	width: 25%;
	aspect-ratio: 1;
}

h2 {
	gap: 1rem;
	display: flex;
	flex-direction: column;
	& small {
		font-size: var(--h6);
	}
}


#oferta a {

	& .position-absolute {
		background-image: linear-gradient(to top, hsl(0 0% 0% / .85), transparent 50%);
	}

	& .h4 {
		padding-inline: 1.5rem;
	}

	& .box-bg {
		transition: transform 900ms cubic-bezier(0.19, 1, 0.22, 1);
	}

	& .box-bg img {
		aspect-ratio: 7/8;
		height: auto;
	}

	&:hover .box-bg {
		transform: scale(1.1);
	}

	& .more {
		transition: transform 200ms ease-out, margin-bottom 300ms ease-out;
	}

	&:hover .more {
		transform: rotate(-90deg);
		margin-bottom: 2rem;
	}
}


#mapa {
	position: relative;

	&::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 50%;
		z-index: -1;
		background-color: var(--bs-dark);
	}
}

#mapa .container::after {
	content: '';
	position: absolute;
	top: -160px;
	right: -227px;
	width: 240px;
	height: 240px;
	background-image: url(../img/squares.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

#mapa iframe {
	width: 100%;
	height: 600px;
	display: block;
}




/*  MARK: stopka */

footer a {
	text-decoration: none;
	color: white;
	transition: color 200ms;
}

footer a:hover,
footer a:focus {
	color: var(--primary-color-light);
}

.list-unstyled li + li {
	margin-top: 0.75em;
}

.madeby {
	display: flex;
	align-items: center;
}

.madeby small {
	font-size: 0.625rem;
	margin: 0.2em 0.2em 0 0;
}

/*  MARK: sub content  */

.sub .navbar-brand,
.sub .affix .navbar-brand {
	color: black !important;

	& img {
		filter: none !important;
	}
}

.sub .navbar {
	border-bottom: 1px solid var(--bs-light);
}

.sub .navbar-nav .nav-link,
.affix .navbar-nav .nav-link {
	color: black;
}

.sub h1 {
	margin-bottom: var(--xl);
}


main:has(#sub-pages:last-of-type) {
	padding-bottom: 0;
}

.gallery a {
	display: block;
	width: 100%;
	overflow: hidden;
}

.gallery a img {
	width: 100%;
	display: block;
	transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1);
}

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

.downloads a {
	text-decoration: none;
	color: black;
	border: 1px solid hsl(0 0% 90%);
	border-radius: 0;
	transition: color 200ms, border-color 200ms;
}

.downloads a:hover {
	color: var(--primary-color);
	border-color: var(--primary-color);
}

.form-control {
	border-radius: 0;
}

.form-control.error {
	border-color: red;
}

.error-msg {
	color: red;
}

/*  MARK: paginator  */

.pagination {
	display: flex;
}

.pagination li {
	display: none;
}

.pagination .active,
.pagination .insertPage,
.pagination li:first-child,
.pagination li:last-child {
	display: block;
}

.pagination a,
.pagination input {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: 0 5px;
	padding: 0;
	text-align: center;
	color: #bbb;
	border: 1px solid #e1e1e1;
	text-decoration: none;
	transition: all .2s;
}

.pagination a:focus,
.pagination a:hover,
.pagination input:focus,
.pagination input:hover {
	color: var(--primary-color);
	border: 1px solid var(--primary-color);
}

.pagination input::placeholder {
	color: #bbb;
	font-size: 16px;
	font-weight: 500;
}

.pagination .active a {
	border: 1px solid var(--primary-color);
	background: var(--primary-color);
	color: #fff;
	cursor: text;
}

.pagination .insertPage+.insertPage {
	display: none;
}




/*  MARK: RWD  */

@media (max-width: 1680px) {
	.navbar a.d-flex {
		& strong {
			font-size: var(--h6);
		}
	}

	.navbar-brand {
		font-size: var(--h5);
	}
}


@media (max-width: 1600px) {
	header .swiper-button-next {
		transform: none;

		&:active {
			transform: scale(.98);
		}
	}

	header .swiper-button-prev {
		transform: translateX(-100%);

		&:active {
			transform: scale(.98) translateX(-100%);
		}
	}

	#mapa .container::after {
		top: 0;
		right: 0;
		width: 124px;
		height: 100px;
	}
}


@media (max-width: 1535px) {
	.navbar-brand-image {
		height: 90px;
	}

	.navbar-brand {
		font-size: var(--h6);
	}

	.container-fluid {
		padding-inline: clamp(1rem, 3vw, 3rem);
	}
}


@media (max-width: 1399px) {
	.home::before {display: none;}

	.navbar-brand {
		filter: invert(1);
	}

	.sub .navbar-brand {
		filter: invert(0);
	}

	.affix .navbar-brand {
		filter: invert(0);
	}

	.navbar a.d-flex {
		color: white;
	}

	.navbar a.d-flex {
    & strong {
      font-size: var(--h4);
    }
  }

	.navbar-nav .nav-link {
		color: white !important;
	}

	.affix .navbar-nav .nav-link {
		color: white;
	}

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

	header .container {
		max-width: 100%;
		padding: 0;
	}

	#oferta a .box-bg img {
		aspect-ratio: 1;
	}
}


@media (max-width: 1199px) {
	.firma-images::before {display: none;}

	#oferta a .box-bg img {
		aspect-ratio: 21/9;
	}

	.subpage .col-lg-6 + .col {margin-top: 1.5rem;}

	.subpage + .subpage {margin-top: var(--xxl);}
}


@media (max-width: 991px) {
	header .swiper-button-next,
	header .swiper-button-prev {
		display: none;
	}

	header .position-absolute  {
		background-image: none;
	}

	.slogan {
		text-align: center;
		width: 100%;
		padding: 3rem;
		text-shadow: 0 0 1rem hsl(0 0% 0% / .85);

		background-image: radial-gradient(ellipse at center, hsl(0 0% 0% / .85) 0%, transparent 50%);
	}

	.slogan .border-start {
		padding-left: 0 !important;
		border: 0 !important;
	}

	#dlaczego-my {
		text-align: center;
	}

	#dlaczego-my .col-lg-3 {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#dlaczego-my .col-lg-3 + .col-lg-3,
	footer .col-lg-4 + .col-lg-4 {
		margin-top: 2rem;
	}

	.firma-images {
		margin-bottom: 2rem;
	}

	#o-firmie {
		text-align: center;
	}

	#mapa iframe {
		height: auto;
		aspect-ratio: 5/4;
	}
}


@media (max-width: 767px) {
	#oferta a .box-bg img {
		aspect-ratio: 16/9;
	}
}


@media (max-width: 575px) {
	:root {
		--xxl: 4rem;
	}

	.slogan {
		padding: 3rem 0;
	}

	.slogan h1 {font-size: var(--h2) !important;}

	.navbar a.d-flex {
    & strong {
      font-size: var(--h3);
    }
  }

	.navbar-nav .nav-link {
		font-size: var(--h5);
	}

	#mapa .container::after {
		width: 70px;
		height: 45px;
	}

	.subpage .h-100 {min-height: 250px !important;}
}
