@import url('./_config.css');

[x-cloak] {display: none;}
* {outline: none !important;}

html {
	scroll-behavior: smooth;
	scroll-margin-top: 150px;
	scroll-padding-top: 150px;
}

body {
	font-size: 0.875rem;
}

.pt-sp {padding-top: var(--sectionPadding);}
.pb-sp {padding-bottom: var(--sectionPadding);}
.py-sp {padding: var(--sectionPadding) 0;}

.pt-hsp {padding-top: calc(var(--sectionPadding) / 2);}
.pb-hsp {padding-bottom: calc(var(--sectionPadding) / 2);}
.py-hsp {padding: calc(var(--sectionPadding) / 2) 0;}

/* navbar */

.navbar {
	background-color: #fff;
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 999;
	transition: all .3s ease;
}

.affix {
	box-shadow: 0 0 30px hsl(0, 0%, 0%, .1);
}

.navbar-logo {
	margin: 15px 0;
	transition: all .3s ease;
}

.navbar-logo-image {
	display: block;
	height: 111px;
	transition: all .3s ease;
}

.affix .navbar-logo {margin: 10px 0;}
.affix .navbar-logo-image {height: 45px;}

.container {
	max-width: 90%;
	width: var(--containerWidth);
}

.langs a {
	transition: all .2s;
	filter: grayscale(1);
	opacity: .5;
}

.langs a:hover {
	opacity: 1;
	filter: grayscale(0);
}


/* navbar-nav */

.navbar-nav {
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: center;
}

.navbar-nav li {
	list-style: none;
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}

.navbar-nav > li:not(:first-child) {
	padding-left: 2px;
}

.navbar-nav a {
	will-change: auto;
}

.navbar-nav > li > a {
	color: var(--titleColor);
	display: inline-flex;
	font-size: 0.875rem;
	outline: none;
	padding: 10px 13px;
	text-decoration: none;
	text-transform: uppercase;
	transition: all .2s;
}

.nav-dropdown > a::after {
	opacity: .5;
}

.nav-dropdown > a.nav-active::after,
.nav-dropdown > a:hover::after,
.nav-dropdown >li:hover > a::after {
	filter: invert(1);
}

.navbar-nav .nav-active {
	color: white;
	background-color: var(--secondary);
}

.navbar-nav > li > a:hover {
	color: var(--primary);
}

.navbar-nav ul {
	background-color: white;
	box-shadow: 0 10px 30px hsla(0, 0%, 0%, .2);
	display: none;
	left: 0;
	margin: 0;
	min-width: 250px;
	padding: 10px;
	position: absolute;
	top: 100%;
}

.navbar-nav ul a {
	color: var(--textColor);
	display: flex;
	font-size: 0.875rem;
	justify-content: space-between;
	overflow: hidden;
	padding: 10px 15px;
	text-decoration: none;
	transition: all .3s ease;
}

.navbar-nav ul a::after {
	transform: rotate(-90deg);
	opacity: .3;
}

.navbar-nav ul a::before {
	background: none;
	color: var(--primary);
	content: '>';
	display: block;
	font-family: monospace;
	font-size: 1rem;
	font-weight: bold;
	height: auto;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 8px;
	transform: translateX(0);
	visibility: visible;
	width: auto;
	transition: all .3s ease;
}

.navbar-nav ul a:hover::before {
	transform: translateX(10px);
	opacity: 1;
}
.navbar-nav ul a:hover {
	padding-left: 25px;
	padding-right: 5px;
}

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

@keyframes showDropdown {
	0% {opacity: 0; transform: translateY(-10px);}
	100% {opacity: 1; transform: translateY(0);}
}

@keyframes showNextDropdown {
	0% {opacity: 0; transform: translateX(-10px);}
	100% {opacity: 1; transform: translateX(0);}
}

.navbar-nav > li > .open,
.navbar-nav .nav-dropdown:hover > ul {
	display: block;
	animation: showDropdown .3s 1 forwards;
}

