@charset "UTF-8";

/*
		StudioFabryka.pl
		wordpress theme ornsson2025
		2025-03
*/

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

	/* COLORS */
	--primary-color: hsl(35 33% 69%);
	--primary-color-light: hsl(35 33% 79%);
	--primary-color-dark: hsl(35 33% 59%);

	--blue-color: hsl(206 65% 65%);
	--red-color: hsl(8 80% 59%);
	--green-color: hsl(84 47% 59%);

	--blue-light-color: hsl(206 65% 65% / .24);
	--red-light-color: hsl(8 80% 59% / .24);
	--green-light-color: hsl(84 47% 59% / .24);

	--bs-link-color: var(--primary-color);
	--bs-link-color-rgb: 202, 180, 150;
	--bs-link-hover-color: var(--primary-color-light);
	--bs-link-hover-color-rgb: 219, 204, 184;
	--bs-light: hsl(34 33% 96%);
	--bs-light-rgb: 248, 245, 241;
	--bs-primary-rgb: 202, 180, 150;

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

	/* SIZES */
	--bs-nav-link-font-size: 1rem;
	--bs-body-line-height: 1.69em;

	--h1: clamp(2.75rem, 4vw, 4.29375rem);
	--h2: clamp(2.2rem, 3.5vw, 3.43125rem);
	--h3: clamp(1.75625rem, 2.75vw, 2.75rem);
	--h4: clamp(1.40625rem, 2.2vw, 2.2rem);
	--h5: clamp(1.25rem, 1.7vw, 1.75625rem);
	--h6: clamp(1.15rem, 1.5vw, 1.40625rem);

	--lead: var(--h6);

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

	--inline-fluid-padding: clamp(.5rem, 2dvw, 2rem);

	--navbar-height: 210px;
}

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

html {
	scroll-padding-top: 100px;
}

body {
	--bs-body-font-family: var(--font);
	--bs-body-font-size: 1.125rem;
	padding-top: var(--navbar-height);
	font-weight: 300;
}


.title-font {
	font-family: var(--title-font);
}

.children-bg-light .elementor-post__card {
	background-color: var(--bs-light) !important;
	color: var(--bs-body-color) !important;
}

.ornsson-learning {
	--primary-color: hsl(206 65% 65%);
	--primary-color-light: hsl(206 65% 75%);
	--primary-color-dark: hsl(206 65% 55%);

	--bs-light: var(--blue-light-color);

	--bs-primary-rgb: 108, 173, 224;
	--e-global-color-primary: var(--primary-color) !important;
	--e-global-color-accent: var(--primary-color) !important;

	--default-primary: hsl(35 33% 69%);

	& .color-default-primary {
		color: var(--default-primary);
	}

	& .bg-light {
		background: var(--blue-light-color) !important;
	}

	& .swiper-wrapper .swiper-slide:nth-of-type(even) .bg-light {
		border: 6px solid var(--primary-color);
		background: white !important;
	}

	& footer {
		--primary-color: hsl(35 33% 69%);
		--primary-color-light: hsl(35 33% 79%);
		--primary-color-dark: hsl(35 33% 59%);
	}

	& nav+.elementor>.elementor-element:first-child {
		position: relative;

		&::after {
			content: '';
			display: block;
			position: absolute;
			bottom: 0;
			right: 0;
			background-color: white;
			width: 20vw;
			min-width: 150px;
			height: auto;
			aspect-ratio: 8.5 / 4;
			background-image: url(../img/logo-learning.svg);
			background-size: calc(100% - 4rem) auto;
			background-repeat: no-repeat;
			background-position: center;
		}
	}

}

.ornsson-outsourcing {
	--primary-color: hsl(84 47% 59%);
	--primary-color-light: hsl(84 47% 69%);
	--primary-color-dark: hsl(84 47% 49%);

	--bs-light: var(--green-light-color);

	--bs-primary-rgb: 160, 200, 101;
	--e-global-color-primary: var(--primary-color) !important;
	--e-global-color-accent: var(--primary-color) !important;

	--default-primary: hsl(35 33% 69%);

	& .color-default-primary {
		color: var(--default-primary);
	}

	& footer {
		--primary-color: hsl(35 33% 69%);
		--primary-color-light: hsl(35 33% 79%);
		--primary-color-dark: hsl(35 33% 59%);
	}

	& nav+.elementor>.elementor-element:first-child {
		position: relative;

		&::after {
			content: '';
			display: block;
			position: absolute;
			bottom: 0;
			right: 0;
			background-color: white;
			width: 20vw;
			min-width: 150px;
			height: auto;
			aspect-ratio: 8.5 / 4;
			background-image: url(../img/logo-outsourcing.svg);
			background-size: calc(100% - 4rem) auto;
			background-repeat: no-repeat;
			background-position: center;
		}
	}
}

