/*!
Theme Name: weblance
Theme URI: http://weblance.pl/
Author: Weblance.pl
Author URI: http://weblance.pl/
Description: Profesjonalny motyw strony WWW
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: weblance.pl
Tags: weblance
*/
html {
  font-size: 112.5%; /* 1rem = 18px */
}
:root {
	--width: 1720px;
	--padding: 20px;
	--vertical-spacing: 100px;
	--fade-background: #fdfdfd;
	--background-light: #f9f9f9;
	/* Font sizes - mobile first (use rem for scalable fonts) */
	--font-size-h1: 2.2rem; /* 28px */
	--font-size-h2: 1.7rem;  /* 24px */
	--font-size-h3: 1.25rem; /* 20px */
	--font-size-h4: 1.125rem;/* 18px */
	--font-size-h5: 1.1rem;    /* 16px */
	--font-size-h6: 1.05rem;/* 14px */

	/* ensure "normal" text on smallest screen is 12px */
	--font-size-normal: 0.9rem;  /* 12px */
	--font-size-small: 0.85rem;  /* 10px */
	--font-size-smaller: 0.85rem; /* 11px */

	/* Spacing - keep in px as requested (static) */
	--spacing-xl: 24px;
	--spacing-lg: 20px;
	--spacing-md: 30px;
	--spacing-sm: 12px;
	--spacing-xs: 8px;

	--color: #0B0B0B;
	/* --cta: #F27C00; */
	--cta: var(--color);
	--color-cta-text: white;
}
a {
	color: inherit;
}
/* >= 480px */
@media (min-width: 480px) {
	:root {
		--vertical-spacing: 100px;
		--font-size-h1: 2.2rem; /* 34px */
		--font-size-h2: 1.7rem; /* 30px */
		--font-size-h3: 1.4rem;   /* 24px */
		--font-size-h4: 1.25rem;  /* 20px */
		--font-size-h5: 1.125rem; /* 18px */
		--font-size-h6: 1.1rem;     /* 16px */

		--font-size-normal: 1rem; /* 14px */
		--font-size-small: 1rem;   /* 12px */
		--font-size-smaller: 1rem; /* 12px */

		--spacing-xl: 32px;
				--font-size-normal: 1.125rem; /* 18px */
				--font-size-small: 1.0625rem;  /* 17px */
				--font-size-smaller: 1.0625rem; /* 17px */
		--spacing-lg: 28px;
		--spacing-md: 35px;
		--spacing-sm: 16px;
		--spacing-xs: 10px;
		--padding: 30px;
	}
}

/* >= 786px */
@media (min-width: 786px) {
	:root {
		--vertical-spacing: 110px;
		--font-size-h1: 2.2rem; /* 36px */
		--font-size-h2: 1.7rem;    /* 32px */
		--font-size-h3: 1.425rem;/* 26px */
		--font-size-h4: 1.375rem;/* 22px */
		--font-size-h5: 1.25rem; /* 20px */
		--font-size-h6: 1.1rem;    /* 16px */

		--font-size-normal: 1rem; /* 14px */
		--font-size-small: 1rem;   /* 12px */
		--font-size-smaller: 1rem; /* 12px */

		--spacing-xl: 48px;
		--spacing-lg: 36px;
		--spacing-md: 40px;
		--spacing-sm: 20px;
		--spacing-xs: 12px;
		--padding: 30px;
	}
}

/* >= 900px */
@media (min-width: 900px) {
	:root {
		--vertical-spacing: 120px;
		--font-size-h1: 2.5rem;   /* 40px */
		--font-size-h2: 2.125rem; /* 34px */
		--font-size-h3: 1.75rem;  /* 28px */
		--font-size-h4: 1.5rem;   /* 24px */
		--font-size-h5: 1.25rem;  /* 20px */
		--font-size-h6: 1rem;     /* 16px */

		--font-size-normal: 0.875rem;   /* 14px */
		--font-size-small: 0.78125rem;  /* 12.5px */
		--font-size-smaller: 0.8125rem; /* 13px */

		--spacing-xl: 56px;
		--spacing-lg: 40px;
		--spacing-md: 40px;
		--spacing-sm: 24px;
		--spacing-xs: 14px;
		--padding: 50px;
	}
}

/* >= 1100px */
@media (min-width: 1100px) {
	:root {
		--vertical-spacing: 120px;
		--font-size-h1: 2.75rem;  /* 44px */
		--font-size-h2: 2.25rem;  /* 36px */
		--font-size-h3: 1.875rem; /* 30px */
		--font-size-h4: 1.625rem; /* 26px */
		--font-size-h5: 1.375rem; /* 22px */
		--font-size-h6: 1.125rem; /* 18px */

		--font-size-normal: 0.9375rem; /* 15px */
		--font-size-small: 0.8125rem;  /* 13px */
		--font-size-smaller: 0.8125rem;/* 13px */

		--spacing-xl: 72px;
		--spacing-lg: 56px;
		--spacing-md: 45px;
		--spacing-sm: 28px;
		--spacing-xs: 18px;
		--padding: 90px;
	}
}