.navbar-nav .open .open,
.navbar-nav ul .nav-dropdown:hover > ul {
	display: block;
	animation: showNextDropdown .3s 1 forwards;
}

.navbar-nav ul ul {
	top: 0; left: 100%;
}


/* mobile menu */

.mobile-menu-toggler {
	align-items: flex-end;
	background: none;
	border: 0;
	display: flex;
	flex-direction: column;
	height: 24px;
	justify-content: space-between;
	outline: none;
	padding: 0;
	position: relative;
	transition: all var(--fastSpeed) var(--easeOutBack);
	width: 32px;
}

.mobile-menu-toggler div {
	background-color: var(--primary);
	display: block;
	height: 2px;
	transform-origin: right;
	transition: all var(--fastSpeed) var(--easeOutBack);
	width: 32px;
}

.mobile-menu-toggler div:last-child {
	width: 70%;
}

.mobile-menu-toggler.active-toggler div:first-of-type {
	transform: rotate(-45deg);
}

.mobile-menu-toggler.active-toggler div:last-child {
	transform: rotate(45deg);
	width: 100%;
}

.mobile-menu-toggler.active-toggler div:nth-of-type(2) {
	display: none;
}

.mobile-nav {
	/* background-color: hsla(0, 0%, 0%, 0.8);
	backdrop-filter: blur(10px); */
	background-color: var(--primary);
	display: block;
	height: 100vh;
	left: 0;
	margin: 0;
	max-width: 80vw;
	overflow-y: auto;
	padding: 0;
	position: fixed;
	top: 0;
	transform: translateX(-100%);
	transition: transform var(--fastSpeed) var(--easeOutQuart);
	width: 300px;
	z-index: 99999;
}

.mobile-nav.show {
	transform: translateX(0);
}

.mobile-nav ul,
.mobile-nav li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mobile-nav ul {
	background-color: hsla(0, 0%, 0%, .3);
}

.mobile-nav a {
	border-bottom: 1px solid hsla(0, 0%, 100%, .2);
	box-sizing: border-box;
	color: white;
	display: block;
	font-size: 1rem;
	font-weight: 700;
	padding: 10px 15px;
	text-decoration: none;
}

.mobile-nav ul a {
	font-size: 0.875rem;
	font-weight: normal;
	padding-left: 30px;
}

.mobile-nav ul ul a {
	padding-left: 45px;
}

.mobile-nav a:hover,
.mobile-nav a.active {
	color: var(--primary);
	background-color: #fff;
}


a {text-decoration: none;}



h1, h2, h3, h4, h5, h6 {
	font-weight: var(--titleWeight);
	color: var(--titleColor);
	line-height: 1.1;
}

b, strong {
	font-weight: var(--boldWeight);
}



/* header */

.slide-description--text {
	font-weight: 400;
	margin: 0;
	font-size: 2rem;
	line-height: 1.3;
}

.slide-description--text em {
	font-size: 2.5rem;
	font-weight: bold;
	font-style: normal;
	color: var(--primary);
	display: block;
}

/* .slide-description--text em {
	font-size: 11.875rem;
	line-height: 1;
} */

.slide-description a {
	color: var(--titleColor);
	font-size: 1.25rem;
	display: flex;
	align-items: center;
	margin-top: 30px;
	transition: all .3s ease;
}

.slide-description a::after {
	content: '';
	display: block;
	width: 36px;
	height: 36px;
	background: url(/assets/img/slide-more.svg) center no-repeat;
	margin-left: 1rem;
	transition: all .3s ease;
}

.slide-description a:hover {
	color: var(--primary);
}

.slide-description a:hover::after {
	transform: translateX(5px);
}

/* .swiper-slide img.block.circle {
	object-fit: cover;
	object-position: center;
} */

.yellow.circle {
	display: block;
	width: 192px;
	height: 192px;
	background-color: var(--primary);
}