.ornsson-sqoly {
	--primary-color: hsl(8 80% 59%);
	--primary-color-light: hsl(8 80% 69%);
	--primary-color-dark: hsl(8 80% 49%);

	--bs-light: var(--red-light-color);

	--bs-primary-rgb: 234, 89, 67;
	--e-global-color-primary: var(--primary-color) !important;
	--e-global-color-accent: var(--primary-color) !important;

	--default-primary: hsl(35 33% 69%);

	& .color-default-primary {
		color: var(--default-primary);
	}

	& footer {
		--primary-color: hsl(35 33% 69%);
		--primary-color-light: hsl(35 33% 79%);
		--primary-color-dark: hsl(35 33% 59%);
	}

	& nav+.elementor>.elementor-element:first-child {
		position: relative;

		&::after {
			content: '';
			display: block;
			position: absolute;
			bottom: 0;
			right: 0;
			background-color: white;
			width: 20vw;
			min-width: 150px;
			height: auto;
			aspect-ratio: 8.5 / 4;
			background-image: url(../img/logo-sqoly.svg);
			background-size: calc(100% - 4rem) auto;
			background-repeat: no-repeat;
			background-position: center;
		}
	}
}

strong,
b {
	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(--title-font);
	margin-bottom: 1rem;
	font-weight: 400;
}

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,
.tinymce_html h1,
.tinymce_html .h1 {
	font-size: var(--h1) !important;
}

h2,
.h2,
.tinymce_html h2,
.tinymce_html .h2 {
	font-size: var(--h2) !important;
}

h3,
.h3,
.tinymce_html h3,
.tinymce_html .h3 {
	font-size: var(--h3) !important;
}

h4,
.h4,
.tinymce_html h4,
.tinymce_html .h4 {
	font-size: var(--h4) !important;
}

h5,
.h5,
.tinymce_html h5,
.tinymce_html .h5 {
	font-size: var(--h5) !important;
}

h6,
.h6,
.tinymce_html h6,
.tinymce_html .h6 {
	font-size: var(--h6) !important;
}

h2.wp-block-heading {
	font-size: var(--h3) !important;
}

h3.wp-block-heading {
	font-size: var(--h4) !important;
}

h4.wp-block-heading {
	font-size: var(--h5) !important;
}

h5.wp-block-heading {
	font-size: var(--h6) !important;
}

h6.wp-block-heading {
	font-size: var(--bs-body-font-size) !important;
}

.lead {
	font-size: var(--lead);
}

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

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

@media (max-width: 1639px) {
	.container {
		max-width: 100%;
		padding-inline: var(--inline-fluid-padding);
	}
}

/* breakpointy elementora */
@media (max-width: 1639px) {

	.elementor-template-full-width .ps-xl,
	.elementor-template-full-width .ps-xxl {
		padding-left: 2rem !important;
	}

	.elementor-template-full-width .pe-xl,
	.elementor-template-full-width .pe-xxl {
		padding-right: 2rem !important;
	}


	.elementor-template-full-width .py-xl {
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
	}


	.elementor-template-full-width .py-xxl {
		padding-top: 4rem !important;
		padding-bottom: 4rem !important;
	}

	.elementor-template-full-width .p-xl,
	.elementor-template-full-width .p-xxl {
		padding: 2rem;
	}
}

@media (max-width: 1199px) {}

@media (max-width: 766px) {

	.elementor-template-full-width .ps-xl,
	.elementor-template-full-width .ps-xxl,
	.elementor-template-full-width .pe-xl,
	.elementor-template-full-width .pe-xxl {
		padding-right: 0rem !important;
		padding-left: 0rem !important;
	}
}



.inset-0 {
	inset: 0;
}

.p-xxl {
	padding: var(--xxl) !important;
}

.p-xl {
	padding: var(--xl) !important;
}

.px-xxl {
	padding-inline: var(--xxl) !important
}

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

.pt-xxl {
	padding-top: var(--xxl);
}

.pt-2xxl {
	padding-top: calc(var(--xxl) * 2);
}

.pb-xxl {
	padding-bottom: var(--xxl);
}

.pb-2xxl {
	padding-bottom: calc(var(--xxl) * 2);
}

.pe-xxl {
	padding-inline-end: var(--xxl) !important;
}

.ps-xxl {
	padding-inline-start: var(--xxl) !important;
}

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

.ps-xl {
	padding-inline-start: var(--xl);
}

.pe-xl {
	padding-inline-end: var(--xl);
}

.mt-xl {
	margin-top: var(--xl) !important;
}

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

.ms-xl {
	margin-inline-start: var(--xl);
}

.me-xl {
	margin-inline-end: var(--xl);
}

.my-xl {
	margin-top: var(--xl);
	margin-bottom: var(--xl);
}


/* minusowe */
.mt-minus-xxl {
	margin-top: calc(-1*var(--xxl)) !important;
}

.mb-minus-xxl {
	margin-bottom: calc(-1*var(--xxl)) !important;
}

.my-minus-xxl {
	margin-top: calc(-1*var(--xxl)) !important;
	margin-bottom: calc(-1*var(--xxl)) !important;
}

.mt-minus-xl {
	margin-top: calc(-1*var(--xl)) !important;
}

.mb-minus-xl {
	margin-bottom: calc(-1*var(--xl)) !important;
}

.ms-minus-xl {
	margin-inline-start: calc(-1*var(--xl)) !important;
}

.me-minus-xl {
	margin-inline-end: calc(-1*var(--xl)) !important;
}

.my-minus-xl {
	margin-top: calc(-1*var(--xl)) !important;
	margin-bottom: calc(-1*var(--xl)) !important;
}



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

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