/* >= 1400px */
@media (min-width: 1400px) {
	:root {
		--vertical-spacing: 120px;
		--font-size-h1: 3.7rem;     /* 48px */
		--font-size-h2: 3rem; /* 38px */
		--font-size-h3: 2rem;     /* 32px */
		--font-size-h4: 1.75rem;  /* 28px */
		--font-size-h5: 1.375rem; /* 22px */
		--font-size-h6: 1.125rem; /* 18px */

		--font-size-normal: 1rem;        /* 16px */
		--font-size-small: 0.84375rem;   /* 13.5px */
		--font-size-smaller: 0.875rem;   /* 14px */

		--spacing-xl: 88px;
		--spacing-lg: 72px;
		--spacing-md: 50px;
		--spacing-sm: 36px;
		--spacing-xs: 20px;
		--padding: 150px;
	}
}

/* >= 1600px */
@media (min-width: 1600px) {
	:root {
		--vertical-spacing: 150px;
		--font-size-h1: 4.75rem;  /* 52px */
		--font-size-h2: 3.625rem; /* 42px */
		--font-size-h3: 2.25rem;  /* 36px */
		--font-size-h4: 1.875rem; /* 30px */
		--font-size-h5: 1.5rem;   /* 24px */
		--font-size-h6: 1.25rem;  /* 20px */

		--font-size-normal: 1rem;      /* 16px */
		--font-size-small: 0.875rem;   /* 14px */
		--font-size-smaller: 0.875rem; /* 14px */

		--spacing-xl: 100px;
		--spacing-lg: 80px;
		--spacing-md: 60px;
		--spacing-sm: 40px;
		--spacing-xs: 24px;
		--padding: 200px;
	}
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */


/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: black;
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: var(--font-size-normal);
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin: 0;
}

dfn,
cite,
em,
i {
	font-style: italic;
}


pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}


ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}


/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 1);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}



input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: black;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}


.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}


.updated:not(.published) {
	display: none;
}


/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}



/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: flex;
	width: fit-content;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}


.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.target-group-selector.desktop {
    display: flex;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
header#masthead{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 8000;
	width: 100%;
}
header#masthead .header-container {
	padding: 0 max(var(--padding), calc((100vw - var(--width)) / 2));
	padding-right: max(0px, calc((100vw - var(--width)) / 2));
}
header#masthead .header-container .header-container-inner {
	position: relative;
} 
.admin-bar header#masthead {
	top: 32px;
}
@media screen and (max-width: 782px) {
	.admin-bar header#masthead {
		top: 46px;
	}
}
.header-logo img {
	height: 38px;
	width: auto;
	margin-top: 5%;
}
.header-container-inner {
	display: flex;
	position: relative;
	align-items: center;
	gap: min(50px, var(--padding));
}
a.cta-button {
	text-decoration: none;
}
.cta-pack {
	display: flex;
	height: 70px;
	padding: 15px 30px;
	gap: 20px;
	align-items: center;
	/* background: linear-gradient(270deg, var(--color), color-mix(in srgb, var(--color) 70%, black), color-mix(in srgb, var(--color) 70%, white), var(--color)); */
	background: transparent;
	background-size: 400% 400%;
	animation: ctaGradientAnim 8s ease infinite;
	width: fit-content;
	flex: none;
	color: var(--color-cta-text);
}

/* @keyframes ctaGradientAnim {
	0% {
		background-position: 0% 50%;
		filter: brightness(1) saturate(1.2) blur(0px);
	}
	25% {
		background-position: 50% 60%;
		filter: brightness(1.05) saturate(1.4) blur(0);
	}
	50% {
		background-position: 100% 50%;
		filter: brightness(1.1) saturate(1.6) blur(0px);
	}
	75% {
		background-position: 50% 40%;
		filter: brightness(1.05) saturate(1.4) blur(0);
	}
	100% {
		background-position: 0% 50%;
		filter: brightness(1) saturate(1.2) blur(0px);
	}
} */
.header-navigation {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: end;
	align-items: stretch; 
	gap: min(50px, var(--padding));
	height: 100%;
	min-height: 0; /* Add this */
}
.header-navigation .main-navigation {
	min-height: 0; /* Add this */
}
.header-cta {
	flex: none;
}
.cta-additional-text {
	font-size: calc(0.7 * var(--font-size-smaller));
	line-height: 100%;
}
span.cta-title {
	font-size: var(--font-size-normal);
	line-height: 100%;
}

.cta-icon::after {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19.9947 20L16.3636 20L16.3636 3.63636L1.95134e-07 3.63636L2.38498e-07 -1.90735e-06L20 -1.66885e-06L19.9947 20Z' fill='white'/%3E%3Cpath d='M6 19.9993L6 14.0007L1.95134e-07 14.0007L6 19.9993Z' fill='white'/%3E%3C/svg%3E") no-repeat center;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19.9947 20L16.3636 20L16.3636 3.63636L1.95134e-07 3.63636L2.38498e-07 -1.90735e-06L20 -1.66885e-06L19.9947 20Z' fill='white'/%3E%3Cpath d='M6 19.9993L6 14.0007L1.95134e-07 14.0007L6 19.9993Z' fill='white'/%3E%3C/svg%3E") no-repeat center;
	background-color: white;
}

.btn--su-se-uni-global:first-child::after {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 20 20' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19.9947 20L16.3636 20L16.3636 3.63636L1.95134e-07 3.63636L2.38498e-07 -1.90735e-06L20 -1.66885e-06L19.9947 20Z' fill='white'/%3E%3Cpath d='M6 19.9993L6 14.0007L1.95134e-07 14.0007L6 19.9993Z' fill='white'/%3E%3C/svg%3E") no-repeat center;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 20 20' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M19.9947 20L16.3636 20L16.3636 3.63636L1.95134e-07 3.63636L2.38498e-07 -1.90735e-06L20 -1.66885e-06L19.9947 20Z' fill='white'/%3E%3Cpath d='M6 19.9993L6 14.0007L1.95134e-07 14.0007L6 19.9993Z' fill='white'/%3E%3C/svg%3E") no-repeat center;
	background-color: white;
}