.swiper-slide .yellow.circle {
	bottom: 0;
	left: 0;
	z-index: 20;
	position: absolute;
}

.circle {
	border-radius: 100%;
}

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


/* main */

.home section h2:first-of-type {
	margin-top: 0;
	margin-bottom: 1.2rem;
}

.home section h2 small {
	font-weight: 400;
	display: block;
	margin-bottom: 1rem;
}


#dlaczego-my {
	padding-top: 30px;
}

.dlaczego-box {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}

.dlaczego-box h5 {
	margin-top: 0;
	margin-bottom: 15px;
}

.dlaczego-box p {
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1.3;
}

.dlaczego-icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 160px;
	margin-right: 30px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url(/assets/img/dlaczego-bg-1.svg);
}

.dlaczego-box:nth-of-type(2n) .dlaczego-icon {background-image: url(/assets/img/dlaczego-bg-2.svg);}
.dlaczego-box:nth-of-type(3n) .dlaczego-icon {background-image: url(/assets/img/dlaczego-bg-3.svg);}



/* produkty */

.product {
	position: relative;
	transition: all .3s ease;
	box-sizing: border-box;
	border: 1px solid white;
	overflow: hidden;
}

.product,.product:hover,.product:focus {
	filter: none;
}

.product-image {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
	transition: all .8s ease;
}

.product:hover .product-image {
	transform: scale(1.1);
}

.product-caption {
	position: relative;
	z-index: 20;
	flex-wrap: nowrap;
	top: -20px;
}

.product-caption strong {
	font-size: 1.09375rem;
	color: var(--titleColor);
	flex-shrink: 1;
	display: block;
	line-height: 1.3;
}

.product-caption img {
	flex-shrink: 0;
	margin-right: 10px;
	transition: transform .3s ease;
}

.product:hover .product-caption img {
	transform: translateX(5px);
}


.product-caption::after {
	content: '';
	display: block;
	background-color: #fff;
	z-index: -1;
	top: -10px;
	right: 0;
	bottom: 0;
	left: 0;
	position: absolute;
	transform: skewY(8.5deg);
}

.product:nth-child(even) .product-caption::after {
	transform: skewY(-8.5deg);
}




/* usługi */

#uslugi {
	position: relative;
}

#uslugi::after {
	content: '';
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 30%;
	background-color: var(--bgLight);
}

.uslugi-box {
	display: block;
	width: 100%;
	height: 250px;
	position: relative;
	transition: all .3s ease;
	box-sizing: border-box;
	border: 1px solid var(--bgLight);
	background-color: var(--bgLight);
}

.uslugi-box.bigger {
	height: auto;
}

.uslugi-box--description {
	color: var(--textColor);
	font-size: 0.75rem;
	line-height: 1.3;
	padding: 20px 15px 0;
	overflow: hidden;
	height: 0;
	transition: all .3s ease-out;
	z-index: 20;
	position: relative;
}

.uslugi-box--description.show {
	height: 250px;
}

.uslugi-box .more {
	position: absolute;
	width: auto;
	bottom: 15px;
	right: 15px;
	z-index: 20;
	transition: all .3s ease;
}

.uslugi-box:hover .more {
	transform: translateX(5px);
}

.uslugi-box img:not(.more) {
	transition: all .8s ease;
}

.uslugi-box:hover img:not(.more) {
	transform: scale(1.1);
}

.uslugi-box,.uslugi-box:hover,.uslugi-box:focus {
	filter: none;
}

.uslugi-box img {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
}

.uslugi-box strong {
	position: relative;
	z-index: 20;
	height: 50px;

	font-size: 1.09375rem;
	color: var(--titleColor);
	flex-shrink: 1;
	display: flex;
	align-items: center;
	line-height: 1.3;
}

