/*
* Theme Name: bonafide2026
* Text Domain: bonafide
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

:root {

	/* https://utopia.fyi/type/calculator/?c=320,16,1.2,1920,24,1.25,6,2,&s=0.75%7C0.5%7C0.25,1.5%7C2%7C3%7C4%7C6,s-l&g=s,l,xl,12 */

	--step--2: clamp(0.6944rem, 0.6413rem + 0.2656vw, 0.96rem);
	--step--1: clamp(0.8333rem, 0.76rem + 0.3667vw, 1.2rem);
	--step-0: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
	--step-1: clamp(1.2rem, 1.065rem + 0.675vw, 1.875rem);
	--step-2: clamp(1.44rem, 1.2593rem + 0.9038vw, 2.3438rem);
	--step-3: clamp(1.728rem, 1.4877rem + 1.2017vw, 2.9297rem);
	--step-4: clamp(2.0736rem, 1.7559rem + 1.5885vw, 3.6621rem);
	--step-5: clamp(2.4883rem, 2.0705rem + 2.0893vw, 4.5776rem);

	--space-3xs: clamp(0.25rem, 0.225rem + 0.125vw, 0.375rem);
	--space-2xs: clamp(0.5rem, 0.45rem + 0.25vw, 0.75rem);
	--space-xs: clamp(0.75rem, 0.675rem + 0.375vw, 1.125rem);
	--space-s: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
	--space-m: clamp(1.5rem, 1.35rem + 0.75vw, 2.25rem);
	--space-l: clamp(2rem, 1.8rem + 1vw, 3rem);
	--space-xl: clamp(3rem, 2.7rem + 1.5vw, 4.5rem);
	--space-2xl: clamp(4rem, 3.6rem + 2vw, 6rem);
	--space-3xl: clamp(6rem, 5.4rem + 3vw, 9rem);
	
	--space-2xs-xs: clamp(0.5rem, 0.375rem + 0.625vw, 1.125rem);
	--space-s-m: clamp(1rem, 0.75rem + 1.25vw, 2.25rem);
	--space-m-l: clamp(1.5rem, 1.2rem + 1.5vw, 3rem);
	--space-l-xl: clamp(2rem, 1.5rem + 2.5vw, 4.5rem);
	
	--space-xs-m: clamp(0.75rem, 0.45rem + 1.5vw, 2.25rem);
	--space-m-xl: clamp(1.5rem, 0.9rem + 3vw, 4.5rem);

	--space-px-3xs: clamp(4px, 3.6px + 0.125vw, 6px);
	--space-px-2xs: clamp(8px, 7.2px + 0.25vw, 12px);
	--space-px-xs: clamp(12px, 10.8px + 0.375vw, 18px);
	--space-px-s: clamp(16px, 14.4px + 0.5vw, 24px);
	--space-px-m: clamp(24px, 21.6px + 0.75vw, 36px);
	--space-px-l: clamp(32px, 28.8px + 1vw, 48px);
	--space-px-xl: clamp(48px, 43.2px + 1.5vw, 72px);
	--space-px-2xl: clamp(64px, 57.6px + 2vw, 96px);
	--space-px-3xl: clamp(96px, 86.4px + 3vw, 144px);
	--space-px-4xl: clamp(128px, 115.2px + 4vw, 192px);
	
	--space-px-s-m: clamp(16px, 12px + 1.25vw, 36px);
	--space-px-m-l: clamp(24px, 19.2px + 1.5vw, 48px);
	--space-px-l-xl: clamp(32px, 24px + 2.5vw, 72px);
	--space-px-xl-2xl: clamp(48px, 38.4px + 3vw, 96px);
	--space-px-2xl-3xl: clamp(64px, 48px + 5vw, 144px);
	--space-px-3xl-4xl: clamp(96px, 76.8px + 6vw, 192px);

	--space-px-xs-l: clamp(12px, 4.8px + 2.25vw, 48px);
	--space-px-s-xl: clamp(16px, 4.8px + 3.5vw, 72px);
	--space-px-m-2xl: clamp(24px, 9.6px + 4.5vw, 96px);
	--space-px-xl-3xl: clamp(48px, 28.8px + 6vw, 144px);
	
	--padding-0-lg: clamp(0px, -320px + 26.6667vw, 192px); /* 1200 <=> 1920 */
	--padding-0-xl: clamp(0px, -224px + 29.1667vw, 336px); /* 768 <=> 1920 */
	
	--main_margin: var(--space-px-m-2xl);
	
	--border_radius_sm: var(--space-px-xl-2xl);
	--border_radius_lg: var(--space-px-3xl-4xl);
	
	--color_sand: #fffdf6;
	--color_red: #d4003c;
	--color_dark_red: #b80033;
	--color_yellow: #ffcd36;
	--color_citron: #ffdc36;
	--color_ivory: #eeeae1;
	--color_ginger: #f15922;
	--color_nurgle: #433c1e;
	--color_rose: #b00334;
	--color_navy: #223968;

}

:root.mediumfont {font-size: 18px;}
:root.largefont {font-size: 20px;}
:root:has(body.animations-off) {scroll-behavior: auto;}

@media (max-width: 767.98px) {
	:root {
		--border_radius_sm: var(--main_margin);
		--border_radius_lg: calc(var(--main_margin) * 2);
	}
}

