@charset "UTF-8";

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

	--primary-color: hsl(170, 100%, 16%);
	--primary-color-light: hsl(170, 100%, 26%);
	--primary-color-dark: hsl(170, 100%, 9%);

	--xxl: 9.375rem;
	--xl: 4.6875rem;

	--bs-primary: hsl(170, 100%, 16%);
	--bs-secondary: hsl(72, 66%, 66%);
	--bs-tertiary: hsl(80, 91%, 92%);

	--bs-primary-rgb: 0, 82, 68;
	--bs-secondary-rgb: 203, 226, 111;
	--bs-tertiary-rgb: 241, 253, 216;

	--bs-light: var(--bs-tertiary);
	--bs-light-rgb: var(--bs-tertiary-rgb);

	--bs-dark: hsl(170, 100%, 8%);
	--bs-dark-rgb: 0, 41, 34;

	--bs-body-color: hsl(170, 100%, 8%);

	--h1: 	clamp(3.55rem, 6vw, 6.3125rem);
	--h2: 	clamp(2.6625rem, 4.7vw, 4.7375rem);
	--h3: 	clamp(2rem, 3.5vw, 3.55rem);
	--h4: 	clamp(1.5rem, 2.6vw, 2.6625rem);
	--h5: 	clamp(1.25rem, 2vw, 2rem);
	--h6: 	clamp(1.1rem, 1.5vw, 1.5rem);
	--lead: var(--h6);
}


body {
	font-family: var(--font);
	font-size: clamp(1rem, 1.5vw, 1.125rem);
}

b, strong {font-weight: 700 !important;}

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

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

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--font);
	line-height: 1.1;
	margin-bottom: 1.5rem;
	font-weight: normal;

	&:not(:first-child) {margin-top: 3rem;}

	em {
		font-style: normal;
		color: var(--primary-color);
	}
}

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


h2:not(.home), .h2:not(.home) {font-size: var(--h4);}
h3:not(.home), .h3:not(.home) {font-size: var(--h5);}
h4:not(.home), .h4:not(.home) {font-size: var(--h6);}
h5:not(.home), .h5:not(.home) {font-size: var(--h6);}
h6:not(.home), .h6:not(.home) {font-size: var(--h6);}

.container-fluid {
	padding-inline: 3vw;
}

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

.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);
}

.bg-tertiary {
	background-color: var(--bs-tertiary);
}


/*  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;
		--bs-navbar-brand-padding-y: 0;
    --bs-navbar-brand-margin-end: 0;

	transition: padding 200ms, box-shadow 200ms;

	&:lang(en-GB) {
		--bs-navbar-nav-link-padding-x: .5rem;
	}

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

.navbar-brand-image {
	height: 120px;
	transition: height 200ms;
}

.affix .navbar-brand-image {height: 80px;}

.navbar-nav .nav-link {
	text-transform: uppercase;
	color: hsl(80, 91%, 92%);

	&:lang(en-GB) {
		font-size: .95rem;
	}
}

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

.navbar .dropdown-toggle::after {
	border: 0;
	width: 0.875rem;
	height: 0.5rem;
	background-image: url(../img/drop.svg);
	background-repeat: no-repeat;
	background-size: contain;

	vertical-align: .15em !important;
	margin-left: 0.5rem;
}

.dropdown-item {
	color: white;
	padding: 0.25rem .5rem;
	border-radius: .25rem;
	transition: color 200ms, background-color 200ms;

	&:hover,
	&:focus,
	&.active {
		color: var(--primary-color);
		background-color: var(--bs-light);
	}
}

.langs {
	--spacer: .35rem;
	list-style: none;
	padding: 0;
	display: inline-flex;
	align-items: center;
	gap: var(--spacer);
	color: hsl(80, 91%, 92%);

	li + li {
		position: relative;

		&::before {
			content: '/';
			margin-right: var(--spacer);
		}
	}

	a {
		color: currentColor;
		text-decoration: none;
		opacity: .65;
		transition: opacity 200ms;

		&:hover {
			opacity: .8;
		}
	}

	.current-lang a {
		opacity: 1;
	}
}

.navbar .search-dropdown > a::after {display: none;}

.search-dropdown .dropdown-menu {
	transform: translateY(10px);
	background-color: var(--bs-secondary);
}

.search-dropdown input {font-size: 1.125rem;}


:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 .25rem yellow !important;
}


/*  MARK: header  */