.btn--su-se-uni-global:first-child {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 2px solid white !important;
}
ul.home-hero__values li {
    text-align: center;
}
.cta-icon.brand-icon::after {
	background-color: var(--color);
}

.cta-icon.white-icon::after {
	background-color: white;
}

.cta-content {
    display: flex;
    flex-direction: column;
}
nav#site-navigation {
    width: fit-content;
	height: 100%;
}
ul.nav-main-menu-menu {
    gap: 20px;
	flex-wrap: wrap !important;
	row-gap: 0px !important;
	justify-content: end;
}

			.target-group-selector {
				position: relative;
				flex: none;
			}
			.custom-dropdown {
				cursor: pointer;
			}
			.dropdown-options {
				display: none;
				position: absolute;
				width: 100%;
				z-index: 1000;
				top: calc(100% + 8px);
				left: 0;
			}
			.dropdown-options::before {
				content: "";
				position: absolute;
				top: 0;
				left: calc(50% - 8px);
				transform: translateY(-100%);
				width: 0;
				height: 0;
				border-left: 8px solid transparent;
				border-right: 8px solid transparent;
				border-bottom: 8px solid #fff; /* Change color as needed */
				z-index: 1001;
			}
			.dropdown-options::after {
				content: "";
				position: absolute;
				top: 0;
				left: calc(50% - 9px);
				transform: translateY(-100%);
				width: 0;
				height: 0;
				border-left: 9px solid transparent;
				border-right: 9px solid transparent;
				border-bottom: 9px solid rgba(0,0,0,0.06);
				z-index: 1000;
			}
			.custom-dropdown.active .dropdown-options {
				display: block;
			}
			.option {
				cursor: pointer;
			}
			.current-option {
				padding: 10px;
				color: white;
				display: flex;
				align-items: center;
				gap: 10px;
				background: #ffffff5c;
			}
			.option {
    padding: 10px;
    background: white;
}

ul.nav-main-menu-menu > li > a {
	color: white;
}

ul.nav-main-menu-menu > li > a {
	display: flex;
	height: 100%;
	align-items: center;
}
.target-group-selector {
    display: flex;
    align-items: center;
}
.nav-main-menu-wrapper {
    height: 100%;
}
ul.nav-main-menu-menu {
    gap: 20px;
    height: 100%;
}
.main-navigation ul li > ul, .main-navigation ul li > ul {
	padding: 0;
}
.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul, .main-navigation ul li > ul, .main-navigation ul li > ul {
    left: 0;
	top: 100%;
    width: 100%;
	height: 0px !important;
	z-index: -1;
	background-color: #edf0f4;
	transition-duration: 0.3s !important;
    border: none;
    box-shadow: none;
	overflow: hidden !important;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	backdrop-filter: blur(2px);
}

.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul, .main-navigation ul li.touched > ul {
	height: auto !important;
	padding: 0px;
}
.has-megamenu > ul.sub-menu > li:not(:hover) a {
    position: relative;
    height: 150px;
	background-color: var(--fade-background) !important; 
}
.has-megamenu > ul.sub-menu > li:hover a {
	color: white !important;
	transition-duration: 0.3s
}
.has-megamenu > ul.sub-menu > li a {
    position: relative;
    height: 150px;
    display: block;
    width: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
	justify-content: center;
	font-size: var(--font-size-normal);
	font-weight: 500;
}
.has-megamenu > ul.sub-menu > li a img {
	height: 50px;
	width: auto;
}
.has-megamenu > ul.sub-menu > li a {
	color: black !important;
}

.has-megamenu > ul.sub-menu > li a img {
	height: 50px;
	width: auto;
	transition: filter .2s ease, -webkit-filter .2s ease;
}

/* make the image appear white when the item is hovered */
.has-megamenu > ul.sub-menu > li:hover a img {
	-webkit-filter: grayscale(1) brightness(0) invert(1);
	filter: grayscale(1) brightness(0) invert(1);
}


li:not(.has-megamenu) {
	position: relative;
}
li:not(.has-megamenu) > .sub-menu {
	flex-direction: column;
	gap: 0;
	display: flex !important;
	width: 100%;
}

li:not(.has-megamenu) > .sub-menu a {
	padding: 10px 20px;
	text-decoration: none;
	width: 100%;
	color: black;
	background-color: white !important;
}
li:not(.has-megamenu) > .sub-menu a:hover {
	color: white;
	background-color: var(--color) !important; 
}

/* triangle pointer for simple sub-menus */
li:not(.has-megamenu) > .sub-menu {
	position: absolute; /* ensure the submenu is positioned */
}

/* white triangle pointing up (matches submenu bg) */
li:not(.has-megamenu) > .sub-menu::before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 8px); /* center the triangle */
	transform: translateY(-100%);
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #fff; /* change to match submenu background */
	z-index: 1001;
}

/* subtle shadow / border under the triangle for depth */
li:not(.has-megamenu) > .sub-menu::after {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 9px);
	transform: translateY(-100%);
	width: 0;
	height: 0;
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-bottom: 9px solid rgba(0,0,0,0.06);
	z-index: 1000;
}
li:not(.has-megamenu):hover > .sub-menu {
	overflow: visible !important;
	width: 100%;
}