.blue-text,
.text-learning {
	color: var(--blue-color);
}

.red-text,
.text-sqoly {
	color: var(--red-color);
}

.green-text,
.text-outsourcing {
	color: var(--green-color);
}

.blue-bg,
.bg-learning {
	background-color: var(--blue-color);
}

.red-bg,
.bg-sqoly {
	background-color: var(--red-color);
}

.green-bg,
.bg-outsourcing {
	background-color: var(--green-color);
}

.blue-accent,
.accent-learning {

	& em,
	& a:hover,
	& a:focus {
		color: var(--blue-color);
	}
}

.red-accent,
.accent-sqoly {

	& em,
	& a:hover,
	& a:focus {
		color: var(--red-color);
	}
}

.green-accent,
.accent-outsourcing {

	& em,
	& a:hover,
	& a:focus {
		color: var(--green-color);
	}
}





/*  MARK: navbar  */

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

.navbar .container {
	height: 90px;
	transition: height 200ms;
}

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

.navbar.affix .container {
	height: 45px;
}

.navbar-brand {
	margin: 0;
	padding: 0;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

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

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

.navbar-nav .nav-link {
	font-weight: 400;
	font-size: 1.125rem;
	border-radius: .25rem;

	&::after {
		display: none;
	}

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

.dropdown-menu {
	border: 0;
	min-width: 280px;
	padding: .75rem;
	border-radius: .25rem;
	background-color: black;
}

.dropdown-item {
	color: white;
	white-space: normal !important;
	line-height: 1.4;
	padding: 0.25rem .5rem;
	border-radius: .25rem;
	transition: color 200ms, background-color 200ms;
}

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

#menu-item-214 {

	& .dropdown-item:hover,
	& .dropdown-item:focus,
	& .dropdown-item.active {
		color: black;
		background-color: var(--blue-color);
	}
}

#menu-item-228 {

	& .dropdown-item:hover,
	& .dropdown-item:focus,
	& .dropdown-item.active {
		color: black;
		background-color: var(--green-color);
	}
}

#menu-item-231 {

	& .dropdown-item:hover,
	& .dropdown-item:focus,
	& .dropdown-item.active {
		color: black;
		background-color: var(--red-color);
	}
}


/*
MARK: Special dropdown
*/

.navbar:has(.navbar-nav > li:first-child > .dropdown-menu.show) {
	background-color: black;

	& .navbar-nav .nav-link {
		color: white;

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

	& .langs .dropdown-toggle::after {
		filter: invert(1);
	}
}

.navbar-nav>li:first-child {
	position: unset;
}

.navbar-nav>li:first-child>.dropdown-menu {
	width: 100dvw;
	top: 152px;
	border-radius: 0;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;

	&::after {
		content: '';
		width: 370px;
		height: 370px;
		position: absolute;
		bottom: -2.4rem;
		right: calc(15px + (100dvw - 1620px)/2);
		background-image: url(../img/dropdown-bg-default.png);
		transition: background-image 400ms, opacity 400ms;
	}

	& .dropdown {
		width: 25%;
		max-width: 25%;
	}

	& .dropdown-item em {
		font-style: normal;
		color: var(--primary-color);
	}

	& .dropdown-item:has(em) {
		font-size: var(--h5);
		font-weight: bold;
		margin-bottom: 1rem;
		touch-action: none;
		pointer-events: none;
	}

	&>.dropdown>[href*="learning"] em {
		color: var(--blue-color);
	}

	&>.dropdown>[href*="outsourcing"] em {
		color: var(--green-color);
	}

	&>.dropdown>[href*="sqoly"] em {
		color: var(--red-color);
	}
}

.affix .navbar-nav>li:first-child>.dropdown-menu {
	top: 59px;
}

@keyframes fade-in {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.navbar-nav>li:first-child>.dropdown-menu:has(.dropdown:first-child:hover, .dropdown:first-child:focus) {
	&::after {
		background-image: url(../img/dropdown-bg-blue.png);
	}
}

.navbar-nav>li:first-child>.dropdown-menu:has(.dropdown:nth-child(2):hover, .dropdown:nth-child(2):focus) {
	&::after {
		background-image: url(../img/dropdown-bg-green.png);
	}
}

.navbar-nav>li:first-child>.dropdown-menu:has(.dropdown:nth-child(3):hover, .dropdown:nth-child(3):focus) {
	&::after {
		background-image: url(../img/dropdown-bg-red.png);
	}
}

@media (min-width: 1640px) {
	.navbar-nav>li:first-child>.dropdown-menu {
		padding-inline: calc(15px + (100dvw - 1620px)/2);
	}
}

.navbar-nav>li:first-child>.dropdown-menu.show {
	display: flex;
	gap: 30px;
	min-height: 370px;

	& .dropdown-menu {
		padding: 0;
		display: block;
		position: relative;
	}
}

.langs .dropdown-toggle {
	padding-right: 1.5rem;
	position: relative;
	flex-shrink: 0;
	display: block;
}

.langs .dropdown-toggle::after {
	margin: 0;
	padding: 0;
	vertical-align: auto !important;

	position: absolute;
	right: 0 !important;
	top: 50% !important;
	transform: translateY(-50%);
	width: 16px;
	height: 8px;
	border: 0;
	background-image: url(../img/drop.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.langs .dropdown-menu {
	min-width: 100px;
}

.langs .dropdown-menu li + li {margin-top: 5px;}


/*  MARK: header  */

header {
	isolation: isolate;
	position: relative;

	&::after {
		content: '';
		width: 100%;
		height: 100px;
		position: absolute;
		bottom: 0;
		left: 0;
		background-color: black;
		z-index: -1;
	}

	.col-lg-6.pe-xxl {
		padding-bottom: 100px;
	}
}

header .swiper-slide,
header .col-lg-6+.col-lg-6,
nav+.elementor-element,
#header {
	background-color: white;
	& .header-wrapper-for-img,
	& :not(.header-wrapper-for-img) img {
		width: 50vw;
		object-fit: cover !important;
		height: calc(100dvh - var(--navbar-height)) !important;
	}
}

#header img {
	max-width: 50vw !important;
}

#header img.wp-image-1742 {
	width: 200px !important;
	height: 200px !important;
}

header .btn-primary,
nav+.elementor .btn-primary {
	font-weight: bold;
	color: white;

	& * {
		color: inherit !important;
		font-weight: inherit !important;
	}
}

header .btn-primary+.btn-primary,
nav+.elementor .btn-primary+.btn-primary {
	font-weight: bold;
	color: var(--primary-color) !important;
	background-color: var(--bs-light);
	border-color: var(--bs-light);
	border: 0;

	& * {
		color: inherit !important;
		font-weight: inherit !important;
		border-color: inherit !important;
	}

	&:hover,
	&:focus {
		color: white !important;
		background-color: var(--primary-color);
		border-color: var(--primary-color);
	}
}

.archive header::after {
	display: none;
}


/*  MARK: main content */

.btn {
	--bs-btn-padding-x: 1.75rem;
	--bs-btn-padding-y: .875rem;
	--bs-btn-font-size: 1.125rem;
	--bs-btn-font-weight: 700;
	--bs-btn-line-height: 1.5;

	& .elementor-button {
		padding: 0 !important;
		margin: 0 !important;
	}
}

.btn-sm {
	--bs-btn-padding-x: 1rem;
	--bs-btn-padding-y: .5rem;
	--bs-btn-font-size: .875rem;
}

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

.btn-light {
	color: var(--bs-body-color) !important;
}


#firma {
	position: relative;
}