.uslugi-box--image {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.uslugi-box--image::after {
	content: '';
	display: block;
	background-color: var(--bgLight);
	z-index: 1;
	top: -22%;
	right: -2%;
	bottom: 90%;
	left: -2%;
	position: absolute;
	transform: skewY(8.5deg);
}

.uslugi-box:nth-child(even) .uslugi-box strong::after {
	transform: skewY(-8.5deg);
}


/* inne sekcje */

#aktywacja .md\:w-6-12:last-child {
	padding-left: 60px;
}

#aktywacja .no-shrink {
	width: 48px;
	height: 48px;
	object-fit: contain;
	object-position: center;
}

#strategia {
	background-color: var(--bgLight);
}

#strategia img {
	mix-blend-mode: darken;
	-webkit-mix-blend-mode: darken;
}

:is(.home section, #main) ul {
	margin: 0;
	padding: 0;
}

:is(.home section, #main) li {
	list-style: none;
	margin-bottom: 0.5rem;
	display: block;
	padding-left: 25px;
	background: url(/assets/img/bullet.svg) 0 .4em no-repeat;
	background-size: 12px;
}


#o-nas {
	position: relative;
}

#o-nas::after {
	content:'';
	display: block;
	position: absolute;
	z-index: -1;
	background: var(--bgLight);
	bottom: 0;
	left: 0;
	width: 66%;
	height: 55%;
}


#zrealizowalismy strong {
	font-size: 1rem;
}

#zrealizowalismy .ile-projektow,
#zrealizowalismy .ile-projektow strong  {
	position: relative;
	z-index: 20;
	font-style: normal;
	font-weight: bold;
}

#zrealizowalismy .ile-projektow strong {
	color: var(--primary);
	font-size: 10rem;
	text-shadow: -5px -5px 0 #fff, 5px -5px 0 #fff, -5px 5px 0 #fff, 5px 5px 0 #fff;
}

#zrealizowalismy .ile-projektow::before,
#zrealizowalismy .ile-projektow::after,
#zrealizowalismy .ile-projektow strong::before,
#zrealizowalismy .ile-projektow strong::after {
	content: attr(data-ile);
	display: inline;
	color: white;
	font-weight: bold;
	font-size: 10rem;
	position: absolute;
	left: 0;
	text-shadow:
		-1px -1px 0 hsl(0, 0%, 0%, .05),
		1px -1px 0 hsl(0, 0%, 0%, .05),
		-1px 1px 0 hsl(0, 0%, 0%, .05),
		1px 1px 0 hsl(0, 0%, 0%, .05);
	z-index: -1;
}

#zrealizowalismy .ile-projektow::before,
#zrealizowalismy .ile-projektow::after {
	text-shadow:
		-1px -1px 0 hsl(0, 0%, 0%, .03),
		1px -1px 0 hsl(0, 0%, 0%, .03),
		-1px 1px 0 hsl(0, 0%, 0%, .03),
		1px 1px 0 hsl(0, 0%, 0%, .03);
	z-index: -2;
}

#zrealizowalismy .ile-projektow strong::before {top: -60px}
#zrealizowalismy .ile-projektow strong::after {bottom: -60px}
#zrealizowalismy .ile-projektow::before {top: -80px;}
#zrealizowalismy .ile-projektow::after {bottom: -80px;}

#zaufali .xs\:grid {
	column-gap: 60px;
	row-gap: 30px;
}

#zaufali .xs\:grid a {
	width: 100%;
}

#zaufali .xs\:grid a img {
	display: block;
	max-width: 100%;
	max-height: 72px;
	object-fit: contain;
	object-position: center;
	transition: all .3s ease;
	filter: grayscale(1);
	opacity: .5;
	margin-top: 30px;
}

#zaufali .xs\:grid a:hover img {
	opacity: 1;
	filter: grayscale(0);
}









/* footer */

.madeby {
	color: white;
	display: inline-block;
	line-height: 1;
	text-decoration: none;
}

.madeby small {
	float: left;
	margin: 4px 4px 0 0;
	font-size: 0.6875rem;
}