@media screen and (max-width: 1920px){
	.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul, .main-navigation ul li > ul, .main-navigation ul li > ul {
		width: calc(100% - var(--padding));
	}
}

li.has-megamenu:hover > a::before, li.has-megamenu.touched > a::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid white;
}
li.has-megamenu:hover > a {
	position: relative;
}
li.has-megamenu.touched > a {
	position: relative;
}


@media screen and (max-width: 1600px){
	.header-navigation {
		gap: min(30px, var(--padding));
	}
	.cta-pack {
		height: 65px;
		padding: 10px 20px;
	}
	.header-logo img {
		height: 28px;
	}
	.current-option {
		padding: 7px 10px;
	}
}




@media screen and (min-width: 993px){
	.mobile {
		display: none !important;
	}
	.desktop {
		display: block;
	}
}
@media screen and (max-width: 992px){
	.mobile {
		display: block;
	} 
	.desktop {
		display: none !important;
	}
}


@media screen and (max-width: 992px){
	.header-navigation-wrapper-menu {
		position: fixed;
		padding: var(--padding);
		top: 0;
		left: -100%;
		z-index: -1;
		background: red;
		height: 100%;
		width: 100%;
		background: #f0f0f0;
	}
	.mobile-menu-opened .header-navigation-wrapper-menu {
		left: 0;
		transition-duration: 0.3s;
		overflow-y: auto;
		padding-top: calc(var(--padding) + 60px);
	}
	.mobile-menu-opened.admin-bar .header-navigation-wrapper-menu {
		left: 0;
		transition-duration: 0.3s;
		overflow-y: auto;
		padding-top: calc(var(--padding) + 60px + 32px);
	}
	.cta-pack {
		height: 50px;
		padding: 5px 15px;
	}
	ul.nav-main-menu-menu {
		flex-direction: column;
		gap: 0;
	}
	.cta-icon::after {
		height: 15px;
		width: 15px;
				mask-size: 15px 15px;
		-webkit-mask-size: 15px 15px;
	}
	ul.nav-main-menu-menu li a {
		color: black;
		padding: 10px;
	}
	.header-logo img {
		height: 25px;
	}
	
.mobile-menu-opened .header-logo img {
	filter: grayscale(1) brightness(1) invert(1);
}
.mobile-menu-opened header#masthead .header-container{
	background: white;
	transition-duration: 0.3s;
}
nav.main-navigation {
    height: 100%;
}
.header-logo a {
    display: flex;
}

button.menu-button {
    padding: 0;
    border-radius: 0;
    border: none;
    background: transparent;
}

button.menu-button {
	display: flex;
	gap: 5px;
	color: white;
	align-items: center;
	justify-content: end;
}

.menu-button-lines {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.menu-button-lines > div {
	height:3px;
	width: 30px;
	border-radius: 10px;
	background-color: white;
}
.menu-button-text {
	font-size: 8px;
	writing-mode: vertical-rl; /* or vertical-lr for the opposite direction */
	transform: rotate(180deg); /* Optional: to flip the text */
}
.mobile-menu-opened .menu-button-lines > div {
	height: 2px;
	width: 30px;
	border-radius: 10px;
	background-color: transparent;
	transition: transform .3s ease, opacity .2s ease, background-color .3s ease;
	transform-origin: center;
}

/* top bar -> rotate to form X */
.mobile-menu-opened .menu-button-lines > div:nth-child(1) {
	height: 2px;
	transform: translateY(7px) rotate(45deg);
	background-color: black;
}

/* middle bar -> fade out */
.mobile-menu-opened .menu-button-lines > div:nth-child(2) {
	height: 2px;
	opacity: 0;
	transform: translateX(-20px);
}

/* bottom bar -> rotate to form X */
.mobile-menu-opened .menu-button-lines > div:nth-child(3) {
	height: 2px;
	transform: translateY(-7px) rotate(-45deg);
	background-color: black;
}

.mobile-menu-opened .menu-button-text {
	color: black;
}

.mobile-menu-opened a {
	font-size: var(--font-size-h6);
}
.mobile-menu-opened ul.nav-main-menu-menu {
    justify-content: start;
	flex-wrap: nowrap !important;
}
.mobile-menu-opened nav#site-navigation {
	width: 100%;
}
.mobile-menu-opened ul.nav-main-menu-menu > li > a {
	height: auto;
}
.mobile-menu-opened ul.nav-main-menu-menu li a {
	border-bottom: 1px solid #e9e9e9;
}
.mobile-menu-opened .main-navigation ul li:hover > ul, .mobile-menu-opened .main-navigation ul li.focus > ul {
	position: relative;
	z-index: 1;
	height: auto !important;
	overflow: visible !important;
}
.mobile-menu-opened .main-navigation ul li:hover > ul, .mobile-menu-opened .main-navigation ul li.focus > ul {
	width: 100%;
}
.mobile-menu-opened .main-navigation ul li:hover > ul, .mobile-menu-opened .main-navigation ul li.focus > ul, .mobile-menu-opened .main-navigation ul li > ul, .mobile-menu-opened .main-navigation ul li > ul {
	/* width: calc(100% - calc(2 * var(--padding))); */
	top: 0;
}
.mobile-menu-opened .current-option {
    color: black !important;
}
.mobile-menu-opened .current-option {
	background-color: white;
}
		.header-extras {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 20px;
	}