header {
	height: 100dvh;
	background-image: url(../img/baner.png);
	background-repeat: no-repeat;
	background-size: cover;
	isolation: isolate;

	&::before {
		content: '';
		display: block;
		position: absolute;
		inset: 0;
		z-index: -1;
		background-image: linear-gradient(hsl(0 0% 0% / .85), transparent 50%);
	}

	.text-center {
		padding-top: 100px;
		text-shadow: 0 2px 8px hsl(0 0% 0% / .6);
	}
}

header:not(.home header) {
	height: 600px;
	background-position: bottom;
}

.search-form .input-group {
	width: 300px;
}


/*  MARK: main content */

article section a {
	color: var(--primary-color);
	text-decoration: underline;
	transition: color 200ms;

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

.btn {
    --bs-btn-padding-x: 1.875rem;
    --bs-btn-padding-y: 1.25rem;
    --bs-btn-font-size: 1.25rem;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.5;
		border-radius: 0;
}

.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-hover-color: var(--primary-color);
    --bs-btn-active-color: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: var(--primary-color);
}

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

#info h2 small {
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	margin-bottom: 1.5rem;
}

#info .text-bg-primary {
	color: hsl(80, 91%, 92%) !important;
}

#info .btn {
	span {
		width: 0;
		display: block;
		overflow: hidden;
		text-align: left;
		transition: width 200ms ease-out, padding-right 200ms ease-out, color 200ms;
	}

	&:hover,
	&:focus {
		span {
			width: 4.5rem;
			padding-right: 1rem;
		}
	}
}

#info .overflow-hidden {
	position: relative;

	&::before {
		content: '';
		display: block;
		border: 3rem solid transparent;
		border-left-color: var(--bs-tertiary);

		position: absolute;
		left: -1.5rem;
		top: 50%;
		z-index: 2;
		transform: translateY(-50%);
	}
}

#info .box-4 .overflow-hidden::before {
	border-left-color: transparent;
	border-right-color: var(--bs-tertiary);
	left: auto;
	right: -1.5rem;
}

#info .box-5 .overflow-hidden::before {
	border-left-color: transparent;
	border-right-color: var(--bs-primary);
	left: auto;
	right: -1.5rem;
}

#about {
	position: relative;
	border: 20px solid white;
	padding-bottom: 10vw;

	&::before {
		content: '';
		display: block;
		position: absolute;
		bottom: -20px;
		left: 0;
		z-index: 1;
		width: 50%;
		aspect-ratio: 935/419;
		background-image: url(../img/forest.png);
		background-position: left 0 bottom -2rem;
		background-size: contain;
		background-repeat: no-repeat;
	}
}

#about ul,
ul.tick {
	list-style: none;
	padding-left: 0;

	li + li {margin-top: 1rem;}

	li {
		position: relative;
		padding-left: 3rem;

		&::before {
			content: '';
			display: block;
			position: absolute;
			top: -.12em;
			left: 0;
			width: 30px;
			height: 30px;
			background-image: url(../img/check.svg);
			background-repeat: no-repeat;
			background-size: contain;
		}
	}
}



/*  MARK: stopka */

.footer-links {
	border-bottom: 1px solid hsl(0 0% 100% / .15);
	a {
		text-transform: uppercase;
		transition: color 200ms;

		&:hover,
		&:focus {
			color: white;
			text-decoration: underline;
		}

		+ a {
			margin-left: 1rem;
			padding-left: 1rem;
			border-left: 1px solid hsl(80, 91%, 92%);
		}
	}
}