#firma blockquote {
	position: absolute;
	z-index: 2;
	bottom: var(--xl);
	left: 45%;
	padding: var(--xl);
	width: 467px;
	background-color: hsl(35 19% 32%);

	& em {
		font-size: var(--lead);
		margin-bottom: 1rem;
		line-height: 1.5;
	}

	& strong {
		font-weight: normal !important;
	}
}


.box-logo {
	width: 50%;
}

.box-overlay {
	background-image: linear-gradient(to top, hsl(0 0% 0% / .8) 0%, transparent 70%);
	transition: background-image 300ms;

	&::after {
		content: '';
		display: block;
		border: 3rem solid transparent;
		border-bottom-color: var(--leading-color);

		position: absolute;
		top: -6rem;
		right: -6rem;
		opacity: 0;
		z-index: 2;
		transform: rotate(45deg);

		transition: opacity 300ms, top 300ms, right 300ms;
	}
}

.box-description {
	height: 0;
	overflow: hidden;
	display: block;

	transition: height 300ms;
}

.box-bg {
	transition: filter 300ms;
}

.box:hover,
.box:focus {
	& .box-description {
		height: 8.5em;
	}

	& .box-bg {
		filter: blur(.5rem);
	}

	& .box-overlay {
		background-image: linear-gradient(to top, hsl(0 0% 0% / .6) 100%, transparent 100%);

		&::after {
			opacity: 1;
			top: -3rem;
			right: -3rem;
		}
	}
}


#liczby .col+.col {
	border-left: 1px solid hsl(35 27% 78%);
}

#wartosc .swiper-button-prev,
#wartosc .swiper-button-next {
	padding: 0;
	margin: 0;
	width: 72px;
	height: 72px;
	top: auto !important;
	bottom: 1.15rem !important;
	transition: transform 300ms;

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

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

#wartosc .swiper-button-prev {
	right: 50% !important;
	left: auto !important;
}

#wartosc .swiper-button-next {
	left: 50% !important;
	right: auto !important;
}


.zysk-box {
	background-color: #181612;
}

.zysk-box-light {
	background-color: #D6C9B7;
}

.zysk-box .elementor-icon-box-description {
	color: white !important;
}

.zysk-box-light .elementor-icon-box-description {
	color: black !important;
}

.zysk-box-icon,
.zysk-box .elementor-icon-box-icon .elementor-icon {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	/*border: 1px solid hsl(37 14% 23%);*/
}

.zysk-box-light .zysk-box-icon,
.zysk-box-light .elementor-icon-box-icon .elementor-icon {

	display: flex;
	align-items: center;
	justify-content: center;
	/*border: 1px solid hsl(42, 5%, 63%);*/
}