.mobile-menu-opened nav#site-navigation {
	height: auto;
}
.mobile-menu-opened .mobile-cta-wrapper .cta-pack {
    width: 100%;
    max-width: 500px;
	        justify-content: space-between;
}
.mobile-menu-opened .mobile-cta-wrapper {
	margin-top: 20px;
}
.mobile-menu-opened ul.nav-main-menu-menu li a {
	padding-left: 0;
	padding-right: 0;
}
.menu-showed button.menu-button {
	color: white;
}
.menu-showed .menu-button-lines > div {
	background-color: white;
}
}

@media screen and (max-width: 782px) {
	.admin-bar .header-navigation-wrapper-menu {
		padding-top: calc(var(--padding) + 60px + 46px);
	}
}

.menu-showed header#masthead {
    /* box-shadow: 1px 1px 10px 0px #00000042; */
}

ul.nav-main-menu-menu > li > a {
    background: transparent !important;
}




					.language-selector {
						display: flex;
						align-items: center;
					}
					.language-selector .custom-dropdown {
						position: relative;
						cursor: pointer;
					}
					.language-selector .current-option {
						display: flex;
						align-items: center;
						gap: 6px;
						padding: 0;
						background-color: transparent;
						color: #fff;
						font-weight: 600;
					}
					.language-selector .lang-icon {
						display: flex;
						align-items: center;
					}
					.language-selector .dropdown-options {
						display: none;
						position: absolute;
						top: calc(100% + 8px);
						left: 0;
						background: #14A1E8;
						border-radius: 12px;
						box-shadow: 0 2px 8px rgba(0,0,0,0.08);
						z-index: 10;
						min-width: 80px;
					}
					.language-selector .custom-dropdown.active .dropdown-options {
						display: block;
					}
					.language-selector .option {
						display: flex;
						align-items: center;
						justify-content: center;
						gap: 6px;
						padding: 8px 16px;
						cursor: pointer;
						color: black;
						font-weight: 600;
						transition: background 0.2s;
					}
					.language-selector .option:hover {
						background: #0e7bbd;
					}

			


@media screen and (max-width: 450px){
.header-navigation > .header-cta {
	display: none;
}
button.menu-button {
	height: 50px;
	width: 50px;
}

}
header#masthead {
	transition-duration: 0.3s;
}
.menu-hidden:not(.mobile-menu-opened) header#masthead {
    top: -100px;
}
 

.menu-static header#masthead {
    top: 0;
}

.menu-static.admin-bar header#masthead {
	top: 32px;
}
@media screen and (max-width: 782px) {
	.menu-static.admin-bar header#masthead {
		top: 46px;
	}
}

.menu-showed header#masthead {
	top: 0;
	background-color: var(--color);
}
.menu-showed.admin-bar header#masthead {
	top: 32px;
}
@media screen and (max-width: 782px) {
	.menu-showed.admin-bar header#masthead {
		top: 46px;
	}
}

.menu-showed:not(.mobile-menu-opened) ul.nav-main-menu-menu li a {
	color: white;
}

.menu-showed .language-selector .current-option {
	color: white;
}

.menu-showed:not(.mobile-menu-opened) .header-logo img {
        filter: grayscale(1) brightness(1) invert(0);
    }

	.menu-showed .target-group-selector .current-option {
    color: white;
    background: #d6d6d65c;
}

.btn--su-se-uni-global {
	padding: 10px 20px;
	color: black;
	text-decoration: none;
	border-bottom: 1px solid black;
	width: fit-content;
	display: block;
	background-color: transparent;
}

.btn--su-se-uni-global:first-child {
	background-color: var(--color-brand);
    font-weight: 500;
    color: white;
    border-color: var(--color-brand);
    backdrop-filter: blur(4px);
}
.wizard-navigation .btn--su-se-uni-global:first-child {
	background-color: white !important;
	color: var(--color) !important;
	border-color: var(--color);
}
.wizard-navigation .btn--su-se-uni-global:first-child:after {
	background-color: var(--color) !important;
}
.btn-group-wrapper {
    display: flex;
    gap: 20px;
	row-gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: start;
}

.main-section {
	padding: 0 max(var(--padding), calc((100vw - var(--width)) / 2));
}



.main-section {
	padding: 0 max(var(--padding), calc((100vw - var(--width)) / 2));
	padding-top: var(--vertical-spacing);
	padding-bottom: var(--vertical-spacing);
}

.main-section.normal-spacing {
	/* Remove bottom padding when next sibling is also .main-section.normal-spacing */
}

.main-section.normal-spacing + .main-section.normal-spacing {
	padding-top: 0;
}

/* Ensure last .main-section.normal-spacing always has bottom padding */
.main-section.normal-spacing:last-child {
	padding-bottom: var(--vertical-spacing);
}

/* Handle cases where .main-section.normal-spacing is followed by regular .main-section */
.main-section.normal-spacing + .main-section.normal-spacing {
	padding-top: 0;
}



.global__mini-header {
    font-size: var(--font-size-small);
    color: var(--color);
	display: flex;
	opacity: 0.7;
	margin: 0;
	font-weight: 400;
	gap: 10px;
	line-height: 100%;
	align-items: center;
}

.global__mini-header::before {
	content: '';
	display: block;
	width: 50px;
	height: 1px;
	background-color: black;
}
.global__header {
	font-size: var(--font-size-h2);
	color: #1f1f1f;
	display: flex;
	align-items: center;
	margin: 0;
	gap: 10px;
	position: relative;
	line-height: 105%;
}