footer .opacity-50 {
	font-size: 1rem;
}

footer a {
	text-decoration: none;
	color: hsl(80, 91%, 92%);
	transition: color 200ms;

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

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

.madeby {
	display: flex;
	align-items: center;
	color: white;

	small {
		font-size: 0.625rem;
		margin: 0.5em 0.3em 0 0;
	}
}


/*  MARK: sub content  */

.sub .swiper__image {
	height: 600px;
}

main:not(.home main) {
	border: 20px solid white;
	background-color: var(--bs-tertiary);
}

aside .nav {
	a {
		color: var(--bs-body-color);
		padding: .25rem 0;
		border-left: 0 solid var(--bs-secondary);
		transition: padding 200ms, border-left-width 200ms;

		&:hover,
		&:focus {
			padding-left: .5rem;
			color: var(--primary-color);
		}
	}

	li + li {margin-top: 0.5rem;}

	.active .nav-link {
		color: var(--bs-body-color);
		border-left-width: 5px;
		padding-left: 1rem;
	}
}

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

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

	&:hover img {
		transform: scale(1.1);
	}
}

.lg-prev:after {
	font-size: 3rem;
	content: '<' !important;
	font-family: monospace !important;
}

.lg-next:before {
	font-size: 3rem;
	content: '>' !important;
	font-family: monospace !important;
}

.lg-toolbar .lg-close:after {
	content: '×' !important;
	font-family: monospace !important;
	font-size: 3rem;
}

.wp-block-file,
.download-item, .wp-block-list a[href*=".pdf"], .wp-block-list a[href*=".html"] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-decoration: none;
	padding: 1rem;
	background-color: white;
	color: var(--bs-body-color);
	transition: background-color 200ms;

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

	+ .download-item, + .wp-block-file {
		margin-top: 0.5rem;
	}

	&::after {
		content: 'pobierz';
		text-transform: uppercase;
		color: var(--bs-secondary);
		background-color: var(--primary-color);
		font-size: .875rem;
		line-height: 1;
		padding: 0.25rem .5rem .2rem;
		border-radius: .25rem;
	}
}

.wp-block-file {
	a {
		color: var(--bs-body-color);
		text-decoration: none;
		font-size: clamp(1rem, 1.5vw, 1.125rem);
	}

	.wp-block-file__button {
		text-transform: uppercase;
		color: var(--bs-secondary);
		background-color: var(--primary-color);
		font-size: .875rem;
		line-height: 1;
		padding: 0.25rem .5rem .2rem;
		border-radius: .25rem;
	}
}

.wp-block-file::after {
	display: none;
}

.wp-block-list:has(a[href*=".pdf"]),
.wp-block-list:has(a[href*=".html"]) {
	list-style: none;
	padding-left: 0;
}

.wp-block-list:has(a[href*=".pdf"]) li + li,
.wp-block-list:has(a[href*=".html"]) li + li {
	margin-top: 0.5rem;
}

.form-control {
	border-radius: .25rem;

	&.error {border-color: red;}
}

.error-msg {color: red;}

.card {
	overflow: hidden;
	cursor: pointer;

	&:hover {
		.card-image img {
			transform: scale(1.1);
		}
	}
}