.card .badge {
	position: absolute;
	top: .5rem;
	left: .5rem;

	background-color: var(--primary-color);
	color: white;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: normal;
	border-radius: 0;
	font-size: 0.75rem;
}

.card-img-top a.position-relative {
	overflow: hidden;

	& img {
		transition: transform 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
	}

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

.card-img-top img {
	width: 100%;
	height: auto !important;
	aspect-ratio: 360/246;
	object-fit: cover;
}


.card .badge[href*="zakres-szkolen"] {
	background-color: var(--blue-color);
}

.card .badge[href*="trendy"] {
	background-color: var(--green-color);
}

.card .badge[href*="raporty"] {
	background-color: var(--red-color);
}

.card-title-link {
	text-decoration: none;
	color: black;
}

.excerpt-clamp {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}



/*  MARK: stopka */

footer .form-control {
	background-color: black;
	color: white !important;
	border-color: hsl(0 0% 100% / .2);

	&::placeholder {
		color: white;
		opacity: 1;
		transition: opacity 200ms;
	}

	&:hover {
		&::placeholder {
			opacity: .5;
		}
	}

	&:focus {
		background-color: black;
		border-color: var(--primary-color);

		&::placeholder {
			opacity: .2;
		}
	}
}

footer textarea {
	height: 250px;
}

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  */

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

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

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

.error-msg {
	color: red;
}


.sygnet-bg {
	position: relative !important;
	isolation: isolate;
	background-color: transparent;
}

.sygnet-bg::before {
	content: '' !important;
	display: block !important;
	background-image: url(../img/sygnet-default.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;

	position: absolute;
	width: 95% !important;
	inset: 0;
	z-index: -1;
	opacity: .12 !important;

}

.ornsson-learning .sygnet-bg::before {
	background-image: url(../img/sygnet-learning.svg);
}

.ornsson-outsourcing .sygnet-bg::before {
	background-image: url(../img/sygnet-outsourcing.svg);
}

.ornsson-sqoly .sygnet-bg::before {
	background-image: url(../img/sygnet-sqoly.svg);
}


.elementor-icon-box-icon:not(.zysk-box .elementor-icon-box-icon) {
	/*border: 1px solid var(--bs-border-color);
	border-radius: 50%;
	padding: 1rem;*/
	aspect-ratio: 1/1;
	max-width: 72px;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	& .elementor-icon {
		width: 90%;
		height: auto;

		& svg {
			width: 100%;
			height: auto;
		}
	}
}

.elementor-icon-box-icon:not(.zysk-box .elementor-icon-box-icon) svg {
	width: 100%;
	height: 100%;
}

.ornsson-learning .elementor-icon-box-icon {
	border-color: var(--blue-color);
}

.ornsson-outsourcing .elementor-icon-box-icon {
	border-color: var(--green-color);
}

.ornsson-sqoly .elementor-icon-box-icon {
	border-color: var(--red-color);
}

.wp-singular header::after {
	display: none;
}

.wp-singular header {
	& .col-lg-6.pe-xxl {
		padding-bottom: 0;
	}
}

body:has(.member-popup.d-flex) {
	overflow: hidden;
}

.member {
	cursor: pointer;
	display: none;

	& .h5 {
		line-height: 1;
	}
}

.member-popup {
	z-index: 99999;

	& a {
		text-decoration: none;
	}
}

.member-popup blockquote {
	border-left: 6px solid var(--primary-color);
	padding-left: 1.5rem;
	line-height: 1.5;
	margin-bottom: 1.5rem;
}

.member-popup-content {
	background-color: white;
	padding: 1.5rem;
	box-shadow: 0 1rem 2rem -0.5rem hsl(0 0% 0% / .2);
	width: 700px;
	max-width: 90vw;
	max-height: 80dvh;
	overflow-y: auto;
}

.member-popup-content blockquote {
	font-size: var(--h5);
	color: var(--primary-color);
	font-style: italic;
}

.member-popup-close {
	position: absolute;
	top: -15px;
	right: -15px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: white;
	color: black;
	font-weight: bold;
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.member-popup-overlay {
	background-color: hsl(0 0% 0% / .5);
	z-index: -1;
	inset: 0;
	position: fixed;
}


/* MARK: paginacja */

.nav-links {
	width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: center !important;

	& .page-numbers {
		border: 1px solid var(--bs-border-color);
		padding: 0.5rem 1rem;
		display: block;
		color: var(--bs-body-color);
		text-decoration: none;

		&.current {
			background-color: var(--bs-light);
			color: var(--bs-body-color);
		}

		&+.page-numbers {
			border-left: 0;
		}

		&:first-child {
			border-radius: .5rem 0 0 .5rem;
		}

		&:last-child {
			border-radius: 0 .5rem .5rem 0;
		}
	}
}


/* MARK: elementor overrides */

.sub-header {
	gap: 0;
}

.elementor-widget-button .elementor-button {
	background-color: inherit !important;
}


.elementor-element-f692f31 .e-widget-swiper {
	counter-reset: slide-counter;

	& .swiper-slide {
		position: relative;

		&::after {
			content: counter(slide-counter);
			counter-increment: slide-counter;
			position: absolute;
			top: 1.5rem;
			right: 1.5rem;
			left: auto;
			background-color: hsl(0 0% 0% / .5);
			color: white;
			width: 3rem;
			height: 3rem;
			border-radius: 50%;
			font-size: 1.25rem;
			display: flex;
			align-items: center;
			justify-content: center;
			z-index: 99999;
			line-height: 1;
			backdrop-filter: blur(8px);
		}
	}

	& .elementor-widget-text-editor {
		line-height: 1.29;
	}
}

.elementor-element-e0e2e5c.elementor-widget-loop-carousel.e-widget-swiper {
	counter-reset: slide-number;

	& .elementor-element.e-con-boxed {
		position: relative;
		aspect-ratio: 795/530;

		&::before {
			content: counter(slide-number);
			counter-increment: slide-number;
			position: absolute;
			top: 1.5rem;
			right: 1.5rem;
			left: auto;
			background-color: hsl(0 0% 0% / .5);
			color: white;
			width: 2.5rem;
			height: 2.5rem;
			border-radius: 50%;
			font-size: 1.25rem;
			display: flex;
			align-items: center;
			justify-content: center;
			z-index: 99999;
		}

		& * {
			margin: 0;
			padding: 0;
		}

		& img {
			position: relative;
			z-index: 1;
			width: 100%;
			height: 100%;
			object-fit: cover;
			aspect-ratio: 795/530;
		}
	}

	& .elementor-widget-theme-post-title {
		position: absolute;
		inset: 0;
		z-index: 2;
		background-image: linear-gradient(to top, hsl(0 0% 0% / .75), transparent 50%);

		display: flex;
		align-items: flex-end;
		justify-content: flex-start;
		padding: clamp(1rem, 4vw, 3.75rem);

		& .elementor-widget-container {
			height: auto !important;
		}
	}
}



.elementor-element .swiper .elementor-swiper-button svg,
.elementor-element .swiper~.elementor-swiper-button svg,
.elementor-lightbox .swiper .elementor-swiper-button svg,
.elementor-lightbox .swiper~.elementor-swiper-button svg {
	height: 48px !important;
	width: 48px !important;
}

.elementor-widget-loop-carousel.elementor-element :is(.swiper, .swiper-container)~.elementor-swiper-button-prev {
	transform: translateX(-50%) !important;

	&:active {
		transform: translateX(-50%) scale(0.9) !important;
	}
}

.elementor-widget-loop-carousel.elementor-element :is(.swiper, .swiper-container)~.elementor-swiper-button-next {
	transform: translateX(50%) !important;

	&:active {
		transform: translateX(50%) scale(0.9) !important;
	}
}

.elementor-widget-icon-box.elementor-view-framed .elementor-icon,
.elementor-widget-icon-box.elementor-view-default .elementor-icon {
	border: none !important;
}


.elementor-widget.elementor-widget-timeline-widget-addon .twae-wrapper .twae-icon,
.elementor-widget.elementor-widget-twae-post-timeline-widget .twae-wrapper .twae-icon {
	background-color: white !important;
	border-color: var(--primary-color);
}

.twae-wrapper .twae-content {
	padding: .5rem 1.5rem !important;
	background: none !important;
	border-width: 0 !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

.twae-vertical.twae-wrapper .twae-arrow {
	display: none;
}

.e-n-accordion-item .elementor-widget-container {
	padding: 1.5rem;
}

.elementor-widget-n-accordion .e-n-accordion-item-title {
	padding: 1.5rem !important;
}



.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6 {
	color: white !important;
}

.text-white {
	& .elementor-testimonial__title {
		color: white;
	}
}

.bg-dark select,
.bg-dark .form-control,
.bg-dark .elementor-field,
.bg-dark .elementor-field-textual {
	background-color: transparent !important;
	color: white !important;
	border-color: hsl(0 0% 100% / .2) !important;

	& option,
	& * {
		background-color: var(--bs-dark) !important;
		color: white !important;
	}
}

.rounded-circle {
	aspect-ratio: 1/1;
}

.elementor-element.d-flex>* {
	display: inherit !important;
	align-items: inherit !important;
	justify-content: inherit !important;
}

.zysk-box .elementor-icon-box-title {
	color: white !important;
}


.elementor-counter .elementor-counter-title {
	display: flex;
	flex-direction: column !important;
	align-items: flex-end !important;
	text-align: right;
	gap: .5rem;
}

/* breakpointy elementora */


@media (min-width: 1200px) {
	.bordered-cols .e-child {
		position: relative;

		&+.e-child::before {
			content: '';
			display: block;
			width: 1px;
			height: 100%;
			background-color: hsl(0 0% 0% / .1);

			position: absolute;
			left: -60px;
			top: 0;
		}
	}
}

@media (max-width: 1199px) {
	.elementor-counter .elementor-counter-title {
		align-items: flex-start !important;
		text-align: left;
	}
}

.same-height-boxes .elementor-post__card {
	aspect-ratio: 398/575 !important;
	height: auto !important;
}

nav+.elementor {
	overflow: hidden;
}

/*
MARK: wybierz plan
*/

.wybierz-plan {
	& h3 {
		font-size: var(--h5) !important;
	}

	& .elementor-price-table__integer-part {
		font-size: var(--h3) !important;
	}

	& .elementor-element-de0b331 .elementor-price-table__integer-part {
		font-size: var(--h5) !important;
		padding-inline: 1rem !important;
		margin-bottom: 0.5rem !important;
	}
}

@media (max-width: 991px) {
	.wybierz-plan {
		flex-direction: column !important;
	}
	.wybierz-plan > .elementor-element {
		min-width: 100% !important;
		flex-basis: 100% !important;

	}
}


/*
MARK: timeline
*/

.twae-vertical.twae-wrapper .twae-timeline {
	margin: 0 auto !important;
	max-width: 850px;
}

.twae-wrapper .twae-content {
	padding: 0 !important;
	margin: 0 !important;
}

.twae-wrapper .twae-description {
	margin: 0 !important;
	line-height: 1.5;
	font-size: 1rem;
}


@media (min-width: 768px) {
	.twae-wrapper .twae-story {
		margin-bottom: -30px !important;
	}

	.twae-vertical.twae-wrapper .twae-story.twae-story-left .twae-title,
	.twae-vertical.twae-wrapper .twae-story.twae-story-left {
		text-align: right !important;
		justify-content: flex-end !important;
	}
}

/*
MARK: FAQ accordion
*/

.elementor-widget-n-accordion {
	--n-accordion-border-width: 0 !important;

	max-width: 850px !important;
	margin-inline: auto !important;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-text {
	font-family: var(--title-font) !important;
	font-size: 1.15rem !important;
}

.elementor-widget-n-accordion .e-n-accordion-item-title {
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
	padding-inline: 0 !important;
	justify-content: space-between !important;
}

.elementor-widget-n-accordion .e-n-accordion-item:not(:first-child) {
	border-top: 1px solid hsl(0 0% 100% / .4);
}

.e-n-accordion-item .elementor-widget-container {
	padding: 0 !important;
	font-family: var(--font);
	font-size: 1rem;
	line-height: 1.6;
}


/*
MARK: rozwijana treść
*/

.elementor-element:has(.elementor-element.more) {
	position: relative;
}

.elementor-element.more {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 3px);
	z-index: 99;
	transition: transform 500ms;
}

.elementor-element.more:has(.elementor-button.active) {
	transform: translate(-50%, 50%);
}

.elementor-element.more .elementor-button {
	background-color: white !important;
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;

	& svg {
		fill: var(--primary-color);
		transition: trasform 300ms;
	}

	&:hover,
	&:focus {
		transform: scale(1.05);
	}

	&:active {
		transform: scale(0.95);
	}

	&.active svg {
		transform: rotate(45deg);
	}
}

.elementor-element.more-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 300ms ease-out;
}

.elementor-element.more-content.show {
	max-height: 2000px;
}


/*
MARK: kariera
*/

.bullet {
	--size: 1.115rem;
	width: var(--size);
	height: var(--size);
	display: block;
	border-radius: 50%;
}

.link-oferta-pracy {
	& .h3 {
		transition: color 200ms;
	}

	& .more-icon {
		transition: transform 200ms;
	}

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

		& .more-icon {
			transform: translateX(10px);
		}
	}
}

.oferta-pracy-info {
	& .list-group-item {
		background-color: transparent;

		& strong {
			min-width: 8em;
		}

		& .badge {
			font-size: 1rem;
		}
	}
}


/*
MARK: forms
*/

.wpcf7-form {
	& .wpcf7-acceptance label {
		gap: .75rem;
		display: flex;
		align-items: flex-start;
	}

	& .justify-content-end p {
		display: flex;
		align-items: center;
		gap: .5rem;
		flex-direction: row-reverse;
	}
}

.wpcf7-list-item {
	margin: 0;
}

.btn.disabled,
.btn:disabled,
fieldset:disabled .btn {
	color: white;
	background-color: var(--primary-color-light);
	border-color: var(--primary-color-light);
	opacity: .4;
}

#main .form-control {
	border: 0;
	border-radius: 0;
	padding-inline: 0;
	border-bottom: 1px solid var(--primary-color);
	transition: border-width 200ms;
	background-color: transparent;

	&:focus {
		box-shadow: none;
		border-bottom-width: 2px;
	}
}

#main textarea {
	height: 6.5em;
}