.global__header::before {
	content: none;
	position: absolute;
	left: 0;
	top: 0;
	display: inline-block;
	width: 15px;
	height: 100%;
	background-color: var(--color);
	border-radius: 0;
	--icon-width: 15px;
	width: var(--icon-width);
}
.global__header p {
	margin: 0;
}
/* .global__header strong {
    color: white;
    padding: 0 10px;
    background: var(--color);
} */

.global__header-wrapper {
	margin-bottom: var(--spacing-md);
}

.btn-group-wrapper {
	margin-top: 30px;
}


@media screen and (max-width: 600px){
    .global__mini-header::before {
        display: none;
        content: none;
    }
	.global__mini-header {
		margin-bottom: 5px;
	}
	.global__header::before {
		width: 10px;
	}
}

span.swiper-pagination-bullet {
    border-radius: 0;
    width: 30px;
	position: relative;
	background-color: var(--color);
    height: 20px;
}

span.swiper-pagination-bullet::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-bottom: 10px solid white;
}

body, html {
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}

.btn {
	cursor: pointer !important;
}

.global__header {
	font-weight: 400;
}

@media screen and (max-width: 1100px){
	span.swiper-pagination-bullet {
		height: 12px;
		margin-top: 10px !important;
	}
}
.footer-top {
    padding: 80px max(var(--padding), calc((100vw - var(--width)) / 2));
	background-color: var(--fade-background);
}
.footer-container {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: var(--spacing-md);
}
@media screen and (max-width: 1000px){
	.footer-container {
		grid-template-columns: 1fr 2fr;
	}
}
h3.footer-menu-title {
    margin: 0;
    font-weight: 500;
    font-size: var(--font-size-h6);
    color: black;
    padding-bottom: 10px;
    border-bottom: 1px solid #00000014;
    line-height: 100%;
    margin-bottom: 20px;
}



.footer-menus {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--spacing-md);
}

ul.footer-menu-list {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
ul.footer-menu-list a {
    text-decoration: none;
    color: #000000c4;
}
ul.footer-menu-list a:hover {
	color: var(--cta);
}
.footer-bottom {
    padding: 7px max(var(--padding), calc((100vw - var(--width)) / 2));
    background: var(--color);
	display: flex;
	justify-content: space-between;
	gap: 10px;
	color: white;
	flex-wrap: wrap;
}
.bottom-footer-container {
	display: flex;
	gap: 10px;
	width: 100%;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

@media screen and (max-width: 600px){
	.footer-container {
		grid-template-columns: 1fr;
	}
	.footer-container > .footer-column:first-child {
    max-width: 280px;
}
}
nav.navigation.post-navigation {
    display: none;
}


.entry-content > *:not(.block--custom) {
	padding: var(--spacing-md) max(var(--padding), calc((100vw - var(--width)) / 2));
}

nav#breadcrumbs {
    color: white;
    opacity: 0.7;
}
nav#breadcrumbs a {
    color: white;
    text-decoration: none;
}
header.entry-header {
    padding: 130px max(var(--padding), calc((100vw - var(--width)) / 2));
    padding-bottom: var(--spacing-md);
    background: var(--color);
}

h1.entry-title {
    font-size: var(--font-size-h2);
    color: white;
    font-weight: 500;
		padding-left: 20px;
		margin: 0;
	position: relative;
}

h1.entry-title::before {
	content: '';
	left: 0;
	top: 0;
	position: absolute;
	display: inline-block;
	width: 10px;
	height: 100%;
	background-color: white;
}
p#breadcrumbs {
    color: white;
	opacity: 0.7;
	margin-bottom: 10px;
}
p#breadcrumbs a {
	color: white;
	text-decoration: none;
}
.footer-logo {
    display: flex;
    margin-bottom: 20px;
}




.sticky-cta-wrapper {
    position: fixed;
    bottom: 50px;
    right: 50px;
    z-index: 9999;
}


.sticky-cta-button {
    background: var(--color);
	background-size: 400% 400%;
	animation: ctaGradientAnim 8s ease infinite;
	border: 2px solid white;
    color: white;
    padding: 15px 20px;
    border-radius: 0;
    cursor: pointer;
    min-width: 200px;
    height: 60px;
    overflow: hidden;
    font-weight: 500;
}
.sticky-cta-swiper {
    height: 100%;
}

.sticky-cta-wrapper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.sticky-cta-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10000;
    display: none;
}

.sticky-cta-overlay.active {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.sticky-cta-dropdown {
    width: 100%;
    max-width: 500px;
    border-radius: 0;
    position: relative;
	z-index: -1;
    animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(0);
    }
}

.sticky-cta-close {
    position: absolute;
    top: 15px;
    right: 20px;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
}

.sticky-cta-links {
    display: flex;
    flex-direction: column;
    padding-bottom: 15px;
    gap: 15px;
}

.sticky-cta-link img {
	width: 30px;
	height: 30px;
	object-fit: contain;
	display: block;
	background-color: var(--color);
	position: relative;
	vertical-align: middle;
}

/* Use a pseudo-element to overlay the color using the image src as mask */
.sticky-cta-link img[data-icon] {
	opacity: 0;
}