body {background-color: var(--color_sand); color: #000; font-family: 'DM Sans', 'Roboto', system-ui;}


	/* global utility classes */

.container-fluid {padding: 0;}
.content-wrapper {width: 100%; max-width: 1920px; margin-inline: auto;}
@media (max-width: 767.98px) {
	.content-sm-max {max-width: 32rem; margin-inline: auto;}
}

.content-padding-inline {padding-inline: var(--main_margin);}
.content-padding-inline-lg {padding-inline: calc(var(--main_margin) + var(--padding-0-lg));}
.content-padding-inline-xl {padding-inline: calc(var(--main_margin) + var(--padding-0-xl));}

.content-padding-block-lg {padding-block: var(--space-px-xl-3xl);}
.content-padding-top-lg {padding-top: var(--space-px-xl-3xl);}
.content-padding-bottom-lg {padding-bottom: var(--space-px-xl-3xl);}


.border-radius-tl-sm {border-top-left-radius: var(--border_radius_sm);}
.border-radius-tr-sm {border-top-right-radius: var(--border_radius_sm);}
.border-radius-tr-lg {border-top-right-radius: var(--border_radius_lg);}
.border-radius-bl-sm {border-bottom-left-radius: var(--border_radius_sm);}
.border-radius-bl-lg {border-bottom-left-radius: var(--border_radius_lg);}

.hero-inverse-border-radius {position: absolute; left: 0; top: calc(var(--border_radius_sm) * -1);}
.hero-inverse-border-radius img {width: var(--border_radius_sm); height: var(--border_radius_sm);}
.home-opp-border-radius {position: absolute; left: 0; bottom: 0;}
.home-opp-border-radius img {width: var(--border_radius_lg); height: var(--border_radius_lg);}


.background-sand {/* --fade-bg: var(--color_sand); --fade-color: #000;  */background-color: var(--color_sand);}
.background-red {background-color: var(--color_red);}
.background-yellow {background-color: var(--color_yellow);}
.background-citron {background-color: var(--color_citron);}
.background-ivory {/* --fade-bg: var(--color_ivory); --fade-color: #000;  */background-color: var(--color_ivory);}
.background-ginger {background-color: var(--color_ginger);}
.background-nurgle {background-color: var(--color_nurgle);}
.background-rose {background-color: var(--color_rose);}
.background-navy {background-color: var(--color_navy);}


.link-btn {
	--link_btn_bg_color: var(--color_red);
	--link_btn_bg_active_color: #000;
	--link_btn_color: #fff;
	--link_btn_img_width: var(--space-2xl);
	--link_btn_img_margin: 0;
	position: relative; isolation: isolate; display: inline-block; width: fit-content; font-size: var(--step-0); line-height: 1.5; font-weight: 700; text-transform: uppercase; text-decoration: none; border-radius: 10rem; color: var(--link_btn_color);
}
.link-btn:has(.link-btn-img-small) {
	--link_btn_img_width: 2em;
	--link_btn_img_margin: 0 0 0 0.1em;
}
button.link-btn {padding: 0; vertical-align: middle; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none; border: none;}
button.link-btn p {display: none !important;} /* fix password protected page */

.link-btn-text {position: relative; isolation: isolate; display: inline-block; padding: 0.5em 1.75em; white-space: nowrap; border-radius: 10rem; background-color: var(--link_btn_bg_color);}

.link-btn-img {position: relative; isolation: isolate; width: var(--link_btn_img_width); aspect-ratio: 1; display: grid; place-items: center; text-transform: none; background-color: var(--link_btn_bg_color); border-radius: 10rem;}
.link-btn-img img {position: relative; z-index: 2; width: calc(var(--link_btn_img_width) / 4); margin: var(--link_btn_img_margin);}

.link-btn-text span, .link-btn-img span {position: relative; z-index: 2;}

.link-btn-text:after, .link-btn-img:after {content: ''; position: absolute; inset: 100%; z-index: 1; background-color: var(--link_btn_bg_active_color); border-radius: 10rem; transition: inset 0.5s ease-out;}
.link-btn:is(:hover, :focus, :focus-visible) .link-btn-text:after, .link-btn:not(.inactive):hover .link-btn-img:after {inset: 0; transition: inset 0.3s ease-out;}

.link-btn:focus {outline: none;}
.link-btn:focus-visible {outline: 2px solid var(--link_btn_bg_color, var(--color_red)); outline-offset: 0.25em;}
.link-btn:focus-visible .link-btn-shadow {inset: 0;}
body.contrast .link-btn:focus-visible {outline: 2px solid #0f0;}

.link-btn-shadow {position: absolute; z-index: -1; inset: var(--link_btn_shadow_size) calc(var(--link_btn_shadow_size) * -1) calc(var(--link_btn_shadow_size) * -1) var(--link_btn_shadow_size); opacity: 0.1; display: inline-block; border-radius: 10rem; background-color: #2c0d15; transition: all 0.2s ease-out; transition-delay: 0s;}
.link-btn:not(.inactive):hover .link-btn-shadow {opacity: 0.2; transition: opacity 0.3s ease-out, inset 0.1s ease-out; transition-delay: 0.2s;}

.link-btn-text + .link-btn-shadow {--link_btn_shadow_size: 0.33em;}
.link-btn-img + .link-btn-shadow {--link_btn_shadow_size: calc(var(--link_btn_img_width) / 12);}

body.contrast .link-btn {border: 1px solid #0f0; color: #0f0;}

@media (max-width: 767.98px) {
	.link-btn-text + .link-btn-shadow {--link_btn_shadow_size: 0.2em;}
}
@media (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .link-btn:hover .link-btn-text + .link-btn-shadow {--link_btn_shadow_size: 0.2em;}
	body:not(.animations-off) .link-btn:not(.inactive):hover .link-btn-img + .link-btn-shadow {--link_btn_shadow_size: calc(var(--link_btn_img_width) / 20);}
}
@media (max-width: 767.98px) and (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .link-btn:hover .link-btn-text + .link-btn-shadow {--link_btn_shadow_size: 0.15em;}
}


.additional-info {margin-block: var(--additional_info_margin_block, 0 var(--space-s-m)); font-size: var(--step--1); line-height: 1; font-weight: 900; text-transform: uppercase; letter-spacing: 0.1em; color: var(--additional_info_color, var(--color_red));}
@media (max-width: 767.98px) {
	.additional-info {font-size: var(--step-0);}
}

.highlight {display: inline-block; width: fit-content; margin-top: var(--space-s); padding: 0.55em 1.75em 0.45em 1.75em; line-height: 1.5; font-weight: 900; border-radius: 10rem; background-color: var(--color_yellow);}
body.contrast .highlight {border: 1px solid #ff0;}

.social-media {--sm_svg_size: clamp(1.5rem, 0.875rem + 0.8333vw, 1.875rem); } /* 1200 <=> 1920 */
.social-media a {display: inline-block; border-radius: calc(var(--sm_svg_size) * 0.05); transition: transform 0.3s;}
.social-media a.social-media-fb:hover {color: #1877f2;}
.social-media a:focus {outline: none;}
.social-media a:focus-visible {outline: 2px solid #000; outline-offset: calc(var(--sm_svg_size) * 0.2);}
.social-media a svg {width: var(--sm_svg_size); height: var(--sm_svg_size); fill: #000;}
.social-media a:is(:hover, :active, :focus) svg {fill: currentColor;}
body.contrast .social-media a svg {fill: #0f0;}
body.contrast .social-media a:focus-visible {outline: 2px solid #0f0;}
@media (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .social-media a:hover {transform: scale(1.15);}
}


	/* header - menus */

.skip-nav-link {position: absolute; z-index: 2000; transform: translateY(-140%); left: var(--main_margin); top: 8px; padding: var(--space-2xs) var(--space-xs); color: #000; font-size: var(--step--1); line-height: 1; font-weight: 500; letter-spacing: 1px; text-decoration: none; text-align: center; border-radius: 0.25em; background-color: #fff; transition: all .2s ease-in-out;}
.skip-nav-link:focus {transform: translateY(0); text-decoration: none; color: #000; background-color: inherit; outline: 2px solid #000;}
@media (max-width: 1199.98px) {
	.skip-nav-link {left: auto; right: var(--main_margin);}
}

.header-content {position: relative;}

.header-a11y {position: relative; height: var(--space-l);}

.header-a11y .btn-a11y {position: absolute; z-index: 1100; top: 0; left: 0; display: inline-block; margin: 0.75em var(--main_margin); padding: 0 0.25em; vertical-align: middle; cursor: pointer; text-align: center; font-weight: 400; -webkit-user-select: none; -moz-user-select: none; user-select: none; border: none; border-radius: 0.25em; color: #000; background-color: transparent; transition: none;}
.header-a11y .btn-a11y:hover {text-decoration: underline; text-underline-offset: 0.25em;}
/* .header-a11y .btn-a11y:focus {outline: none;} */
.header-a11y .btn-a11y:focus-visible {text-decoration: none; outline: 2px solid #000; outline-offset: 0.25em;}
.header-a11y .btn-a11y::after {width: 0.8em; vertical-align: top; margin-left: 0.5em; border: none; transform: scale(1) translateY(-0.1em); transition: transform 0.5s; content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.205 5.353'%3E%3Cpath fill='%23010101' d='M8.985,0.22c-0.293-0.293-0.768-0.293-1.061,0L4.603,3.542L1.28,0.22c-0.293-0.293-0.768-0.293-1.061,0 s-0.293,0.768,0,1.061l3.853,3.853c0.146,0.146,0.338,0.22,0.53,0.22s0.384-0.073,0.53-0.22L8.985,1.28 C9.278,0.987,9.278,0.513,8.985,0.22z'/%3E%3C/svg%3E") / "rozwiń";}
.header-a11y .btn-a11y.show::after {transform: scaleY(-1) translateY(-0.1em); transform-origin: center left; content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 9.205 5.353'%3E%3Cpath d='M8.985,0.22c-0.293-0.293-0.768-0.293-1.061,0L4.603,3.542L1.28,0.22c-0.293-0.293-0.768-0.293-1.061,0 s-0.293,0.768,0,1.061l3.853,3.853c0.146,0.146,0.338,0.22,0.53,0.22s0.384-0.073,0.53-0.22L8.985,1.28 C9.278,0.987,9.278,0.513,8.985,0.22z'/%3E%3C/svg%3E") / "zwiń";}
body.contrast .header-a11y .btn-a11y::after {width: 0.8em; vertical-align: top; margin-left: 0.75em; border: none; transform: scale(1) translateY(-0.1em); transition: transform 0.5s; content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.205 5.353'%3E%3Cpath fill='%2300ff00' d='M8.985,0.22c-0.293-0.293-0.768-0.293-1.061,0L4.603,3.542L1.28,0.22c-0.293-0.293-0.768-0.293-1.061,0 s-0.293,0.768,0,1.061l3.853,3.853c0.146,0.146,0.338,0.22,0.53,0.22s0.384-0.073,0.53-0.22L8.985,1.28 C9.278,0.987,9.278,0.513,8.985,0.22z'/%3E%3C/svg%3E") / "rozwiń";}
body.contrast .header-a11y .btn-a11y.show::after {transform: scaleY(-1) translateY(-0.1em); transform-origin: center left; content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 9.205 5.353'%3E%3Cpath fill='%2300ff00' d='M8.985,0.22c-0.293-0.293-0.768-0.293-1.061,0L4.603,3.542L1.28,0.22c-0.293-0.293-0.768-0.293-1.061,0 s-0.293,0.768,0,1.061l3.853,3.853c0.146,0.146,0.338,0.22,0.53,0.22s0.384-0.073,0.53-0.22L8.985,1.28 C9.278,0.987,9.278,0.513,8.985,0.22z'/%3E%3C/svg%3E") / "zwiń";}

.header-a11y ul {column-gap: 2em; margin: 0; padding: 0 calc(var(--space-l) - 0.25em) 0 var(--space-l); list-style: none; font-size: var(--step--2); line-height: 1; font-weight: 400; border-radius: 0 0 var(--space-l) var(--space-l); background-color: var(--color_ivory);}
.header-a11y ul li {display: flex; align-items: center;}
.header-a11y ul li a {padding: 0.25em; font-weight: 500; text-decoration: none; border-radius: 0.1em; text-underline-offset: 0.35em; color: #000;}
.header-a11y ul li button {position: relative; display: inline-block; padding: 0.25em; vertical-align: middle; cursor: pointer; text-align: center; font-weight: 500; text-underline-offset: 0.35em; -webkit-user-select: none; -moz-user-select: none; user-select: none; border: none; border-radius: 0.1em; color: #000; background-color: transparent; transition: none;}
.header-a11y ul li button#text-normal {margin-left: 1em;}
.header-a11y ul li button:is(#text-medium, #text-large) {margin-left: 0.75em;}
.header-a11y ul li a:hover, .header-a11y ul li button:hover {text-decoration: underline;}
.header-a11y ul li a:focus-visible, .header-a11y ul li button:focus-visible {text-decoration: none; outline: 2px solid #000; outline-offset: 0.25em;}
body:not(.contrast) .header-a11y ul li button[aria-pressed=true] {text-decoration: underline; text-decoration-color: var(--color_red);}
body.contrast .header-a11y ul li a:focus-visible, body.contrast .header-a11y ul li button:focus-visible {outline: 2px solid #0f0;}
body.contrast ul li button[aria-pressed=true]:not(:hover) {text-decoration-style: solid; text-decoration-color: #ff0;}

@media (min-width: 1200px) {
	.header-a11y .dropdown, .header-a11y .dropdown-menu {display: contents;}
	.mediumfont .header-a11y ul {column-gap: 1.75em;}
	.largefont .header-a11y ul {column-gap: 1.25em; padding: 0 calc(var(--space-l) - 0.15em) 0 var(--space-l);}
	.largefont .header-a11y ul li :is(a, button) {padding: 0.15em;}
	.header-a11y ul li button:hover::after, .header-a11y ul li button:focus-visible::after {content: attr(data-tooltip); position: absolute; z-index: 9999; top: 140%; left: 50%; transform: translateX(-50%); padding: var(--space-3xs) var(--space-2xs); white-space: nowrap; border-radius: var(--space-3xs); color: var(--color_sand); background: #000;}
	body.contrast .header-a11y ul li button:hover::after, body.contrast .header-a11y ul li button:focus-visible::after {border: 1px solid #fff;}
}
@media (max-width: 1199.98px) {
	.header-a11y {height: 3rem; padding: 0; font-size: 1rem; border-radius: 0 0 var(--space-px-m-l) var(--space-px-m-l); background-color: var(--color_ivory);}
	.header-a11y .dropdown-menu {top: 0px; display: block; overflow: hidden; visibility: hidden; /* opacity: 0; */ width: 100%; max-height: 0; padding: 0; border: none; border-radius: 0 0 var(--space-px-m-l) var(--space-px-m-l); background-color: var(--color_ivory); transition: max-height 0.5s ease-out 0s, visibility 0.2s ease-out 0s/* , opacity 0.5s ease-out 0s */;}
	.header-a11y .dropdown-menu.show {transform: translate3d(0px, 0px, 0px) !important; visibility: visible; /* opacity: 1; */ max-height: 24rem;}
	.header-a11y ul {row-gap: 1.5rem; width: 100%; margin-left: 0.25em; padding: 4.5rem var(--main_margin) 2rem var(--main_margin); font-size: 0.9375rem; border-radius: 0;}
	.header-a11y ul li:not(:first-child) {margin-left: -0.25em;}
}
@media (max-width: 767.98px) {
	.header-a11y {border-radius: 0 0 var(--main_margin) var(--main_margin);}
	.header-a11y .dropdown-menu {border-radius: 0 0 var(--main_margin) var(--main_margin);}
}
@media (max-width: 359.98px) {
	.largefont .header-a11y ul li button:is(#text-medium, #text-large) {margin-left: 0.6em;}
}


.header-logo {border-radius: var(--space-px-3xs);}
.header-logo:focus {outline: none;}
.header-logo:focus-visible {outline: 2px solid #000; outline-offset: var(--space-px-3xs);}
body.contrast .header-logo:focus-visible {outline: 2px solid #0f0;}
.header-logo img {width: clamp(210px, 110px + 8.3333vw, 270px); height: auto; transition: transform 0.3s;} /* 1200 <=> 1920 */
@media (max-width: 1199.98px) {
.header-logo {position: absolute; top: var(--space-m); left: var(--main_margin);}
.header-menu-logo {padding: var(--space-m) 0;}
.header-menu-logo img {height: 47px;}
.header-menu-logo img.logo-orw {height: 41px; margin-left: 1px;}
.header-menu-logo img.logo-sps {height: 52px; margin-left: 1px;}
}
@media (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .header-logo:hover img {transform: scale(1.05);}
}


.navbar-toggler {position: absolute; z-index: 900; top: calc(var(--space-m) + 24px) /* 0.5 logo height */; right: var(--main_margin); transform: translateY(-50%); display: flex; flex-direction: column; gap: calc(var(--space-m) * 0.25 - 1px); padding: 6px; border: 0;}
.navbar-toggler:focus {box-shadow: none;}
.navbar-toggler:focus-visible {outline: 2px solid #000;}
body.contrast .navbar-toggler:focus-visible {outline: 2px solid #0f0;}
.navbar-toggler .icon-bar {display: block; width: calc(var(--space-m) * 1.05); height: 2px; border-radius: 0px; background-color: #000; transition: all 0.2s;}
.navbar-toggler .icon-bar:nth-child(1) {transform: rotate(-45deg); transform-origin: 90% -180%;}
.navbar-toggler .icon-bar:nth-child(2) {opacity: 0;}
.navbar-toggler .icon-bar:nth-child(3) {transform: rotate(45deg); transform-origin: 100% 235%;}
.navbar-toggler.collapsed .icon-bar:nth-child(1) {width: calc(var(--space-m) * 0.75); transform: rotate(0);}
.navbar-toggler.collapsed .icon-bar:nth-child(2) {width: var(--space-m); opacity: 1;}
.navbar-toggler.collapsed .icon-bar:nth-child(3) {width: calc(var(--space-m) * 0.75); transform: rotate(0);}
.navbar-toggler.collapsed:hover .icon-bar {width: var(--space-m);}


.header-menu {position: absolute; column-gap: var(--space-s-m); width: 100%; height: var(--space-3xl); margin: 0; padding-block: var(--space-m) var(--space-l); border-bottom-left-radius: var(--main_margin); background-color: var(--color_sand);}
.header-menu .navbar-nav {--menu_font_size: clamp(0.875rem, 0.4583rem + 0.5556vw, 1.125rem); /* 1200 <=> 1920 */ column-gap: var(--space-px-2xs);}
@media (max-width: 1199.98px) {
	.header-menu {height: 0; padding: 0; background-color: transparent;}
	.header-menu .navbar-collapse {z-index: 200; padding-inline: var(--main_margin); border-radius: var(--space-px-m-l); background-color: var(--color_yellow);}
	.header-menu .navbar-nav {--menu_font_size: var(--step-0); padding-inline: var(--space-px-m-l);}
	.header-menu .social-media {padding: var(--space-s) var(--space-px-m-l) var(--space-l) var(--space-px-m-l);}
	body.contrast .header-menu .navbar-collapse.show {border-bottom: 1px solid #fff;}
}
@media (max-width: 767.98px) {
	.header-menu .navbar-collapse {border-radius: var(--main_margin);}
}


.header-menu .nav-link {position: relative; padding: 0.4em !important; font-size: var(--menu_font_size); text-underline-offset: 0.35em; border-radius: 0.25em; color: #000; transition: color 0s ease-in-out, background-color 0s ease-in-out, border-color 0.15s ease-in-out;}
.header-menu .nav-link:is(:active, :focus, .show) {outline: none; box-shadow: none;}
.header-menu .nav-link:focus-visible {outline: 2px solid currentColor;}
body:not(.contrast) .header-menu .nav-link::before {content: ''; position: absolute; width: 0px; height: 1px; left: 50%; bottom: 0.25em; background-color: currentColor; transition: all ease-in-out .2s;}
body:not(.contrast) .header-menu .nav-link:is(.active, .show, :hover)::before {width: calc(100% - 0.8em); left: 0.4em;}
body:not(.contrast) .header-menu .nav-link:hover::before {background-color: var(--color_dark_red);}
@media (max-width: 1199.98px) {
	.header-menu .nav-link {display: inline-block; margin-left: -0.4em; font-weight: 700;}
	body.contrast .header-menu .nav-link {margin-bottom: 0.2em;}
}


.header-menu .dropdown-toggle::after {width: 0.75em; vertical-align: top; margin-left: 0.5em; border: none; transform: scale(1) translateY(-0.1em); transition: transform 0.5s; content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.205 5.353'%3E%3Cpath fill='%23010101' d='M8.985,0.22c-0.293-0.293-0.768-0.293-1.061,0L4.603,3.542L1.28,0.22c-0.293-0.293-0.768-0.293-1.061,0 s-0.293,0.768,0,1.061l3.853,3.853c0.146,0.146,0.338,0.22,0.53,0.22s0.384-0.073,0.53-0.22L8.985,1.28 C9.278,0.987,9.278,0.513,8.985,0.22z'/%3E%3C/svg%3E") / "rozwiń";}
.header-menu .dropdown-toggle.show::after {transform: scaleY(-1) translateY(-0.1em); transform-origin: center left; content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.205 5.353'%3E%3Cpath fill='%23010101' d='M8.985,0.22c-0.293-0.293-0.768-0.293-1.061,0L4.603,3.542L1.28,0.22c-0.293-0.293-0.768-0.293-1.061,0 s-0.293,0.768,0,1.061l3.853,3.853c0.146,0.146,0.338,0.22,0.53,0.22s0.384-0.073,0.53-0.22L8.985,1.28 C9.278,0.987,9.278,0.513,8.985,0.22z'/%3E%3C/svg%3E") / "zwiń";}
body.contrast .header-menu .dropdown-toggle::after {width: 0.75em; vertical-align: top; margin-left: 0.5em; border: none; transform: scale(1) translateY(-0.1em); transition: transform 0.5s; content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.205 5.353'%3E%3Cpath fill='%2300ff00' d='M8.985,0.22c-0.293-0.293-0.768-0.293-1.061,0L4.603,3.542L1.28,0.22c-0.293-0.293-0.768-0.293-1.061,0 s-0.293,0.768,0,1.061l3.853,3.853c0.146,0.146,0.338,0.22,0.53,0.22s0.384-0.073,0.53-0.22L8.985,1.28 C9.278,0.987,9.278,0.513,8.985,0.22z'/%3E%3C/svg%3E") / "rozwiń";}
body.contrast .header-menu .dropdown-toggle.show::after {transform: scaleY(-1) translateY(-0.1em); transform-origin: center left; content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.205 5.353'%3E%3Cpath fill='%2300ff00' d='M8.985,0.22c-0.293-0.293-0.768-0.293-1.061,0L4.603,3.542L1.28,0.22c-0.293-0.293-0.768-0.293-1.061,0 s-0.293,0.768,0,1.061l3.853,3.853c0.146,0.146,0.338,0.22,0.53,0.22s0.384-0.073,0.53-0.22L8.985,1.28 C9.278,0.987,9.278,0.513,8.985,0.22z'/%3E%3C/svg%3E") / "zwiń";}


.header-menu .dropdown-menu {padding: 0 1.333em; font-size: var(--menu_font_size); border: none; border-radius: 0 1.333em 0 1.333em; background-color: var(--color_yellow); color: #000;}
.header-menu .dropdown-menu {display: block; top: 120%; overflow: hidden; visibility: hidden; opacity: 0; max-height: 0; transition: max-height 0.5s ease-out 0s, opacity 0.5s ease-out 0s, visibility 0.2s ease-out 0s;}
.header-menu .dropdown-menu.show {visibility: visible; opacity: 1; max-height: calc(var(--menu_font_size) * var(--dropdown-menu-items-count) * 2 + var(--menu_font_size) * 3);}
@media (min-width: 1200px) {
	body.contrast .header-menu .dropdown-menu.show {border: 1px solid #fff;}
}

.header-menu .dropdown-menu li {padding-block: 0.333em;}
.header-menu .dropdown-menu li:first-child {margin-top: 1.333em;}
.header-menu .dropdown-menu li:last-child {margin-bottom: 1.333em;}
.header-menu .dropdown-item {position: relative; display: inline; padding: 0.333em 0.667em; border-radius: 0.25em;}
.header-menu .dropdown-item:is(:hover, :focus, :active) {outline: none; background-color: transparent; color: #000;}
.header-menu .dropdown-item:focus-visible {outline: 2px solid #000;}
body.contrast .header-menu .dropdown-item:focus-visible {outline: 2px solid #0f0;}
.header-menu .dropdown-item.active {background-color: transparent; color: #000;}
@media (min-width: 576px) {
	body:not(.animations-off, .contrast) .header-menu .dropdown-item::before {content: ''; position: absolute; width: 0px; height: 1px; left: 50%; bottom: 0.25em; background-color: currentColor; transition: all ease-in-out .2s;}
	body:not(.animations-off, .contrast) .header-menu .dropdown-item:is(:hover, .active)::before {width: calc(100% - 1.334em); left: 0.667em;}
}
@media (max-width: 1199.98px) {
	.header-menu .dropdown-menu {padding: 0;}
	.header-menu .dropdown-menu li:first-child {margin-top: 0.75em;}
	.header-menu .dropdown-menu li:last-child {margin-bottom: 0.75em;}
	.header-menu .dropdown-item {padding: 0.333em calc(var(--main_margin) / 2);}
	body.contrast .header-menu .dropdown-item {margin-left: 2px;}
}
@media (max-width: 575.98px) {
	.header-menu .dropdown-menu {padding: 0 0 0 calc(var(--main_margin) / 2); transition: max-height 0.2s ease-out 0s, opacity 0.2s ease-out 0s, visibility 0.2s ease-out 0s;}
	.header-menu .dropdown-menu.show {transition: max-height 0.5s ease-out 0s, opacity 0.5s ease-out 0s, visibility 0.2s ease-out 0s;}
	.header-menu .dropdown-menu li {padding-left: calc(var(--main_margin) / 2);}
	.header-menu .dropdown-item {padding-inline: 0; white-space: normal;}
}



	/* hero */

.hero-bg {position: relative;}
.category-festival .hero-bg,
.single-festival .hero-bg {background-image: linear-gradient(to right, var(--color_yellow), var(--color_yellow) 50%, var(--color_sand) 50%, var(--color_sand) 100%);}

.hero {
	--hero_grid_size: var(--space-px-xl-3xl);
	position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-px-l); margin-top: var(--space-3xl);
}
@media (max-width: 991.98px) {
	.hero {--hero_grid_size: clamp(64px, -4.5714px + 8.9286vw, 84px); /* 768 <=> 992 */}
	.largefont .hero {--hero_grid_size: min(20vw, 84px); grid-template-columns: 1fr; gap: var(--space-l);}
}
@media (max-width: 767.98px) {
	.hero {--hero_grid_size: min(20vw, 84px); grid-template-columns: 1fr; gap: var(--space-l);}
}


.hero-content .hero-title {margin: auto 0; font-size: var(--step-5); line-height: 1.2; font-weight: 900; text-wrap: balance;}
.hero-content-extended {
	--additional_info_margin_block: 0 var(--space-s);
	flex-direction: column;
}
.hero-content-extended .hero-title {margin: 0 0 var(--space-s) 0; font-size: var(--step-3);}
.hero-content-extended .hero-title span {white-space: nowrap;}
.hero-content-extended p {margin-bottom: var(--space-m); font-size: var(--step--1); line-height: 1.65;}
@media (min-width: 768px) {
	.hero-content-extended {min-height: calc(var(--hero_grid_size) * 4);}
	.page-home .hero-content-extended {--additional_info_margin_block: var(--space-m) var(--space-s);}
	.hero-content-extended .hero-title {animation-delay: 0.2s;}
	.hero-content-extended p {animation-delay: 0.4s;}
	.hero-content-extended .link-btn {animation-delay: 0.6s; margin-bottom: calc(var(--hero_grid_size) / 1.5);}
}
@media (max-width: 991.98px) {
	.hero-content .hero-title {word-wrap: break-word; overflow-wrap: break-word; -webkit-hyphens: auto; -ms-hyphens: auto; -moz-hyphens: auto; hyphens: auto;}
	.page-landing .hero-content-extended .hero-title {font-size: var(--step-2);}
	.largefont .hero-content:not(.hero-content-extended) {margin-block: var(--space-px-l-xl); text-align: center;}
}
@media (max-width: 767.98px) {
	.hero-content:not(.hero-content-extended) {margin-block: var(--space-px-l-xl);}
	.hero-content .hero-title {margin-inline: auto; font-size: var(--step-4);}
	.hero-content-extended {margin-bottom: var(--space-px-xl-3xl);}
	.hero-content-extended .hero-title {margin-bottom: var(--space-xs); font-size: var(--step-2);}
}


.hero-grid-container {position: relative;}

.hero-grid {display: grid; grid-template-columns: repeat(5, var(--hero_grid_size)); grid-template-rows: repeat(3, var(--hero_grid_size));}
.hero-grid-extended {grid-template-rows: repeat(5, var(--hero_grid_size));}
@media (min-width: 768px) {
	.hero-grid-extended {position: absolute; z-index: 2; bottom: calc(var(--hero_grid_size) * -1);}
	.hero-grid-wide {grid-template-columns: repeat(7, var(--hero_grid_size));}
}
@media (min-width: 768px) and (max-width: 991.98px) {	
	.largefont .hero-content {order: 2 !important;}
	.largefont .hero-grid-container {order: 1 !important;}
	.largefont .hero-grid-extended {position: static;}
	.largefont .hero-grid {width: min(100vw, 420px); margin-inline: auto;}
}
@media (max-width: 767.98px) {
	.hero-grid-container {margin: 0 calc(var(--main_margin) * -1);}
	.hero-grid-container:has(.hero-grid-extended) {margin-top: var(--space-xs);}
	.hero-grid {width: min(100vw, 420px); margin-inline: auto;}
}

.hero-grid div img {transition: transform 0.3s;}
body.contrast .hero-grid div:not(:has(img)) {border: 1px solid #fff;}

.hero-grid-pic-1 {animation-delay: 0.2s; grid-column: 3 / span 2; grid-row: 1 / span 2; overflow: hidden; border-radius: 0 50% 0 50%;}
.hero-grid-pic-2 {animation-delay: 0.4s; grid-column: 1 / span 2; grid-row: 2 / span 2; overflow: hidden; border-radius: 50% 0 50% 50%;}
.hero-grid-pic-3 {animation-delay: 1.0s; grid-column: 4 / span 2; grid-row: 3 / span 2; overflow: hidden; border-radius: 0 0 50% 50%;}
.hero-grid-pic-4 {animation-delay: 1.4s; grid-column: 2 / span 2; grid-row: 4 / span 2; overflow: hidden; border-radius: 50%;}
.hero-grid-pic-5 {animation-delay: 1.0s; grid-column: 5 / span 2; grid-row: 2 / span 2; overflow: hidden; border-radius: 50% 0;}

.hero-grid:not(.hero-grid-extended, .hero-grid-wide) :nth-child(n + 3) {transition: border-radius 0.3s;}
.hero-grid-extended :nth-child(n + 5) {transition: border-radius 0.3s;}
.hero-grid-wide :nth-child(n + 4) {transition: border-radius 0.3s;}
.hero-grid-shape-1 {grid-column: 2 / span 1; grid-row: 1 / span 1; border-radius: 0 50% 0 50%;}
.hero-grid-shape-2 {animation-delay: 0.8s; grid-column: 5 / span 1; grid-row: 2 / span 1;  border-radius: 0 0 50% 50%;}
.hero-grid-shape-3 {animation-delay: 0.6s; grid-column: 3 / span 1; grid-row: 3 / span 1; border-radius: 0 50% 50% 50%;}
.hero-grid-shape-4 {animation-delay: 1.2s; grid-column: 1 / span 1; grid-row: 4 / span 1; border-radius: 0 50% 0 50%;}
.hero-grid-shape-5 {animation-delay: 1.6s; grid-column: 4 / span 1; grid-row: 5 / span 1; border-radius: 0 0 50% 50%;}
.hero-grid-shape-6 {animation-delay: 0.8s; grid-column: 5 / span 1; grid-row: 1 / span 1; border-radius: 50%;}
.hero-grid-shape-7 {animation-delay: 1.2s; grid-column: 7 / span 1; grid-row: 2 / span 1; border-radius: 0 0 50% 50%;}

@media (max-width: 767.98px) {
	.hero-grid-pic-5, .hero-grid-shape-7 {display: none;}
	.hero-grid-shape-6 {grid-column: 5 / span 1; grid-row: 2 / span 1; border-radius: 0 0 50% 50%;}
}
@media (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .hero-grid div:hover img {transform: scale(1.05);}
	body:not(.animations-off) .hero-grid-shape-1:hover {border-radius: 50% 0 50% 0;}
	body:not(.animations-off) .hero-grid-shape-2:hover {border-radius: 50% 50% 0 0;}
	body:not(.animations-off) .hero-grid-shape-3:hover {border-radius: 50% 0 50% 50%;}
	body:not(.animations-off) .hero-grid-shape-4:hover {border-radius: 50% 0 50% 0;}
	body:not(.animations-off) .hero-grid-shape-5:hover {border-radius: 0 50% 50% 0;}
	body:not(.animations-off) .hero-grid-shape-6:hover {border-radius: 50% 0 50% 0;}
	body:not(.animations-off) .hero-grid-shape-7:hover {border-radius: 0 50% 50% 0;}
}


	/* home about */

.home-about h2 {margin-bottom: var(--space-m); font-size: var(--step-4); line-height: 1; font-weight: 900;}

.home-about p {margin-bottom: var(--space-l-xl); font-size: var(--step--1); line-height: 1.65; font-weight: 400;}
.home-about p strong {font-weight: 700;}

@media (max-width: 991.98px) {
	.home-about .link-btn {--link_btn_img_width: 3em;}
}
@media (max-width: 767.98px) {
	.home-about h2 {font-size: var(--step-2);}
	.home-about p br {display: none;}
}


.home-about-grid {display: grid; grid-template-columns: var(--space-s) 1fr 1fr 1fr var(--space-s);}

.home-about-grid > div {position: relative; display: grid; place-items: center; aspect-ratio: 1; background-color: #fff;}
.home-about-grid > div:first-child {border-radius: 50% 0 50% 50%;}
.home-about-grid > div:nth-child(2) {border-radius: 0 0 0 50%;}
.home-about-grid > div:last-child {border-radius: 0 0 50% 50%;}
body.contrast .home-about-grid > div {border: 1px solid #fff;}

.home-about-grid > div > img {width: 48%; margin-top: -5%; transition: transform 0.3s;}

.home-about-grid > div a {position: absolute; left: 50%; bottom: 0; transform: translateX(-50%) translateY(50%);}

@media (min-width: 768px) {
	.home-about-grid > div:first-child {grid-column: 2 / span 1;}
	.home-about-grid > div:nth-child(2) {grid-column: 3 / span 1; animation-delay: 0.2s;}
	.home-about-grid > div:last-child {grid-column: 4 / span 1; animation-delay: 0.4s;}
}
@media (max-width: 767.98px) {
	.home-about-grid {padding-inline: var(--main_margin); grid-template-columns: 1fr; row-gap: var(--space-px-xl); width: min(100%, 360px); margin: 0 auto calc(var(--step-0) * 1.5) auto;}
}
@media (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .home-about-grid > div:hover > img {transform: scale(1.05);}
}


	/* home news & event */

.home-news-bg {background-image: linear-gradient(to bottom, var(--color_ivory), var(--color_ivory) 50%, #f38d1d 50%, #f38d1d 100%);}

.home-news-header {column-gap: var(--space-l-xl); row-gap: var(--space-2xs-xs); align-items: baseline; margin-bottom: var(--space-m-xl);}
.home-news-header h2 {margin: 0; font-size: var(--step-4); line-height: 1; font-weight: 900; background-color: var(--color_sand);}
.home-news-header p {margin: 0 var(--space-s) 0 0; font-size: var(--step-1); line-height: 1.5; font-weight: 400;}

@media (max-width: 767.98px) {
	.home-news-header {align-items: center;}
	.home-news-header .link-btn-img {--link_btn_img_width: 1.5em;}
	.home-news-header h2 {font-size: var(--step-2);}
	.home-news-header p {margin: 0 var(--space-xs) 0 0; font-size: var(--step--1)}
}
@media (min-width: 768px) {
	:is(.home-news, .home-event) .category-post-home {
		grid-template-columns: 1fr var(--space-px-l-xl) var(--space-px-l-xl) 1fr;
		column-gap: 0;
	}
	.home-news .category-post-content {grid-column: 4 / span 1;}
	.home-news .category-post-img {grid-column: 1 / span 2;}
	.home-event .category-post-content {grid-column: 1 / span 1;}
	.home-event .category-post-img {grid-column: 3 / span 2;}
}


	/* home opp */

.home-opp-bg {background-image: linear-gradient(to bottom, var(--color_sand), var(--color_sand) 50%, var(--color_yellow) 50%, var(--color_yellow) 100%);}

.home-opp-container-bg {background-image: linear-gradient(to bottom, #f38d1d 0%, #d81e5b 100%);}

.home-opp-hearts-bg {background: url('img/opp-heart-bg-2.png'); background-repeat: repeat; background-size: 40%;}

.home-opp {position: relative; text-align: center;}
.home-opp-bottom {width: 100%; height: var(--space-px-xl-2xl);}

.home-opp-logo {display: grid; grid-template-columns: 26% 34%; align-items: center; justify-content: center; gap: var(--space-m-xl); margin-bottom: var(--space-xl);}
.home-opp-logo img {display: inline-block;}

.home-opp h2 {margin-bottom: var(--space-xl); font-size: var(--step-4); line-height: 1; font-weight: 900; color: var(--color_ivory);}
.home-opp p {margin-bottom: 0; padding: 0.35em 1.15em; font-size: var(--step-3); line-height: 1; font-weight: 900; letter-spacing: 0.05em; border-radius: 10rem; background-color: var(--color_ivory); color: var(--color_red);}
body.contrast .home-opp p {border: 1px solid #ff0;}

@media (max-width: 767.98px) {
	.home-opp-hearts-bg {background-size: 66.66667%;}
	.home-opp-logo {grid-template-columns: 1fr; margin-inline: var(--main_margin);}
	.home-opp-logo img:first-child {max-width: min(75%, 240px); margin-inline: auto;}
	.home-opp-logo img:last-child {max-width: min(100%, 320px); margin-inline: auto;}
	.home-opp h2 {font-size: var(--step-2);}
	.home-opp p {font-size: var(--step-1);}
}
@media (max-width: 479.98px) {
	.home-opp-hearts-bg {background-size: 100%;}
}


	/* home clinic */
	
.home-clinic-bg {background-image: linear-gradient(to bottom, #d92358, #d92358 50%, var(--color_ivory) 50%, var(--color_ivory) 100%);}

.home-clinic {
	--additional_info_color: var(--color_dark_red);
	display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--space-px-xl-2xl);
	padding-top: calc(var(--space-px-xl-3xl) - var(--space-px-xl-2xl));
}
.home-clinic-desc {margin-bottom: var(--space-m-l);}
.home-clinic-desc > :last-child {margin-bottom: 0;}
.home-clinic h2 {margin-bottom: var(--space-s-m); font-size: var(--step-4); line-height: 1; font-weight: 900; color: #000;}
.home-clinic p {margin-bottom: var(--space-s-m); font-size: var(--step--1); line-height: 1.65; font-weight: 400;}
.home-clinic p b, .home-clinic p strong {font-weight: 700;}
.home-clinic ul {margin-bottom: var(--space-s-m); padding: 0; list-style: none; font-size: var(--step-0); line-height: 1.1; font-weight: 900;}
.home-clinic ul li {padding-block: 0.4em;}

@media (min-width: 768px) {
	.home-clinic-content {grid-column: 2 / span 1; order: 2;}
}
@media (max-width: 767.98px) {
	.home-clinic {
		--additional_info_margin_block: 0 var(--space-l);
		grid-template-columns: 1fr;/*  border-radius: 0 0 0 var(--main_margin); */
	}
	.home-clinic h2 {font-size: var(--step-2);}
	.home-clinic p:has(+ ul) {margin-bottom: var(--space-xs);}
}

.home-clinic-grid {
 	--home_clinic_grid_size: var(--space-px-xl-3xl);
	grid-column: 1 / span 1;
	display: grid;
	grid-template-columns:
		calc(var(--home_clinic_grid_size) / 2.25)
		var(--home_clinic_grid_size)
		calc(var(--home_clinic_grid_size) / 2.25)
		var(--home_clinic_grid_size)
		var(--home_clinic_grid_size)
		calc(var(--home_clinic_grid_size) / 2.25);
	grid-template-rows:
		calc(var(--home_clinic_grid_size) + (var(--home_clinic_grid_size) * 2) / 2.25)
		var(--home_clinic_grid_size)
		var(--home_clinic_grid_size)
		calc(var(--home_clinic_grid_size) + (var(--home_clinic_grid_size) * 2) / 2.25)
		var(--home_clinic_grid_size);
}

.home-clinic-grid div img {transition: transform 0.3s;}
body.contrast .home-clinic-grid div:not(:has(img)) {border: 1px solid #fff;}

.home-clinic-grid-pic-1 {grid-column: 1 / span 4; grid-row: 1 / span 2; overflow: hidden; border-radius: 0 50% 0 50%;}
.home-clinic-grid-pic-2 {grid-column: 3 / span 4; grid-row: 3 / span 2; overflow: hidden; border-radius: 50% 0 50% 0;}

.home-clinic-grid :nth-child(n + 3) {transition: border-radius 0.3s;}
.home-clinic-grid-shape-1 {grid-column: 2 / span 1; grid-row: 3 / span 1; border-radius: 0 50% 50% 50%;}
.home-clinic-grid-shape-2 {grid-column: 5 / span 1; grid-row: 2 / span 1; border-radius: 50% 0 50% 50%;}
.home-clinic-grid-shape-3 {grid-column: 4 / span 1; grid-row: 5 / span 1; border-radius: 50%;}

@media (max-width: 768px) {
	.home-clinic-grid {order: 1;}
}
@media (max-width: 767.98px) {
	.home-clinic-content + .home-clinic-grid {display: none;}
	.home-clinic-grid {
		--home_clinic_grid_size: min(19.6875vw, 90px);
		width: min(100%, 390px); margin: 0 auto var(--space-l) auto;
	}
}
@media (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .home-clinic-grid div:hover img {transform: scale(1.05);}
	body:not(.animations-off) .home-clinic-grid-shape-1:hover {border-radius: 50% 0 50% 50%;}
	body:not(.animations-off) .home-clinic-grid-shape-2:hover {border-radius: 50% 50% 0 50%;}
	body:not(.animations-off) .home-clinic-grid-shape-3:hover {border-radius: 0 0 50% 50%;}
}


	/* landing pages */

.landing-page-about {position: relative; isolation: isolate; overflow: hidden;}

.landing-page-about :where(h1, h2, h3), .landing-page-more h2 {margin-bottom: var(--space-m); font-size: var(--step-4); line-height: 1; font-weight: 900; text-wrap: balance;}

.landing-page-grid p, .landing-page-more p {margin-bottom: 1em; font-size: var(--step-0);}
.landing-page-grid :nth-child(3) p {font-size: var(--step--1);}
.landing-page-grid p strong {font-weight: 700;}

.landing-page-grid ul {margin-bottom: 1em; padding: 0; list-style: none; font-size: var(--step-0);}
.landing-page-grid ol {margin-bottom: 1em; padding: 0 0 0 1.5em; font-size: var(--step-0);}
.landing-page-grid :nth-child(3) ul, .landing-page-grid :nth-child(3) ol {font-size: var(--step--1);}
.landing-page-grid ul li:before {content: '•'; padding-right: 0.75em;}

.landing-page-grid-logo {display: grid; place-items: center; width: 80%; aspect-ratio: 1; border-radius: 50% 0 50% 50%; background-color: #fff;}
.landing-page-grid-logo img {width: 48%;}
body.contrast .landing-page-grid-logo {border: 1px solid #fff;}

.landing-page-grid {display: grid; grid-template-columns: 1fr 1fr; grid-gap: var(--space-px-m-l);}
.landing-page-grid:has(+ *) {margin-bottom: var(--space-l-xl);}
.landing-page-grid > :first-child {grid-area: about; margin-bottom: var(--space-m-l);}
.landing-page-grid > :nth-child(2) {grid-area: logo;}
.landing-page-grid > :nth-child(3) {grid-area: content;}
.landing-page-grid > :nth-child(2):has(+ div + div),
.landing-page-grid > :nth-child(3):has(+ div) {margin-bottom: calc(var(--space-m-l) * 2.5);}
.landing-page-grid > * > :last-child {margin-bottom: 0 !important;}

.landing-page-grid + p {margin-bottom: 0; font-size: var(--step-4); line-height: 1.2; font-weight: 400; letter-spacing: 0.05em;}

@media (max-width: 991.98px) {
	.landing-page-grid > :is(:nth-child(2), :nth-child(3), :nth-child(-2)) {margin-bottom: var(--space-m-l);}
	.landing-page-grid-logo {width: 90%;}
	.landing-page-grid + p {font-size: var(--step-2); letter-spacing: 0;}
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.landing-page-grid p:has(+ p > .highlight) {margin-bottom: 0.25em;}
	.landing-page-grid .highlight {margin-left: 1em;}
}
@media (max-width: 767.98px) {
	.landing-page-grid {grid-template-columns: 1fr;}
	.landing-page-grid :nth-child(3) :is(p, ul, ol) {font-size: var(--step-0);}
	.landing-page-grid p .highlight {display: block;}
	.landing-page :where(h1, h2, h3), .landing-page-more h2 {font-size: var(--step-3);}
	.landing-page-grid-logo {width: min(360px, 100%); margin-inline: auto;}
}


.landing-page-more {color: #fff;}
.landing-page-more-grid {display: grid; grid-template-columns: 1fr 1fr; grid-gap: var(--space-px-m-l); align-items: baseline; margin-bottom: var(--space-m)}
.landing-page-more-grid > * > :last-child {margin-bottom: 0;}
.landing-page-more p.big {font-size: var(--step-2); line-height: 1.2; font-weight: 700;}
@media (max-width: 991.98px) {
	.landing-page-more-grid {grid-template-columns: 1fr;}
}
@media (max-width: 767.98px) {
	.landing-page-more {border-radius: 0 var(--main_margin);}
	.landing-page-more-grid + * {margin-bottom: var(--space-m);}
}


	/* foundation landing page */

.foundation-about-bg {background-image: linear-gradient(to bottom, var(--color_sand), var(--color_sand) 50%, var(--color_yellow) 50%, var(--color_yellow) 100%);}

.foundation-about-bg-logo {position: absolute; z-index: -1; width: min(55vw, 1056px); aspect-ratio: 1; background: url('img/logo/logo-BonaFideKRK-serce-op-04.svg') left top / 100% no-repeat;}
.foundation-about-bg-logo-1 {top: max(-30vw, -576px); left: var(--main_margin); transform: rotate(90deg);}
.foundation-about-bg-logo-2 {top: calc(var(--space-3xl) * 2); right: max(-18vw, -345px); transform: rotate(180deg);}
.foundation-about-bg-logo-3 {bottom: max(-18vw, -345px); left: max(-13vw, -250px);}

.foundation-about-grid {grid-template-areas: "about ." "logo content" "tax support";}

.landing-page-grid.foundation-about-grid > :nth-child(4) {grid-area: support;}
.landing-page-grid.foundation-about-grid > :nth-child(5) {grid-area: tax;}

@media (max-width: 991.98px) {
	.foundation-about-grid {grid-template-areas: "about about" "logo content" "support support" "tax tax";}
}
@media (max-width: 767.98px) {
	.foundation-about-bg-logo {width: min(75vw, 360px);}
	.foundation-about-bg-logo-1 {top: var(--main_margin);}
	.foundation-about-bg-logo-2 {top: 48rem; right: var(--main_margin);}
	.foundation-about-bg-logo-3 {bottom: var(--main_margin); left: var(--main_margin);}	
	.foundation-about-grid {grid-template-areas: "about" "logo" "content" "support" "tax";}
}


	/* sps landing page */

.school-about-bg {background-image: linear-gradient(to bottom, var(--color_sand), var(--color_sand) 50%, var(--color_rose) 50%, var(--color_rose) 100%);}

.school-about-bg-logo {position: absolute; z-index: -1; width: min(55vw, 1056px); aspect-ratio: 1; background: url('img/logo/logo-SPS121-promyki-op-04.svg') left top / 100% no-repeat;}
.school-about-bg-logo-1 {top: max(-30vw, -576px); left: calc(var(--main_margin) / 2);}
.school-about-bg-logo-2 {top: calc(var(--space-3xl) * 3); right: max(-18vw, -345px);}
.school-about-bg-logo-3 {bottom: max(-20vw, -384px); left: max(-18vw, -345px);}

.school-about-grid {grid-template-areas: "about ." "logo content" "section3 section3";}
.landing-page-grid.school-about-grid > :nth-child(4) {grid-area: section3;}
.school-about-grid :nth-child(3) p:last-of-type,
.school-about-grid :nth-child(4) p:last-of-type {margin-bottom: var(--space-m);}

@media (max-width: 991.98px) {
	.school-about-grid {grid-template-areas: "about about" "logo content" "section3 section3";}
}
@media (max-width: 767.98px) {
	.school-about-bg-logo {width: min(75vw, 360px);}
	.school-about-bg-logo-1 {top: var(--main_margin);}
	.school-about-bg-logo-2 {top: 40rem; right: var(--main_margin);}
	.school-about-bg-logo-3 {bottom: var(--main_margin); left: var(--main_margin);}	
	.school-about-grid {grid-template-areas: "about" "logo" "content" "section3";}
}


	/* orw landing page */

.orw-about-bg {background-image: linear-gradient(to bottom, var(--color_sand), var(--color_sand) 50%, var(--color_navy) 50%, var(--color_navy) 100%);}

.orw-about-bg-logo {position: absolute; z-index: -1; width: min(59vw, 1133px); aspect-ratio: 1.93; background: url('img/logo/logo-ORW-orw-op-04.svg') left top / 100% no-repeat;}
.orw-about-bg-logo-1 {top: max(-3vw, -57px); left: 0;}
.orw-about-bg-logo-2 {top: calc(var(--space-3xl) * 3.8); right: max(-12vw, -230px);}
.orw-about-bg-logo-3 {bottom: max(-11vw, -211px); left: max(-8vw, -154px);}

.orw-about-grid {grid-template-areas: "about ." "logo content" "section3 section3";}
.landing-page-grid.orw-about-grid > :nth-child(4) {grid-area: section3;}

.orw-about-grid :nth-child(3) p:last-of-type,
.orw-about-grid :nth-child(4) p:last-of-type {margin-bottom: var(--space-m);}

@media (max-width: 991.98px) {
	.orw-about-grid {grid-template-areas: "about about" "logo content" "section3 section3";}
}
@media (max-width: 767.98px) {
	.orw-about-bg-logo {width: min(80vw, 400px);}
	.orw-about-bg-logo-1 {top: var(--main_margin); left: var(--main_margin);}
	.orw-about-bg-logo-2 {top: 48rem; right: var(--main_margin);}
	.orw-about-bg-logo-3 {bottom: var(--main_margin); left: var(--main_margin);}	
	.orw-about-grid {grid-template-areas: "about" "logo" "content" "section3";}
}


	/* festival */

.page-festiwal .festival h1,
.page-fundacjabf .festival h2 {margin-bottom: var(--space-l); font-size: var(--step-4); line-height: 1.1; font-weight: 900;}

.page-festiwal .festival h2,
.page-fundacjabf .festival h3 {margin-bottom: var(--space-m); font-size: var(--step-2); line-height: 1; font-weight: 700;}

.festival p {margin-bottom: var(--space-xs); font-size: var(--step-0);}
.festival p strong {font-weight: 700;}
@media (min-width: 768px) {
	.festival-idea-columns {column-count: 2; column-gap: var(--space-px-m-l);}
}
@media (max-width: 767.98px) {
	.page-festiwal .festival h1, .page-fundacjabf .festival h2 {font-size: var(--step-3); word-wrap: break-word; overflow-wrap: break-word; -webkit-hyphens: auto; -ms-hyphens: auto; -moz-hyphens: auto; hyphens: auto;}
}


.page-fundacjabf .festival-idea-bg {background-image: linear-gradient(to bottom, var(--color_ivory), var(--color_ivory) 50%, var(--color_citron) 50%, var(--color_citron) 100%);}
.page-festiwal .festival-idea-bg {background-image: linear-gradient(to bottom, var(--color_ivory), var(--color_ivory) 50%, var(--color_yellow) 50%, var(--color_yellow) 100%);}

.page-fundacjabf .festival-infos-bg {background-image: linear-gradient(to bottom, var(--color_yellow), var(--color_yellow) 50%, var(--color_ivory) 50%, var(--color_ivory) 100%);}
.page-fundacjabf .festival-infos {padding-top: var(--space-px-xl);}

.page-festiwal .festival-infos-bg {background-image: linear-gradient(to bottom, var(--color_yellow), var(--color_yellow) 50%, var(--color_ivory) 50%, var(--color_ivory) 100%);}
.page-festiwal .festival-infos {padding-top: var(--space-px-xl);}

.page-festiwal .festival-editions-bg {background-image: linear-gradient(to bottom, var(--color_sand), var(--color_sand) 50%, var(--color_citron) 50%, var(--color_citron) 100%);}
.page-festiwal .festival-editions {padding-block: var(--space-px-xl);}


.festival-editions-header {gap: var(--space-s);}
.festival-editions p {margin: 0;}
.festival-editions-grid {
	--additional_info_margin_block: 0 var(--space-xs);
	--additional_info_color: var(--color_dark_red);
	display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-m); padding-top: var(--space-px-l-xl);
}

.festival-edition-img {position: relative; margin-bottom: var(--space-l);}
.festival-edition-img div {overflow: hidden; border-radius: var(--space-px-m-l);}
.festival-edition-img img {transition: transform 0.4s;}
.festival-edition-img a {position: absolute; z-index: 2; left: 50%; bottom: 0; transform: translateX(-50%) translateY(50%);}
.festival-edition-desc h3, .festival-edition-desc h4 {font-size: var(--step--1); line-height: 1.35; font-weight: 400;}
.festival-edition-desc time {/* margin-bottom: var(--space-2xs); font-size: var(--step--1); line-height: 1; font-weight: 900; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color_red); */}

@media (max-width: 767.98px) {
	.festival-editions .link-btn {--link_btn_img_width: 2.4em;}
	.festival-editions-grid {grid-template-columns: 1fr; gap: var(--space-l);}
	.festival-edition-desc h3, .festival-edition-desc h4 {font-size: var(--step-0);}
}
@media (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .festival-edition-img:hover img {transform: scale(1.05);}
}


.festival-info {display: grid; grid-template-columns: 1fr;}
.festival-info.two-sections {grid-template-columns: 1fr 60%; gap: var(--space-m);}
.festival-info ul {margin-bottom: var(--space-s); padding: 0; list-style: none; font-size: var(--step-0);}
.festival-info ul .link-btn {
	--link_btn_bg_color: #000;
	--link_btn_bg_active_color: var(--color_red);
}

.festival-info li:not(:last-child) {padding-bottom: 0.7em;}
.festival-info li > span {margin-right: 0.5em;}

.festival-info p > a {font-weight: 900; text-decoration: none; border-radius: 0.25em; color: #000; text-decoration: underline; text-decoration-style: dashed; text-underline-offset: 0.25em; transition: color 0.2s;}
.festival-info p > a:is(:hover, :active) {text-decoration-style: solid; color: var(--color_dark_red);}
.festival-info p > a:focus {outline: none;}
.festival-info p > a:focus-visible {outline: 2px solid #000; outline-offset: 0.25em; text-decoration: none;}
body.contrast .festival-info p > a:focus-visible {outline: 2px solid #0f0;}
@media (max-width: 1199.98px) {
	.festival-info.two-sections {grid-template-columns: 1fr; gap: var(--space-xl);}
}
@media (max-width: 767.98px) {
	.festival-info li {padding-block: 0 1.5em;}
	.festival-info li > span {display: block; margin-bottom: 0.5em;}
}


	/* category */

.category-posts-container {padding-block: var(--space-px-xl-2xl) var(--space-px-2xl-3xl);}

.category-posts-container h1 {margin-bottom: var(--space-px-l-xl); font-size: var(--step-4); font-weight: 700; text-transform: lowercase;}
.category-posts-container h1::first-letter {text-transform: uppercase;}

.category-posts {display: grid; gap: var(--space-px-xl); margin-bottom: var(--space-px-xl-2xl);}

.category-post {
	--additional_info_margin_block: 0 calc(var(--space-xs-m) * 0.8);
	display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--space-px-l-xl);
}
.category-festival .category-post {
	--additional_info_color: var(--color_dark_red);
}

.category-post-content {padding-top: var(--space-px-xs-l);}

.category-post h2, .category-post h3 {margin-bottom: calc(var(--space-xs-m) * 0.8); font-size: var(--step-1); font-weight: 700;}
.category-post p {margin-bottom: var(--space-m); font-size: var(--step--1); line-height: 1.65;}

.category-post-img > div {overflow: hidden; border-radius: var(--space-px-xs-l);}
.category-post-img img {transition: transform 0.5s;}

@media (max-width: 767.98px) {
	.category-post {grid-template-columns: 1fr;}
	.category-post-content {order: 2; padding-top: var(--space-px-m);}
	.category-post-img {order: 1;}
}
@media (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .category-post:hover .category-post-img img {transform: scale(1.05);}
}

.category-bottom {gap: var(--space-px-xl);}


.pagination ul {gap: var(--space-2xs); list-style-type: none; margin: 0 auto; padding: 0;}
.pagination-arrow-prev {margin-right: var(--space-2xs);}
.pagination-arrow-next {margin-left: var(--space-2xs);}
.pagination-arrow-prev img {--link_btn_img_margin: 0 0 0 -0.1em; transform: rotate(180deg);}
.pagination-item .link-btn.inactive,
.pagination-item.active .link-btn { 
	--link_btn_bg_color: #000;
	--link_btn_bg_active_color: var(--color_red);
}
.pagination-number.active .link-btn:hover {
	--link_btn_bg_color: var(--color_red);
	--link_btn_bg_active_color: #000;
}


	/* single news */

.single-festival .news-article {--additional_info_color: var(--color_dark_red);}
.news-featured-img {margin-bottom: var(--space-m-l);}
.news-featured-img a {display: inline-block; overflow: hidden; border-radius: var(--space-px-xs);}
.news-featured-img img {max-width: 100%; transition: transform 0.4s;}
@media (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .news-featured-img a:hover img {transform: scale(1.05);}
}

	/* default */

.default-article {padding-block: var(--space-px-xl-2xl) var(--space-px-2xl-3xl); font-size: var(--step-0);}

.default-content {margin-bottom: var(--space-m-l);}
.default-content > :last-child {margin-bottom: 0;}

.default-article h1 {margin-bottom: var(--space-m-l); font-size: var(--step-3); font-weight: 700;}
.default-article h2 {margin-bottom: var(--space-m-l); font-size: var(--step-2); font-weight: 700;}
.default-article h3 {margin-bottom: var(--space-m-l); font-size: var(--step-1); font-weight: 700;}
.default-article h4 {margin-bottom: var(--space-m-l); font-size: var(--step-0); font-weight: 700;}

.default-article p {margin-bottom: var(--space-s);}

.default-article ol {margin-bottom: var(--space-s); padding-left: 2.25em;}
.default-article ul {margin-bottom: var(--space-s); padding-left: 2.25em;}
.default-article li:not(:last-child) {padding-bottom: 0.5em;}
.default-article li ol, .default-article li ul {margin-block: 0.5em 0;}

.default-article a:not(.link-btn) {text-decoration-style: dashed; text-underline-offset: 0.2em; color: var(--color_red); border-radius: 0.25em;}
.default-article a:not(.link-btn):is(:hover, :active):not(:has(img)) {text-decoration-style: solid; color: var(--color_rose);}
.default-article a:not(.link-btn):focus {outline: none;}
.default-article a:not(.link-btn):focus-visible {outline: 2px solid currentColor; outline-offset: 0.1em; text-decoration: none;}

.default-article img {max-width: 100%; height: auto; border-radius: var(--space-px-xs); transition: transform 0.4s;}
.default-article a:not(.link-btn):has(img) {display: inline-block; overflow: hidden; border-radius: var(--space-px-xs);}
.default-article a:not(.link-btn):has(img):focus-visible {outline-offset: 0.4em;}
.default-content > img, .default-content > a:not(.link-btn):has(img) {margin-bottom: var(--space-m-l);}
.default-article p:has(> a > img.aligncenter) {text-align: center;}
.default-article p:has(> a > img.alignright) {text-align: right;}

.default-article strong, .default-article b {font-weight: 700;}

.default-content > *:has(+ h2, + h3, + h4, + a, + img, + .gallery, + style + .gallery), .default-content > p:has(+ p > a > img) {margin-bottom: var(--space-m-l);}
.default-content > :is(img, a, .gallery):has(+ h2, + h3, + h4),
.default-content > :is(h2, h3, h4):has(+ img, + a, + .gallery, + style + .gallery) {margin-bottom: calc(var(--space-m-l) * 1.25);}

.gallery {display: grid; grid-template-columns: repeat(6, 1fr); grid-gap: var(--space-px-m); margin-bottom: var(--space-m-l);}
.gallery-item {width: 100% !important; float: none !important; margin: 0 !important;}
.gallery-icon {display: grid; place-items: center; width: 100%; aspect-ratio: 1; border-radius: var(--space-px-xs); background-color: var(--color_ivory);}
.gallery-icon a {vertical-align: top; border-radius: var(--space-px-xs) !important;}
.gallery-icon img {display: block; border: 0 !important;}
.gallery-icon.portrait img {width: auto;}

.default-article .wp-caption {}
.default-article .wp-caption.aligncenter {max-width: 100%; margin-inline: auto; text-align: center;}
.default-article .wp-caption.alignright {max-width: 100%; margin-left: auto; text-align: right;}
.default-article .wp-caption-text {margin: var(--space-s) 0 var(--space-xs) 0; font-size: var(--step--1); text-align: center;}

.gallery br {display: none !important;}

.default-content .form-container {display: flex; gap: var(--space-s); align-items: center;}
.default-content .form-container input[type='password'] {display: inline-block; max-width: 20rem; height: calc(var(--space-l) * 1.2); padding: 1em; font-size: var(--step-0); line-height: 1.5; font-weight: 700; border: none; border-radius: 10rem; background-color: var(--color_ivory); color: #000; outline: 1px dashed #000;}
.default-content .form-container input[type='password']:focus {outline: 2px solid var(--color_red);}
body.contrast .default-content .form-container input[type='password'] {border: 1px solid #0f0;}
body.contrast .default-content .form-container input[type='password']:focus {outline: 2px solid #0f0; outline-offset: 0.25em;}

@media (min-width: 768px) {
	.gallery-item {grid-column: span 3;}
	.gallery-item .portrait img {height: calc((min(100vw, 1920px) - (var(--main_margin) + var(--padding-0-xl)) * 2 - var(--space-px-m)) / 2);}
	.gallery-item:nth-child(n + 3) {grid-column: span 2;}
	.gallery-item:nth-child(n + 3) .portrait img {height: calc((((min(100vw, 1920px) - (var(--main_margin) + var(--padding-0-xl)) * 2)) - (var(--space-px-m) * 2)) / 3);}
}
@media (max-width: 767.98px) {
	.gallery {grid-template-columns: 1fr 1fr;}
	.gallery-item .portrait img {height: calc((min(100vw, 32rem + (var(--main_margin) * 2)) - (var(--main_margin) * 2) - var(--space-px-m)) / 2);}
	.default-content .form-container {flex-direction: column; align-items: start; justify-content: center;}
}
@media (max-width: 479.98px) {
	.gallery {grid-template-columns: 1fr;}
	.gallery-item .portrait img {height: calc(100vw - (var(--main_margin) * 2));}
	.mediumfont .default-article :is(h1, h2, a:not(.link-btn)),
	.largefont .default-article :is(h1, h2, a:not(.link-btn)) {word-wrap: break-word; overflow-wrap: break-word; -webkit-hyphens: auto; -ms-hyphens: auto; -moz-hyphens: auto; hyphens: auto;}
	.mediumfont .default-article :is(ol, ul) {padding-left: 1.75em;}
	.largefont .default-article :is(ol, ul) {padding-left: 1.5em;}
}
@media (prefers-reduced-motion: no-preference) {
	body:not(.animations-off) .default-article a:has(img):hover img {transform: scale(1.05);}
}


	/* contact */

.contact {padding-top: var(--space-px-xl-3xl); border-top-right-radius: var(--space-px-xl-2xl); background-color: var(--color_ivory); color: #000;}

.contact-header {margin-bottom: var(--space-l-xl);}

.contact-content {gap: var(--space-px-l-xl);}

.contact-logo {width: var(--space-px-4xl); margin-right: calc(var(--space-px-s) / 2);}
.contact-logo img {width: 100%; height: auto;}

.contact-data {margin-right: var(--space-px-s-xl);}

.contact h2 {margin-bottom: 0; font-size: var(--step-4); line-height: 1; font-weight: 900;}

.contact p {margin-bottom: var(--space-xs); font-size: var(--step-0); line-height: 1.75; font-weight: 400;}
.contact p.contact-name {margin-bottom: var(--space-2xs); font-size: var(--step-1); line-height: 1; font-weight: 900; text-transform: uppercase;}
.contact p.contact-map-link {font-size: var(--step--1); font-weight: 900; text-transform: uppercase;}
.contact p strong {font-weight: 700;}

.contact p:not(:last-of-type) a {position: relative; font-weight: 700; text-decoration: underline; text-decoration-style: dashed; text-underline-offset: 0.25em; text-decoration-thickness: 0.08em; border-radius: 0.25em; color: #000;}
.contact p:not(:last-of-type) a:is(:hover, :active, :focus) {outline: none; outline-offset: 0.25em; box-shadow: none; text-decoration-style: solid; color: var(--color_red);}
.contact p:not(:last-of-type) a:focus-visible {outline: 2px solid #000; text-decoration: none;}
body.contrast .contact p:not(:last-of-type) a:focus-visible {outline: 2px solid #0f0;}
/* .contact p:not(:last-of-type) a::before {content: ''; position: absolute; width: 0px; height: 2px; left: 50%; bottom: 0; background-color: currentColor; transition: all ease-in-out .2s;}
.contact p:not(:last-of-type) a:hover::before {width: 100%; left: 0;} */

.contact p:last-of-type > span {margin-right: var(--space-s);}
.contact p:last-of-type a {margin: var(--space-2xs) 0 0 0;}

.contact ul {margin: 0; padding: 0; list-style: none; font-size: var(--step-1); line-height: 1.25;}
.contact ul a {position: relative; font-size: var(--step--1); text-decoration: underline; text-decoration-style: dashed; text-underline-offset: 0.2em; border-radius: 0.15em; color: #000;}
.contact ul a:is(:hover, :active, :focus) {outline: none; box-shadow: none; text-decoration-style: solid; color: var(--color_red);}
.contact ul a:focus-visible {outline: 2px solid #000; outline-offset: 0.2em; text-decoration: none;}
body.contrast .contact ul a:focus-visible {outline: 2px solid #0f0;}
/* .contact ul a::before {content: ''; position: absolute; width: 0px; height: 1px; left: 50%; bottom: 0em; background-color: currentColor; transition: all ease-in-out .2s;}
.contact ul a:hover::before {width: 100%; left: 0;} */

@media (min-width: 1200px) {
	.contact .social-media {margin-bottom: var(--space-m);}
	body.contrast .contact ul li {margin-bottom: 0.2em;}
}
@media (min-width: 576px) and (max-width: 1199.98px) {
	.contact ul li {display: inline-block; margin-right: var(--space-m);}
}
@media (max-width: 767.98px) {
	.contact {border-top-right-radius: calc(var(--main_margin) * 2);}
	.contact h2 {font-size: var(--step-2);}
	.contact ul li:not(:last-child) {padding-bottom: 0.5em;}
	.contact ul a {font-size: var(--step-0);}
	.contact p {margin-bottom: var(--space-m);}
}
@media (max-width: 359.98px) {
	.largefont .contact p:not(:last-of-type) a {word-wrap: break-word; overflow-wrap: break-word; -webkit-hyphens: auto; -ms-hyphens: auto; -moz-hyphens: auto; hyphens: auto;}
}

	/* footer */

footer {position: relative;}

.back-to-top {position: absolute; left: 50%; transform: translateX(-50%) translateY(-50%);}
.back-to-top img {transform: rotate(-45deg);}

.footer {gap: var(--space-m); padding-block: var(--space-px-xl-2xl); font-size: var(--step--2); line-height: 1; font-weight: 700; background-color: var(--color_ivory); color: #000;}

.footer ul {margin: -1px 0 0 0; padding: 0; list-style: none; color: #000;}
.footer li {position: relative; margin-right: var(--space-xs); padding-right: var(--space-xs);}
.footer li:last-child {margin-right: 0; padding-right: 0;}
.footer li:not(:last-child):after {content: ''; position: absolute; top: 0.5em; right: -0.08em; width: 0.16em; height: calc(100% - 1em); background-color: #000;}
.footer ul a {position: relative; display: inline-block; padding-block: 0.5em; text-decoration: underline; text-decoration-style: dashed; text-underline-offset: 0.5em; border-radius: 0.25em; color: #000;}
.footer ul a:is(:hover, :active, :focus) {outline: none; box-shadow: none; text-decoration-style: solid; color: var(--color_red);}
.footer ul a:focus-visible {outline: 2px solid #000; outline-offset: 0.2em; text-decoration: none;}
body.contrast .footer ul a:focus-visible {outline: 2px solid #0f0;}
/* .footer ul a::before {content: ''; position: absolute; width: 0px; height: 1px; left: 50%; bottom: 0.2em; background-color: currentColor; transition: all ease-in-out .2s;}
.footer ul a:hover::before {width: 100%; left: 0;} */

.footer-copyright {line-height: 1.5;}
.footer-copyright span {white-space: nowrap;}

.newmanstudio {display: inline-block; white-space: nowrap;}
.newmanstudio a {font-weight: 400; text-decoration: none; border-radius: 0.1em; color: #000; transition: color 0.4s;}
.newmanstudio a:is(:hover, :focus, :active) {outline: none; color: #071bb2;}
.newmanstudio a:focus-visible {outline: 0.15em solid #071bb2; outline-offset: 1em;}
body.contrast .newmanstudio a:focus-visible {outline: 0.15em solid #0f0;}
.newmanstudio a svg {width: var(--space-m); height: auto; margin-left: var(--space-2xs);}
.newmanstudio a svg path {fill: #000; transition: fill 0.4s;}
.newmanstudio a:is(:hover, :focus, :active) svg path {fill: #071bb2;}
body.contrast .newmanstudio a svg path {fill: #0f0 !important;}

.largefont .footer-links {order: 1 !important; width: 100%;}
.largefont .footer-copyright {order: 2 !important;}
.largefont .footer-newmanstudio {order: 3 !important;}

@media (min-width: 768px) {
	.footer-info {display: contents;}
}
@media (max-width: 1599.98px) {
	.mediumfont .footer-links {order: 1 !important; width: 100%;}
	.mediumfont .footer-copyright {order: 2 !important;}
	.mediumfont .footer-newmanstudio {order: 3 !important;}
}
@media (max-width: 1399.98px) {
	.footer-links {width: 100%;}
}
@media (max-width: 767.98px) {
	.footer {font-size: var(--step--1);}
	.footer-info {order: 2; display: flex; justify-content: space-between; align-items: center; column-gap: var(--space-l); row-gap: var(--space-s); width: 100%; font-size: var(--step--2);}
}
@media (max-width: 479.98px) {
	.footer ul {flex-direction: column !important;}
	.footer li {margin-right: 0; padding-right: 0;}
	.footer li:not(:last-child):after {display: none;}
	:where(.mediumfont, .largefont) .footer-info {flex-wrap: wrap;}
}


	/* cookies */

#cookies-info {position: fixed; z-index: 1000; left: 0; bottom: 0; display: block; width: 100%; margin: 0;}
.cookies-accepted #cookies-info {display: none;}
#cookies-info > div {padding-block: var(--space-m);}
#cookies-info p {margin-bottom: var(--space-s); font-size: var(--step--1); line-height: 1.5; font-weight: 400; color: #000;}
#cookies-info p a {text-decoration: underline; text-underline-offset: 0.2em; text-decoration-style: dashed; font-weight: 400; color: var(--color_red); outline: none;}
#cookies-info p a:hover {text-decoration-style: solid;}
#cookies-info p a:focus-visible {text-decoration: none; outline: 2px solid var(--color_red);}
@media (max-width: 767.98px) {
	#cookies-info > div {padding-block: var(--main_margin);}
}




	/* global animations */

@media (prefers-reduced-motion: no-preference) {

	.js .fadeInStart {opacity: 0;}
/* 
	
	.fadeInStart {opacity: 0;}
	
 */
	@keyframes fadeIn {
		from {opacity: 0;}
		to {opacity: 1;}
	}

	.fadeInAnimation {animation-name: fadeIn; animation-duration: 1.5s; animation-fill-mode: both;}

}

	/* prefers-reduce-motion */

@media (prefers-reduced-motion: reduce) {

	*, ::after, ::before {animation: none !important; transition: none !important;}
	.fade-in {opacity: 1 !important;}
	img:hover, svg:hover, {transform: scale(1) !important;}

}

body.animations-off *,
body.animations-off ::after,
body.animations-off ::before {animation: none !important; transition: none !important;}
body.animations-off .fade-in {opacity: 1 !important;}
body.animations-off img:hover,
body.animations-off svg:hover, {transform: scale(1) !important;}


	/* contrast version */

.d-none-normal {display: none !important;}
.d-none-contrast {}
body.contrast .d-none-normal {display: inline-block !important;}
body.contrast .d-none-contrast {display: none !important;}
/* body.contrast span.d-none-normal {display: inline-block;} */

body.contrast,
body.contrast * {background-color: #000 !important; background-image: none !important; color: #ff0 !important;}
body.contrast a,
body.contrast a :is(div, span),
body.contrast button,
body.contrast button :is(div, span) {text-decoration: underline !important; text-underline-offset: 0.2em; text-decoration-style: dashed; color: #0f0 !important; background-color: #000;}
body.contrast a:hover,
body.contrast a:hover :is(div, span),
body.contrast button:hover,
body.contrast button:hover :is(div, span) {text-decoration-style: solid;}
body.contrast .navbar-toggler .icon-bar {background-color: #0f0 !important;}