label .text-danger,
label .star {
	margin-left: 0.25em;
}


/*  MARK: RWD  */


@media (max-width: 1399px) {
	.navbar-brand {
		margin: 0;
		padding: 0;
		position: relative;
		left: auto;
		transform: none;
	}

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

	.navbar.affix .container {
		height: 57px;
	}

	.navbar-nav .nav-link {
		color: white;
		padding-inline: 1rem;
	}

	.navbar-nav .nav-link {

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

	.navbar-nav>li:first-child>.dropdown-menu.show {
		display: block;
		min-height: 10px;
	}

	.navbar-nav>li:first-child>.dropdown-menu {
		& .dropdown-item:has(em) {
			margin-bottom: 0;
		}
	}

	.navbar-nav>li:first-child>.dropdown-menu>li+li {
		margin-top: 1.5rem
	}

	.navbar-nav>li:first-child>.dropdown-menu::after {
		display: none;
	}

	.navbar-nav>li:first-child>.dropdown-menu {
		width: 100%;
		top: auto;
	}

	.navbar-nav>li:first-child>.dropdown-menu {
		& .dropdown {
			width: 100%;
			max-width: 100%;
		}
	}
}


@media (max-width: 1199px) {
	header .swiper-slide img {
		max-height: 70dvh;
	}

	#firma blockquote {
		bottom: 1rem;
		left: 50%;
		padding: 1.5rem;
		width: 393px;
	}

	#wartosc .px-xxl {
		padding: 1.5rem !important;
	}

	#wartosc .swiper-button-prev,
	#wartosc .swiper-button-next {
		width: 50px;
		height: 50px;
		bottom: 0 !important;

		& img {
			max-width: 100%;
		}
	}

	#zysk .pe-xxl {
		padding-inline-end: 1.5rem !important;
	}

	header {
		& .col-lg-6.pe-xxl {
			padding-bottom: 50px;
			padding-inline-end: 1.5rem !important;
		}
	}
}