.sticky-cta-link img[data-icon] + .sticky-cta-icon-mask {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-color: var(--color);
	mask-image: attr(data-icon url);
	-webkit-mask-image: attr(data-icon url);
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-size: contain;
	-webkit-mask-size: contain;
	vertical-align: middle;
}

.sticky-cta-link {
    display: flex;
    align-items: center;
    gap: 15px;
    /* border: 1px solid var(--cta); */
    padding: 15px;
    text-decoration: none;
    color: black;
    border-radius: 10px;
    background-color: white;
    transition: background-color 0.3s;
    border-radius: 0;
}

.sticky-cta-link:hover {
    background-color: #f5f5f5;
}

.sticky-cta-icon {
    width: 30px;
    height: 30px;
    object-fit: contain;
}


@media screen and (max-width: 1200px) {
    .sticky-cta-wrapper {
        right: 20px;
        bottom: 20px;
    }
    .sticky-cta-button {
        min-width: 180px;
        height: 50px;
        padding: 10px 15px;
    }
}
@media screen and (max-width: 992px) {
    .sticky-cta-wrapper {
        right: var(--padding);
        bottom: var(--padding);
    }
}


/* .sticky-cta-button::after {
    content: "";
    display: block;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 20px solid white;
    display: inline-block;
    margin-left: 0px;
    transform: rotate(-45deg);
	z-index: -1;
    right: -10px;
    position: absolute;
    bottom: -10px;
}
.sticky-cta-button::before {
    content: "";
    display: block;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 36px solid white;
    display: inline-block;
    margin-left: 0px;
    transform: rotate(-45deg);
    z-index: -2;
    right: -18px;
    position: absolute;
    bottom: -16px;
} */

.type-produkty h1.entry-title {
    padding: 0px 20px;
    background: white;
    color: var(--color);
    text-align: center;
    width: fit-content;
	font-size: var(--font-size-h1);
}
.type-produkty header.entry-header {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
	min-height: 60vh;
}
.breadcrumbs * {
    color: white;
    text-decoration: none;
}
.breadcrumbs {
	opacity: 0.7;
}

/* .single-produkty header#masthead .header-container {
	background-color: white;
}
.single-produkty .header-logo img {
    filter: grayscale(1) brightness(1) invert(1);
}

.single-produkty ul.nav-main-menu-menu li a {
	color: black;
}

.single-produkty .language-selector .current-option {
	color: black;
}
.single-produkty .language-selector .current-option {
	color: black;
} */
.product-main-description {
    max-width: 600px;
    text-align: center;
    color: white;
    margin-top: 20px;
}

.siingle-tiles-60-40__tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px,  1fr));
	gap: 15px;
	row-gap: 10px;
}
.tiles-60-40__desc {
	margin-bottom: 20px;
}
.product-key-params__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}
.product-key-params__item {
	padding: 15px 20px;
	text-align: left;
	display: flex;
	align-items: center;
	font-size: var(--font-size-h4);
	background-color: var(--fade-background);
	color: black;
}

@media screen and (max-width: 992px) {
    .single-produkty .tiles-60-40__right {
        margin-left: 0;
        margin-right: 0;
        height: auto;
    }
	.single-produkty .tiles-60-40__multimedia {
		position: relative;
	}
	.single-produkty .entry-content .tiles-60-40:first-child .tiles-60-40__container {
		flex-direction: column-reverse;
		display: flex;
	}
}

.single-produkty .menu-button-lines > div {
	background-color: black;
}
.single-produkty .menu-button-text {
	color: black;
}
@media screen and (max-width: 450px){
	header#masthead .header-container {
		padding: 0 max(var(--padding), calc((100vw - var(--width)) / 2))
	}
}



.product-tech-params__table td {
    padding: 10px 20px;
}

.product-tech-params__table tr:nth-child(odd) {
	background-color: var(--fade-background);
}
section.product-key-params.main-section.block--custom {
    background: var(--fade-background);
	padding-top: var(--spacing-md);
	padding-bottom: var(--spacing-md);
}
.product-key-params__item {
	background-color: white;
}

.type-produkty header.entry-header {
	position: relative;
}

.type-produkty header.entry-header::before {
	content: "";
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.3) 100%);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.type-produkty header.entry-header > * {
    position: relative;
    z-index: 5;
}


@media screen and (min-width: 990px){
	.type-produkty .tiles-60-40__container {
		grid-template-columns: 6fr 5fr;
	}	
	.products-catalog__thumbnail-wrapper {
    padding: 20px;
}
}

.type-produkty header.entry-header {
	background-repeat: no-repeat;
	background-size: cover !important;
	background-position: left bottom;
	/* Kent Burn effect: zoom and move from left-bottom to right-top, then back again */
	animation: kentBurnZoomDiagonal 30s ease-in-out infinite;
	will-change: background-size, background-position;
}

@keyframes kentBurnZoomDiagonal {
	0% {
		background-size: 100%;
		background-position: left bottom;
	}
	50% {
		background-size: 110%;
		background-position: right top;
	}
	100% {
		background-size: 100%;
		background-position: left bottom;
	}
}

.home-hero__media img {
	width: 100%;
	object-fit: cover;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	animation: imgKentBurnZoomDiagonal 30s ease-in-out infinite;
	will-change: transform;
}

/* Custom Kent Burn effect for absolutely positioned image */
@keyframes imgKentBurnZoomDiagonal {
	0% {
		transform: scale(1) translate(0, 0);
	}
	50% {
		transform: scale(1.3) translate(20px, -20px);
	}
	100% {
		transform: scale(1) translate(0, 0);
	}
}