.container .container {
	max-width: 100%;
	margin: auto;
}


footer, footer .container {
	position: relative;
}

.vertical {
	position: absolute;
	top: 100%;
	left: .5em;
	z-index: -1;
	transform: rotate(-90deg);
	transform-origin: left bottom;

	line-height: .7;
	font-size: 4.76875rem;
	font-weight: bold;
	text-transform: uppercase;
	color: hsl(0, 3%, 93%);
	border-top: 10px solid white;
}

.vertical::before,
.vertical::after {
	color: white;
	content: 'kontakt';
	display: block;
	font-size: 4.76875rem;
	font-weight: bold;
	height: 0.3em;
	left: 0;
	line-height: .7;
	overflow: hidden;
	position: absolute;
	text-transform: uppercase;
	top: -30px;
	z-index: -2;
	text-shadow:
		-1px -1px 0 hsl(0, 0%, 0%, .05),
		1px -1px 0 hsl(0, 0%, 0%, .05),
		-1px 1px 0 hsl(0, 0%, 0%, .05),
		1px 1px 0 hsl(0, 0%, 0%, .05);
}

.vertical::after {
	top: -60px;
}

footer::after {
	content: '';
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	right: 0;
	left: 50%;
	background-color: var(--secondary);
}

footer .md\:w-5-12 p {color: white; opacity: .5; line-height: 1.8;}

footer .md\:w-6-12 p {
	margin: 0;
}

footer .flex p a {
	color: var(--textColor);
	transition: color .2s;
}

footer .flex p a:hover {
	color: var(--primary);
}

footer h5 {
	margin-top: 0;
	margin-bottom: 30px;
}

footer ul {
	margin: 0;
	padding: 0;
	flex-basis: 40%;
	min-width: 40%;
}

footer li {
	list-style: none;
	margin: 0 0 1rem 0;
	padding: 0;
}

footer li a {
	color: white;
	transition: color .2s;
}

footer a:hover {
	color: var(--primary)
}

.copy {
	text-transform: uppercase;
	letter-spacing: 3px;
}







/*
		R E S P O N S I V E
		C S S
*/



@media screen and (max-height: 700px) {
	.swiper-slide img.block.circle {
		max-height: 70vh;
		aspect-ratio: 1 / 1;
	}
}



@media screen and (max-width: 74.9375rem) {
	.navbar-logo-image {height: 75px;}

	.navbar-nav > li > a {
		padding: 7px 9px;
	}

	.slide-description--text {
		max-width: 90%;
	}

	.swiper-slide-1 .slide-description--text {
		font-size: 1.7rem;
	}
	.swiper-slide-2 .slide-description--text em {font-size: 9rem;}

	.swiper-slide img.block.circle {
		max-width: 100%;
	}

	.dlaczego-icon {
		width: 110px;
		height: 110px;
	}

	.product-caption strong,
	.uslugi-box strong {
		font-size: 0.875rem;
	}

	#aktywacja .circle {
		max-width: 100%;
	}

	#strategia .md\:w-6-12:first-child {
		padding: 30px 0;
	}

	#strategia img {
		max-width: 115%;
	}

	#zrealizowalismy .ile-projektow::before, #zrealizowalismy .ile-projektow::after, #zrealizowalismy .ile-projektow strong::before, #zrealizowalismy .ile-projektow strong::after,
	#zrealizowalismy .ile-projektow strong {font-size: 7rem;}

	#zrealizowalismy .md\:w-8-12 {
		width: 100%;
		max-width: 100%;
		flex-basis: 100%;
	}

	body {
		width: 100%;
		overflow-x: hidden;
	}
}