@media (max-width: 991px) {
	header .swiper-slide img {
		max-height: 100%;
		width: 100%;
		aspect-ratio: 16/6;
		object-fit: cover;
	}

	header .swiper-slide,
	header .col-lg-6+.col-lg-6,
	nav+.elementor-element,
	#header {
		& img {
			margin-top: 2rem;
			margin-bottom: 2rem;
			width: 100% !important;
			max-width: 200% !important;
			aspect-ratio: 16/10;
			object-fit: cover !important;
			height: auto !important;
		}
	}

	header .swiper-slide,
	header .col-lg-6+.col-lg-6,
	nav+.elementor-element,
	#header {

		& .e-con-inner {
			display: flex;
			flex-direction: column;
			align-items: stretch;

			& .pe-xxl {
				padding-inline-end: 0 !important;
			}

			& .e-con-inner {
				margin: 0;
				max-width: 100% !important;
			}
		}
	}

	#firma .img-fluid {
		width: 100%;
		max-width: 100vw;
		object-fit: cover;
		height: auto;
		aspect-ratio: 16/9;
		margin-top: 1.5rem;
	}

	#firma blockquote {
		position: relative;
		inset: auto;
		padding: var(--xl);
		width: 100%;
		margin-top: 1.5rem;
		margin-bottom: 0;
		background-color: hsl(35 19% 32%);
	}

	#firma blockquote {
		& em {
			font-size: var(--h3);
		}
	}

	#polska-firma,
	#polska-firma p {
		text-align: center !important;
	}

	.box-bg {
		width: 100%;
		height: auto;
		aspect-ratio: 21/9;
	}

	.box-logo {
		max-width: 25%;
	}

	#boxes .col-lg-4:first-child .box-bg {
		object-position: 0 31%;
	}

	#boxes .col-lg-4:nth-child(2) .box-bg {
		object-position: 0 77%;
	}

	#boxes .col-lg-4:last-child .box-bg {
		object-position: 0 33%;
	}

	#liczby .row {
		flex-direction: column;
	}

	#liczby .col {
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
	}

	#liczby .col+.col {
		border-left: 0;
		border-top: 1px solid hsl(35 27% 78%);
	}

	.wartosc-swiper {
		text-align: center;
		padding-bottom: 4rem !important;
	}

	.slide-description {
		width: 100%;

		& img {
			margin-inline: auto;
		}
	}

	#zysk .col-lg-5 {
		display: none;
	}

	footer {
		text-align: center;
	}

	footer .col-lg-3+.col-lg-3 {
		margin-top: 1.5rem;
	}

	header,
	footer,
	main {
		overflow: hidden;
	}

	header {
		& .col-lg-6.pe-xxl {
			padding-bottom: 25px;
			padding-inline-end: 15px !important;
		}
	}


	.dzial-lokacja-wymagania {
		gap: .5rem !important;
	}

	.wymagania {
		flex-wrap: wrap;
		justify-content: center;
		row-gap: .5rem !important;
	}

}



@media (max-width: 767px) {
	:root {
		--xxl: 3rem;
		--navbar-height: 114px;
	}

	.navbar .gap-5 {
		gap: 1rem !important;
	}

	header .swiper,
	#firma,
	#liczby,
	#zysk,
	#news {
		text-align: center;
	}

	header .d-flex {
		justify-content: center;
	}

	.zysk-box-icon,
	#news .btn {
		margin-inline: auto;
	}

	footer .col-lg-6>.flex-column>.d-flex {
		flex-direction: column;
		align-items: center;
		text-align: center;
		margin-bottom: 1.5rem;
	}

	.navbar {
		--bs-navbar-padding-y: 0.75rem;
	}
}


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

	header .d-flex {
		flex-direction: column;
		align-items: stretch;
	}

	header .swiper-slide img {
		aspect-ratio: 16/10;
	}

	.box-bg {
		aspect-ratio: 21/16;
	}

	.box-description {
		font-size: .75rem;
		line-height: 1.25;
	}

	.box-logo {
		max-width: 45%;
	}

	.box {
		& .box-description {
			height: auto !important;
		}
	}

	.box-overlay {
		background-image: linear-gradient(to top, hsl(0 0% 0% / .8)20%, transparent 90%);
	}
}