.card-image img {
	transition: transform 600ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.card-title-link {
	color: var(--bs-body-color);
	text-decoration: none;
	transition: color 200ms;

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

.card-body p:last-of-type {
	margin-bottom: 0 !important;
}

.search-results {
	.card {
		cursor: pointer;
		transition: transform 300ms, box-shadow 300ms;

		&:hover,
		&:focus {
			transform: translateY(-2px);
			box-shadow: 0 1.5rem 2rem -.85rem hsl(0 0% 0% / .15);
		}
	}
}

.pagination .current,
.pagination a {
	text-decoration: none;
	color: var(--bs-body-color);
	padding-inline: .5rem !important;
	display: inline-block !important;
	font-size: 1.25rem !important;
}

.pagination .current {
	color: white;
	background-color: var(--primary-color);
}


.page-id-200 {
	.wp-block-list {
		list-style: none;
		padding-left: 0;

		> li {
			display: flex;
			gap: 1.25rem;
			align-items: flex-start;

			> strong {
				display: block;
				font-weight: normal !important;
				white-space: nowrap;
				padding: .25rem .75rem;
				color: hsl(80, 91%, 92%);
				border-radius: .25rem;
				background-color: var(--primary-color);
				position: relative;
				margin-top: 1.25rem;

				&::after {
					content: '';
					display: block;
					border: .5rem solid transparent;
					border-left-color: var(--primary-color);

					position: absolute;
					top: 50%;
					right: -1rem;
					transform: translateY(-50%);
				}
			}

			ul {
				border-left: 2px solid var(--primary-color);
				margin: 0 !important;
				padding: 1.5rem 0 1.5rem 1rem;
				position: relative;

				&::before,
				&::after {
					content: '';
					display: block;
					border-radius: 50%;
					position: absolute;
				}

				&::before {
					width: 0.75rem;
					height: 0.75rem;
					background-color: var(--primary-color);
					top: 1.95rem;
					left: -1.5px;
					transform: translateX(-50%);
					z-index: 2;
				}

				&::after {
					width: 0.35rem;
					height: 0.35rem;
					background-color: var(--bs-light);
					top: 2.15rem;
					left: -1.5px;
					transform: translateX(-50%);
					z-index: 2;
				}
			}
		}
	}
}

section ul:not(.list-group) li + li {margin-top: .5rem;}

.list-group-flush {
	--bs-list-group-item-padding-x: 0;
	--bs-list-group-item-padding-y: 1.25rem;
}

.list-group-flush li {
	background-color: transparent;
	border-color: hsl(0 0% 0% / .2) !important;
}

.wsp-pages-title {display: none;}

.wsp-pages-list a {
	text-decoration: none;

	&:hover,
	&:focus {
		text-decoration: underline;
	}
}

ul, ol {
	.children {
		padding-left: 1.125em !important;
	}
}

/*  MARK: RWD  */

@media (max-width: 1399px) {
	.navbar {
		--bs-navbar-nav-link-padding-x: .75rem;
	}
	.navbar-nav .nav-link {
		font-size: clamp(.75rem, 1vw, 1rem);
	}

	.navbar-brand-image {
		height: 100px;
	}
}





@media (max-width: 1199px) {
	.navbar-dark {
		--bs-navbar-toggler-border-color: hsl(0, 0%, 100%);
    --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%28255, 255, 255, 1.0%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='1' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e);
	}

	.navbar-nav .nav-link {
		font-size: 1.15rem;
	}

	.search-dropdown {
		width: 100%;

		.dropdown-menu, .search-form .input-group {
			width: 100%;
		}
	}

	.dropdown-item {
    padding: .5rem;
    white-space: normal;
    line-height: 1.2;
	}
}



@media (max-width: 991px) {
	#about {
		padding-bottom: 200px;

		&::before {
			left: 50%;
			transform: translateX(-50%);
		}
	}
}


@media (max-width: 767px) {
	#info .overflow-hidden::before {display: none;}
	#info .overflow-hidden img {
		aspect-ratio: 16/9;
	}

	#about::before {width: 70%;}
}


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

	#about::before {
    width: 100%;
		bottom: -29px;
		background-position: top;
	}

	.footer-links a + a {
		margin-left: 0;
		padding-left: 0;
		border-left: 0;
	}

	h1:not(.home) {
		font-size: var(--h2);
	}

	header:not(.home header) {
    height: 400px;
	}

}