.type-produkty .entry-content > section.tiles-60-40:first-child .tiles-60-40__multimedia img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.type-produkty .entry-content > section.tiles-60-40 .tiles-60-40__multimedia img {
    width: 100%;
	aspect-ratio: 1/1;
    height: 100%;
}

.type-produkty .entry-content > section.tiles-60-40:nth-child(even) .tiles-60-40__container {
	direction: rtl;
}
.type-produkty .entry-content > section.tiles-60-40:nth-child(even) .tiles-60-40__left {
	direction: ltr;
}

.type-produkty .entry-content > section.tiles-60-40 .tiles-60-40__right::before, .type-produkty .entry-content > section.tiles-60-40 .tiles-60-40__right::after {
	display: none;
}


.home-hero__media {
    overflow: hidden;
}

a.custom-logo-link {
	display: flex;
}

.cta-pack.cta-icon {
    position: relative;
}
.cta-pack.cta-icon::before {
	content: "";
	z-index: -1;
	/* background: linear-gradient(270deg, var(--color), color-mix(in srgb, var(--color) 70%, black), color-mix(in srgb, var(--color) 70%, white), var(--color)); */
	background-color: var(--color-brand);
	background-size: 400% 400%;
	animation: ctaGradientAnim 8s ease infinite;
	display: block;
	height: 101%;
	left: -20px;
	position: absolute;
	top: 0;
	width: calc(100% + max(20px, calc(((100vw - var(--width)) / 2) + 20px)));
	/* Clip by triangle in top right corner */
	clip-path: polygon(
		20px 0, 
		100% 0, 
		100% 70px, 
		100% 100%, 
		0 100%, 
		0 70px
	);
}

section {
	background-color: var(--background-light);
	position: relative;
	z-index: 1;
}
.header-cta {
	position: relative;
}

.typing-animation p {
	visibility: hidden;
}


.mobile-cta-wrapper.mobile .cta-pack.cta-icon::before {
    left: 0;
    top: 0;
    width: 100%;
    clip-path: none;
}

.home-hero-end-bar {
	display: none !important;
}
.global__header-wrapper {
	position: relative;
}
/* .global__header-wrapper::before {
	content: "";
	z-index: -1;
	display: block;
	background-color: var(--color);
	position: absolute;
	left: calc(-1 * max(var(--padding), calc((100vw - var(--width)) / 2)));
	width: calc(max(var(--padding), calc((100vw - var(--width)) / 2)) - 10px);
	height: 100%;
} */
section {
    overflow: hidden !important;
}
footer#colophon {
    position: relative;
    z-index: 5;
}

.aos-init {
	opacity: 0 !important;
	transition-duration: 5s;
}
.aos-init.aos-animate {
	opacity: 1 !important;
}

.map-block__right path {
	-webkit-text-stroke-color: color-contrast(var(--color) vs white, black);
	stroke-width: 1px;
}


.blog-single-wrapper {
    padding: var(--spacing-md) max(var(--padding), calc((100vw - 1200px) / 2));
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 50px;
}
@media screen and (max-width: 950px){
	.blog-single-wrapper {
		grid-template-columns: 1fr;
	}
}
.blog-single-wrapper .entry-content>*:not(.block--custom) {
	padding: 0;
}

.blog-single-wrapper ul, .blog-single-wrapper ol {
	padding-left: 20px !important;
}

.single-post .offer__header-pagination-wrapper {
	display: none;
}

@media screen and (max-width: 900px){
	.main-navigation ul li:hover>ul, .main-navigation ul li.focus>ul, .main-navigation ul li>ul, .main-navigation ul li>ul {
		grid-template-columns: repeat(auto-fit,minmax(140px, 1fr));
	}
}
.menu-item-object-oferta {
    text-align: center;
}

.block--contact-form .wizard-navigation button {
    color: white !important;
}
.block--contact-form .wizard-navigation .btn--su-se-uni-global:first-child:after {
	background-color: white;
}


.home-hero__social {
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.home-hero__social > a {
	display: flex;
	height: 50px;
	width: 50px;
	padding: 10px;
	border: 1px solid white;
}
.home-hero__social > a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
/* @media screen and (max-width: 991px){ */
	.home-hero__social {
		position: unset;
		transform: none;
		flex-direction: row;
		justify-content: center;
		margin-top: 20px;
	}
	.home-hero__social > a {
		height: 40px;
		width: 40px;
	}
/* } */

.contact-form__buttons-wrapper {
    max-width: 600px;
}




.footer-sticky-links {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.footer-sticky-links a img {
	width: 55px;
	height: auto;
}
.footer-sticky-cta {
	position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
}
.footer-sticky-cta .footer-sticky-link>span {
    display: none;
    position: absolute;
    top: 50%;
    transform: translate(-100%, -50%);
    left: -20px;
}
.footer-sticky-cta .footer-sticky-link:hover > span {
	display: block;
	font-weight: 500;
}
.footer-sticky-cta .footer-sticky-link {
	position: relative;
	background-color: rgba(0, 0, 0, 0.8);
	backdrop-filter: blur(4px);
	padding: 5px;
	display: flex;
	border: 2px solid white;
}
@media screen and (max-width: 786px){
	.footer-sticky-links a img {
	width: 35px;
	height: auto;
}
}

.home-hero__title em {
	margin-bottom: 10px;
}

p + p {
	margin-bottom: 10px;
}