@media screen and (max-width: 63.875rem) {

	.w-full {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.navbar-logo {margin: 15px 0;}
	.navbar-logo-image {
		height: 60px;
	}
	.slide-description {
		text-align: center;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	header .swiper-slide .md\:w-6-12.justify-end {
		justify-content: center;
		align-items: center;
	}
	.swiper-slide img.block.circle {max-width: 100%; max-height: 60vh;}
	.swiper-slide .yellow.circle {bottom: 50px; left: 20vw; width: 150px; height: 150px;}

	.swiper-slide-2 .slide-description--text em {
		font-size: 5rem;
	}

	.dlaczego-box {margin-top: 30px;}

	.product-caption::after {
		top: -40px;
		bottom: -70px;
	}

	.uslugi-box strong::after {
		top: -25px;
		bottom: -35px;
	}

	#uslugi::after {display: none;}

	#uslugi {
		background-color: var(--bgLight);
	}

	#aktywacja {padding-top: var(--sectionPadding);}

	#aktywacja .md\:w-6-12:first-child, #strategia .md\:w-6-12:last-child {
		margin-bottom: 30px;
		align-items: center;
		justify-content: center;
		display: flex;
	}

	#strategia {
		padding-top: var(--sectionPadding);
	}

	#strategia .md\:w-6-12:last-child {margin-bottom: 0;}

	#aktywacja .yellow.circle {
		right: 15vw;
		bottom: 50px;
	}

	#strategia img {
		max-width: 70%;
		max-height: 50vh;
	}

	img[src="assets/img/onas.png"] {
		height: 60vh;
	}

	#zrealizowalismy {
		padding: calc(var(--sectionPadding) - 3em) 0;
	}

	#zrealizowalismy .md\:w-8-12 {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center !important;
	}

	#zrealizowalismy strong {
		font-size: 1rem;
		margin: 3em 0;
		text-align: center;
	}

	footer::after {
		top: 43%;
		width: 100%;
		left: 0;
	}

	#kontakt .md\:w-5-12 {
		padding: 30px;
		margin-top: 30px;
		background-color: var(--secondary);
	}

	footer .vertical {display: none;}

	#kontakt .md\:w-6-12 {
		text-align: center;
	}

	#kontakt .md\:w-6-12 .flex {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	#kontakt .md\:w-6-12 .flex img {
		margin-right: 0;
		margin-bottom: 10px;
	}

	.copy {color: white;}
}



@media screen and (max-width: 57.5rem) {
	.swiper-slide .yellow.circle {left: 10vw;}
	#aktywacja .yellow.circle {right: 5vw;}
	#zaufali .xs\:grid a img {max-height: 55px;}
}


@media screen and (max-width: 43.75rem) {
	.slide-description {margin-top: 40px;}

	.swiper-slide img.block.circle {
		max-width: 100%;
		max-height: 45vh;
	}

	#aktywacja .circle {
		max-width: 100%;
		max-height: 55vh;
	}

	#kontakt .container > .flex:last-child {
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
}

@media screen and (max-width: 38.75rem) {
	.product-caption strong, .uslugi-box strong {
		font-size: 1.2rem;
	}

	.product, .uslugi-box {
		display: block;
		margin-bottom: 40px;
	}

	.uslugi-box strong::after {
		top: 5px;
		bottom: -63px;
	}

	.swiper-slide .yellow.circle {
		bottom: -25px;
	}

	#aktywacja .yellow.circle {display: none;}

	#o-nas::after {height: 40%;}
}

@media screen and (max-width: 25rem) {
	.uslugi-box strong::after {
		top: 5px;
		bottom: -26px;
	}

	footer .md\:w-5-12 .flex {
		flex-direction: column;
	}

	footer::after {
		top: 34%;
		width: 100%;
		left: 0;
	}

	footer .md\:w-5-12 {
		text-align: center;
	}

	.copy {
		text-align: center;
	}
}


@media screen and (max-width: 22.5rem) {
	.swiper-slide .yellow.circle {
		bottom: 0px;
		width: 100px;
		height: 100px;
		left: 5vw;
	}

	h2 {font-size: var(--h3);}

	footer::after {top: 32%;}
}