:root {
	--color-bg: #F2E8D5;
	--color-text: #2E2B26;
	--color-accent: #C18F54;
	--color-accent-2: #D9B583;
	--color-depth: #6F5B3E;
	--color-olive: #7B8B4D;
	--surface: #F7F1E4;
	--border: #E2D6BF;
	--font-heading: "Outfit", sans-serif;
	--font-body: "Inter", sans-serif;
	--font-additional: "Protest Revolution", sans-serif;
	--fs-4xl: 80px;
	--fs-3xl: 56px;
	--fs-xxl: 44px;
	--fs-xl: 32px;
	--fs-lg: 24px;
	--fs-md: 16px;
	--fs-sm: 14px;
	--lh-sm: 1.2;
	--lh-md: 1.5;
	--radius: 10px;
	--radius-lg: 15px;
	--radius-xl: 30px;
}

body {
	background: var(--color-bg);
	color: var(--color-text);
	font: 400 var(--fs-md)/var(--lh-md) var(--font-body);
}
h1,
h2,
h3 {
	font-family: var(--font-additional);
	line-height: var(--lh-sm);
	color: var(--color-text);
}
h1 {
	font-size: var(--fs-xxl);
}
h2 {
	font-size: var(--fs-xl);
}
h3 {
	font-size: var(--fs-lg);
}
h4,
h5,
h6 {
	font-family: var(--font-heading);
	line-height: var(--lh-sm);
	color: var(--color-text);
}
.title-font {
	font-family: var(--font-additional);
}
.text-accent {
	color: var(--color-accent);
}
.text-accent-2 {
	color: var(--color-accent-2);
}
.text-depth {
	color: var(--color-depth);
}
.text-olive {
	color: var(--color-olive);
}
.text-dark {
	color: var(--color-text) !important;
}
.text-light {
	color: var(--color-bg) !important;
}
.bg-default {
	background-color: var(--color-bg) !important;
}
.bg-accent {
	background-color: var(--color-accent) !important;
}
.bg-accent-2 {
	background-color: var(--color-accent-2) !important;
}
.bg-depth {
	background-color: var(--color-depth) !important;
}
.bg-olive {
	background-color: var(--color-olive) !important;
}
.bg-dark {
	background: linear-gradient(90deg,rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0) 100%), rgba(var(--bs-dark-rgb),var(--bs-bg-opacity));
}
.fs-4xl {
	font-size: var(--fs-4xl);
}
.fs-3xl {
	font-size: var(--fs-3xl);
}
.fs-xxl {
	font-size: var(--fs-xxl);
}
.fs-xl {
	font-size: var(--fs-xl);
}
.fs-lg {
	font-size: var(--fs-lg);
}
.fs-md {
	font-size: var(--fs-md);
}
.fs-sm {
	font-size: var(--fs-sm);
}
header {
	position: absolute;
	z-index: 10;
	left: 15px;
	top: 15px;
	width: calc(100% - 2 * 15px);
	backdrop-filter: blur(5px);
	padding: 0.5rem;
	box-shadow: 0 3px 0px -1px rgba(0,0,0,0.25);
	border-radius: var(--radius-lg);
	overflow: hidden;
}
header.scrolled {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	border-radius: 0;
	box-shadow: none;
}
header:before {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: var(--color-text);
	content: '';
	opacity: 0.25;
	z-index: -1;
	transition: opacity 0.2s ease;
}
header.scrolled:before {
	opacity: 0.75;
}
header .logo {
	display: block;
	margin: 0 auto;
	width: 120px;
}
header .logo svg {
	width: 120px;
	height: 93px;
	fill: var(--color-bg);
	transition: all 0.4s ease;
}
header .logo svg:last-child {
	height: 34px;
	margin: 8px 0;
}
header .logo:hover svg {
	fill: var(--color-accent-2);
}
header.scrolled .logo svg:first-child {
	display: none;
}
header.scrolled .logo svg.d-none {
	display: block !important;
}
header .col-right,
header .col-left {
	position: absolute;
	display: flex;
	align-items: center;
	width: calc(50% - 120px);
	height: 100%;
	top: 0;
}
header .col-left {
	justify-content: flex-end;
	left: 0;
}
header .col-left:not(:only-child) {
	justify-content: space-between;
}
header .col-right {
	justify-content: space-between;
	right: 0;
}
.page-wrapper,
.k6video {
	position: relative;
}
.k6video::before,
.k6video::after {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.k6video::before {
	z-index: 1;
	opacity: 0.65;
	background: linear-gradient(0deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
}
.k6video::after {
	z-index: 2;
	opacity: 0.5;
	background-color: var(--color-depth);
}
.k6video > div {
	position: relative;
	z-index: 3;
}
.k6video > video {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}
.content-overlay {
	height: 100vh;
	height: 100dvh;
}
.btn-theme {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 16px 36px;
	border: 4px solid;
	border: 2px solid transparent;
	font-size: 16px;
	background-color: inherit;
	border-radius: 100px;
	font-weight: 600;
	color: var(--color-accent);
	box-shadow: 0 0 0 2px var(--color-accent);
	cursor: pointer;
	overflow: hidden;
	text-decoration: none;
	transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-theme svg {
	position: absolute;
	width: 24px;
	fill: var(--color-accent);
	z-index: 9;
	transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-theme .arr-right {
	right: 16px;
}
.btn-theme .arr-left {
	left: -25%;
}
.btn-theme .circle {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
	height: 20px;
	background-color: var(--color-accent);
	border-radius: 50%;
	opacity: 0;
	transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-theme .text {
	position: relative;
	z-index: 1;
	transform: translateX(-12px);
	transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-theme:hover {
	box-shadow: 0 0 0 12px transparent;
	color: var(--bs-white);
	border-radius: 12px;
}
.btn-theme:hover .arr-right {
	right: -25%;
}
.btn-theme:hover .arr-left {
	left: 16px;
}
.btn-theme:hover .text {
	transform: translateX(12px);
}
.btn-theme:hover svg {
	fill: var(--bs-white);
}
.btn-theme:active {
	scale: 0.95;
	box-shadow: 0 0 0 4px var(--color-accent);
}
.btn-theme:hover .circle {
	width: 220px;
	height: 220px;
	opacity: 1;
}
.p-6 {
	padding: 4.5rem !important;
}
.pt-6 {
	padding-top: 4.5rem !important;
}
.pb-6 {
	padding-bottom: 4.5rem !important;
}
.ps-6 {
	padding-left: 4.5rem !important;
}
.pe-6 {
	padding-right: 4.5rem !important;
}
.py-6 {
	padding-top: 4.5rem !important;
	padding-bottom: 4.5rem !important;
}
.px-6 {
	padding-left: 4.5rem !important;
	padding-right: 4.5rem !important;
}
.m-6 {
	margin: 4.5rem !important;
}
.mt-6 {
	margin-top: 4.5rem !important;
}
.mb-6 {
	margin-bottom: 4.5rem !important;
}
.ms-6 {
	margin-left: 4.5rem !important;
}
.me-6 {
	margin-right: 4.5rem !important;
}
.my-6 {
	margin-top: 4.5rem !important;
	margin-bottom: 4.5rem !important;
}
.mx-6 {
	margin-left: 4.5rem !important;
	margin-right: 4.5rem !important;
}
header nav > ul {
	display: flex;
	padding: 0;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 0 auto;
}
header nav > ul > li {
	display: block;
	position: relative;
	list-style: none;
}
header nav > ul > li > a {
	position: relative;
	display: flex;
	align-items: center;
	z-index: 1;
	color: var(--bs-white);
	text-decoration: none;
	padding: 1rem 0;
	transition: all 0.4s ease;
}
header nav > ul > li.active > a,
header nav > ul > li:hover > a {
	color: var(--color-accent);
}
header nav > ul li > a::before {
	position: absolute;
	content: "";
	width: 0;
	height: 4px;
	background: var(--color-accent);
	right: 0;
	left: auto;
	bottom: 0.5rem;
	border-radius: 10px;
	transition: all 0.4s ease;
}
header nav > ul li.active > a::before,
header nav > ul > li > a:hover::before {
	width: 100%;
	right: auto;
	left: 0;
}
.burger {
	position: relative;
	width: 31px;
	height: 24px;
	background: transparent;
	cursor: pointer;
	display: block;
}
.burger input {
	display: none;
}
.burger span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: var(--bs-white);
	border-radius: 9px;
	opacity: 1;
	left: 0;
	transform: rotate(0deg);
	transition: .25s ease-in-out;
}
.burger span:nth-of-type(1) {
	top: 0px;
	transform-origin: left center;
}
.burger span:nth-of-type(2) {
	top: 50%;
	transform: translateY(-50%);
	transform-origin: left center;
}
.burger span:nth-of-type(3) {
	top: 100%;
	transform-origin: left center;
	transform: translateY(-100%);
}
.burger input:checked ~ span:nth-of-type(1) {
	transform: rotate(45deg);
	top: 0px;
	left: 5px;
}
.burger input:checked ~ span:nth-of-type(2) {
	width: 0%;
	opacity: 0;
}
.burger input:checked ~ span:nth-of-type(3) {
	transform: rotate(-45deg);
	top: 22px;
	left: 5px;
}
.dd-btn {
	border: 0;
	padding: 0;
	margin: 0;
	outline: 0;
	background: transparent;
	font-size: var(--fs-md);
	color: var(--bs-white);
	white-space: nowrap;
}
.dd-btn svg {
	width: 24px;
	height: 24px;
	stroke: var(--bs-white);
	transition: all 0.4s ease;
}
.dd-btn.active svg {
	transform: rotate(180deg);
}
#loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-text);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	transition: opacity 0.4s ease;
	pointer-events: auto;
}
#loading.hidden {
	opacity: 0;
	pointer-events: none;
}
.spinner {
	display: block;
	width: 9.375em;
	height: 9.375em;
}
.pl__arrows,
.pl__ring-rotate,
.pl__ring-stroke,
.pl__tick {
	animation-duration: 2s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.pl__arrows {
	animation-name: arrows;
	transform: rotate(45deg);
	transform-origin: 16px 52px;
}
.pl__ring-rotate,
.pl__ring-stroke {
	transform-origin: 80px 80px;
}
.pl__ring-rotate {
	animation-name: ring-rotate;
}
.pl__ring-stroke {
	animation-name: ring-stroke;
	transform: rotate(-45deg);
}
.pl__tick {
	animation-name: ticker;
}
.pl__tick:nth-child(2) {
	animation-delay: -1.75s;
}
.pl__tick:nth-child(3) {
	animation-delay: -1.5s;
}
.pl__tick:nth-child(4) {
	animation-delay: -1.25s;
}
.pl__tick:nth-child(5) {
	animation-delay: -1s;
}
.pl__tick:nth-child(6) {
	animation-delay: -0.75s;
}
.pl__tick:nth-child(7) {
	animation-delay: -0.5s;
}
.pl__tick:nth-child(8) {
	animation-delay: -0.25s;
}
.scrolldown {
	position: absolute;
	width: 30px;
	height: 50px;
	left: calc(50% - 30px / 2);
	bottom: 30px;
	border: 2px solid var(--bs-white);
	border-radius: 50px;
	box-sizing: border-box;
	cursor: pointer;
	z-index: 4;
}
.scrolldown::before {
	content: '';
	position: absolute;
	bottom: 30px;
	left: 50%;
	width: 6px;
	height: 6px;
	margin-left: -3px;
	background-color: var(--bs-white);
	border-radius: 100%;
	animation: scrolldown 2s infinite;
	box-sizing: border-box;
}
.chevrons {
	padding: 6px 0 0 0;
	margin-left: -2px;
	margin-top: 52px;
	width: 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.chevrondown {
	margin-top: -6px;
	position: relative;
	border: solid var(--bs-white);
	border-width: 0 3px 3px 0;
	display: inline-block;
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
}
.chevrondown:nth-child(odd) {
	animation: pulse 500ms ease infinite alternate;
}
.chevrondown:nth-child(even) {
	animation: pulse 500ms ease infinite alternate 250ms;
}
.module-swiper {
	width: 100%;
	height: auto !important;
}
.module-swiper .swiper-slide img {
	display: block;
	width: 100%;
	height: auto !important;
	object-fit: cover;
}
.gallery-swiper {
	width: 100%;
	margin-bottom: 16px;
	border-radius: var(--radius) var(--radius) 0 0;
}
.gallery-swiper .swiper-slide img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}
.thumbs-swiper {
	width: 100%;
	box-sizing: border-box;
	border-radius: 0 0 var(--radius) var(--radius);
}
.thumbs-swiper .swiper-slide {
	width: 25%;
	height: auto !important;
	opacity: 0.5;
	cursor: pointer;
}
.thumbs-swiper .swiper-slide-thumb-active {
	opacity: 1;
}
.thumbs-swiper .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.swiper-pagination-bullet {
	transition: all 0.4s ease;
}
.swiper-pagination-bullet:hover {
	background: var(--bs-white) !important;
}
.swiper-button-next,
.swiper-button-prev {
	color: var(--color-accent);
	transition: all 0.4s ease;
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
	color: var(--bs-white);
}
.swiper-button-prev {
	color: var(--color-accent);
	transition: all 0.4s ease;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill,
.swiper-pagination-bullet-active {
	background: var(--color-accent);
}
.pswp__bg {
	-webkit-backdrop-filter: blur(60px);
	backdrop-filter: blur(60px);
	background-color: #32313066;
	transition: all 0.4s cubic-bezier(0.4,0,0.3,1);
}
.pswp__icn-shadow {
	display: none;
}
.pswp__icn {
	fill: var(--bs-white);
}
.btn-vector svg,
.btn-vector-fill svg {
	width: 24px;
	height: 24px;
	transition: all 0.4s ease;
}
.btn-vector svg {
	stroke: var(--color-text);
}
.btn-vector-fill svg {
	fill: var(--color-text);
}
footer {
	position: relative;
	background: var(--color-text);
}
footer:before {
	position: absolute;
	content: '';
	inset: 0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGZpbHRlciBpZD0ibm9pc2UiPjxmZVR1cmJ1bGVuY2UgYmFzZUZyZXF1ZW5jeT0iLjUiIG51bU9jdGF2ZXM9IjIwIi8+PGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAuMzMgMC4zMyAwLjMzIDAgMCAwLjMzIDAuMzMgMC4zMyAwIDAgMC4zMyAwLjMzIDAuMzMgMCAwIDAgMCAwIDEgMCIvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWx0ZXI9InVybCgjbm9pc2UpIi8+PC9zdmc+");
	opacity: 0.25;
	pointer-events: none;
}
footer > * {
	position: relative;
	z-index: 2;
}
footer .logo svg {
	width: 180px;
	height: 172px;
	fill: var(--color-bg);
}
.nav-card {
	display: inline-flex;
	gap: 0.5rem;
	border-radius: var(--radius);
	overflow: hidden;
}
.nav-card a {
	position: relative;
	display: inline-flex;
	width: 32px;
	height: 32px;
	color: var(--bs-white);
	background-color: var(--color-accent);
	border-radius: 4px;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	transition: all 0.4s ease;
	overflow: hidden;
}
.nav-card a > * {
	display: block;
	z-index: 2;
}
.nav-card svg {
	width: 24px;
	height: 24px;
	stroke: var(--bs-white);
}
.social {
	display: flex;
	gap: 0.35rem;
}
.social a {
	position: relative;
	display: inline-flex;
	width: 32px;
	height: 32px;
	background-color: var(--color-accent);
	border-radius: 4px;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	transition: all 0.4s ease;
	overflow: hidden;
}
.nav-card a::before,
.social a::before {
	position: absolute;
	display: block;
	content: '';
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 6px;
	height: 6px;
	background-color: var(--color-olive);
	border-radius: 50%;
	opacity: 0;
	transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.nav-card a:hover::before,
.nav-card a.active::before,
.social a:hover::before {
	width: 48px;
	height: 48px;
	opacity: 1;
}
.social a svg {
	position: relative;
	z-index: 2;
	transition: all 0.2s ease;
}
.social a.btn-vector:hover svg {
	stroke: var(--bs-white);
}
.social a.btn-vector-fill:hover svg {
	fill: var(--bs-white);
}
.footer-card {
	background: var(--color-olive);
	color: var(--bs-white);
	display: flex;
	border-radius: var(--radius-lg) 0;
	padding: 1rem;
	font-size: var(--fs-lg);
	text-decoration: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	box-shadow: 15px 15px 0 0 rgba(0,0,0,0.5);
	min-height: 180px;
	gap: 0.35rem;
	transition: box-shadow 0.2s ease;
}
.footer-card svg {
	width: 48px;
	height: 48px;
	display: block;
	stroke: var(--color-accent-2);
}
.footer-card span {
	transition: all 0.4s ease;
}
.footer-card:hover {
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
}
.footer-card:hover span {
	color: var(--color-accent-2);
}
.bg-opacity {
	background-color: rgba(0,0,0,0.5);
}
.links {
	list-style: none;
	padding: 0.25rem 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	line-height: 1;
}
.links a {
	color: var(--color-olive);
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.2s ease;
}
.links a:hover {
	color: var(--color-accent-2);
}
.links li:not(:last-child)::after {
	padding-left: 0.25rem;
	content: '/';
	user-select: none;
	pointer-events: none;
	color: var(--color-depth);
}
.lb-image {
	position: relative;
	display: block;
}
.lb-image::before {
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	background: rgba(0,0,0,0.25);
	backdrop-filter: blur(5px);
	content: '';
	opacity: 0;
	transform: translate(-50%, -50%);
	transition: all 0.2s ease;
	border-radius: 50%;
	z-index: 1;
}
.lb-image:hover::before {
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	border-radius: var(--radius-lg);
	opacity: 1;
}
.lb-image::after {
	position: absolute;
	display: block;
	content: '';
	width: 48px;
	height: 48px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMSAxMnM0LTggMTEtOCAxMSA4IDExIDgtNCA4LTExIDgtMTEtOC0xMS04eiI+PC9wYXRoPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiPjwvY2lyY2xlPjwvc3ZnPg==");
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0;
	z-index: 2;
}
.lb-image:hover::after {
	opacity: 1;
}
.img-radius {
	border-radius: var(--radius-xl) 0;
}
.img-radius {
	box-shadow: 10px 10px 15px -5px rgba(0,0,0,0.15);
}
.product-card {
	position: relative;
	display: block;
	border-radius: var(--radius-lg) 0;
	box-shadow: 10px 10px 15px -5px rgba(0,0,0,0.15);
	transition: all 0.2s ease;
	overflow: hidden;
}
.product-card:hover {
	transform: translateY(-10px);
	box-shadow: 10px 10px 15px -5px rgba(0,0,0,0.35);
}
.flag {
	width: 24px;
	height: 16px;
}
.inline-icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}
.dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
}
.dot.bg-depth {
	opacity: 0.5;
}
.stroke-olive {
	stroke: var(--color-olive);
}
.stroke-white {
	stroke: var(--bs-white);
}
[class*="badge-image-"] {
	position: absolute;
	display: block;
	bottom: 20px;
	border-radius: var(--radius);
	background-color: var(--bs-white);
	padding: 0.5rem 1rem;
}
.badge-image-left {
	left: 20px;
}
.badge-image-right {
	right: 20px;
}
.card-benefit h2 {
	display: block;
	width: 32px;
	text-align: center;
}
.card-benefit svg {
	width: 48px;
	height: 48px;
	fill: var(--color-olive);
}
.card-benefit img.icon {
	display: block;
	width: 48px;
	height: 48px;
}
.card-benefit.sm-icon svg {
	width: 32px;
	height: 32px;
	fill: none;
	stroke: var(--color-olive);
}
.card-benefit.sm-icon img.icon {
	width: 32px;
	height: 32px;
}
.user--content {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
.user--content > * {
	margin-top: 0;
	margin-bottom: 1rem;
	padding-top: 0;
	padding-bottom: 0;
}
.user--content > *:first-child {
	margin-top: 0;
}
.user--content > *:last-child {
	margin-bottom: 0;
}
.user--content img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
.user--content h1,
.user--content h2,
.user--content h3,
.user--content h4,
.user--content h5,
.user--content h6 {
	color: var(--color-depth);
}
.user--content h1 {
	font-size: var(--fs-3xl);
}
.user--content h2 {
	font-size: var(--fs-xxl);
}
.user--content h3 {
	font-size: var(--fs-xl);
}
.btn-link,
.user--content a {
	display: inline-block;
	color: var(--color-accent);
	text-decoration: underline;
}
.btn-link:active,
.btn-link:hover,
.user--content a:active,
.user--content a:hover {
	color: var(--color-olive);
}
.btn-simple {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 8px 36px;
	border: 2px solid transparent;
	font-size: 16px;
	background-color: var(--color-accent);
	border-radius: 12px;
	font-weight: 600;
	color: var(--bs-white);
	box-shadow: 0 0 0 2px var(--color-accent);
	cursor: pointer;
	overflow: hidden;
	text-decoration: none;
	transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-simple svg {
	position: absolute;
	width: 24px;
	fill: var(--bs-white);
	z-index: 9;
	transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-simple .arr-right {
	right: 16px;
}
.btn-simple .arr-left {
	left: -25%;
}
.btn-simple .text {
	position: relative;
	z-index: 1;
	transform: translateX(-12px);
	transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-simple:hover {
	box-shadow: 0 0 0 12px transparent;
	color: var(--bs-white);
	border-radius: 100px;
}
.btn-simple:hover .arr-right {
	right: -25%;
}
.btn-simple:hover .arr-left {
	left: 16px;
}
.btn-simple:hover .text {
	transform: translateX(12px);
}
.btn-simple:hover svg {
	fill: var(--bs-white);
}
.btn-simple:active {
	scale: 0.95;
	box-shadow: 0 0 0 4px var(--color-accent);
}
.btn-simple.bg-olive {
	background-color: var(--color-olive);
	box-shadow: 0 0 0 2px var(--color-olive);
}
.btn-simple.bg-olive:active {
	box-shadow: 0 0 0 4px var(--color-olive);
}
.btn-simple.bg-olive:hover {
	box-shadow: 0 0 0 12px transparent;
}
.glare {
	position: relative;
	overflow: hidden;
}
.glare::before,
.glare::after {
	position: absolute;
	display: block;
	content: '';
	inset: -25%;
	background: linear-gradient(75deg,transparent 44%,rgba(255,255,255,.55) 50%,transparent 56%);
	mix-blend-mode: screen;
	filter: blur(2px);
	transform: translateX(-120%);
	pointer-events: none;
}
.glare::before {
	animation: glare 5.3s ease-in-out infinite;
	animation-delay: 2.3s;
	opacity: .25;
}
.glare::after {
	animation: glare 8.9s ease-in-out infinite;
	animation-delay: 1.6s;
	opacity: .15;
}
.k6banner {
	position: relative;
	padding-top: 124px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: var(--color-text);
}
.k6banner::before {
	position: absolute;
	display: block;
	content: '';
	inset: 0;
	background-color: var(--color-text);
	opacity: .25;
	z-index: 1;
}
.content-card {
	position: relative;
	display: block;
	padding: 1.5rem;
	border-radius: var(--radius-lg) 0;
	box-shadow: 10px 10px 15px -5px rgba(0,0,0,0.15);
	background-color: var(--bs-white);
}
.group {
	position: relative;
	display: flex;
	max-width: 100%;
	margin-bottom: 1rem;
	align-items: center;
	line-height: 30px;
}
.group > input {
	width: 100%;
	height: 45px;
	line-height: 30px;
	padding: .25rem .75rem;
	border: 2px solid transparent;
	border-radius: var(--radius);
	outline: none;
	background-color: var(--surface);
	color: var(--color-text);
	transition: .2s ease;
}
.group > textarea {
	width: 100%;
	min-height: 150px;
	line-height: 21px;
	padding: .5rem .75rem;
	border: 2px solid transparent;
	border-radius: var(--radius);
	outline: none;
	background-color: var(--surface);
	color: var(--color-text);
	transition: .2s ease;
}
.group > svg + input,
.group > svg + textarea {
	padding-left: 2.75rem;
}
.group > input::placeholder {
	color: #94a3b8;
}
.group > input:focus,
.group > input:hover,
.group > textarea:focus,
.group > textarea:hover {
	outline: none;
	border-color: var(--color-olive);
	background-color: #fff;
	box-shadow: 0 0 0 5px rgb(123, 139, 77, .3);
}
.group > svg {
	position: absolute;
	top: calc(1rem - 1px);
	left: 1rem;
	width: 1rem;
	height: 1rem;
	stroke: var(--color-text);
}
.group > input::placeholder,
.group > textarea::placeholder {
	color: var(--color-text);
	opacity: 0.5;
}
.group > select {
	position: relative;
	padding-right: 2rem;
	width: 100%;
	height: 45px;
	line-height: 30px;
	padding: .25rem 2.75rem .25rem .75rem;
	border: 2px solid transparent;
	border-radius: var(--radius);
	outline: none;
	background-color: var(--surface);
	color: var(--color-text);
	transition: .2s ease;
	appearance: none;
}
.group > select + svg {
	position: absolute;
	width: 24px;
	height: 24px;
	top: 50%;
	right: 0.75rem;
	left: initial;
	stroke: var(--color-text);
	transform: translateY(-50%);
	transition: transform 0.2s ease;
	pointer-events: none;
}
.group > select + svg.rotated {
	transform: translateY(-50%) rotate(180deg);
}
.group > select:focus,
.group > select:hover {
	outline: none;
	border-color: var(--color-olive);
	background-color: #fff;
	box-shadow: 0 0 0 5px rgb(123, 139, 77, .3);
}
.checkbox {
	position: relative;
	display: flex;
	max-width: 100%;
	margin-bottom: 1rem;
	align-items: center;
	line-height: 20px;
	cursor: pointer;
}
.checkbox > div {
	position: absolute;
	flex: 0 0 auto;
	left: 0;
	width: 28px;
	height: 28px;
	border: 2px solid var(--surface);
	border-radius: var(--radius);
	outline: none;
	background: var(--surface);
	z-index: 1;
	transition: .2s ease;
}
.checkbox:hover > div,
.checkbox:focus > div {
	border-color: var(--color-olive);
	background-color: #fff;
	box-shadow: 0 0 0 5px rgb(123, 139, 77, .3);
}
.checkbox > input[type="checkbox"] {
	visibility: hidden;
	display: none;
}
.checkbox > svg {
	position: relative;
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	z-index: 2;
	transform: translateX(-1px) translateY(-2px);
}
.checkbox > svg path {
	stroke-dasharray: 400;
	stroke-dashoffset: 400;
	transition: .4s stroke-dashoffset;
	opacity: 0;
}
.checkbox > input[type="checkbox"]:checked + svg path {
	stroke-dashoffset: 0;
	opacity: 1;
}
.checkbox > span {
	display: block;
	flex: 1 1 auto;
	margin-left: 0.5rem;
	user-select: none;
}
form .invalid-feedback {
	display: block;
	width: 100%;
	margin: -0.75rem 0 1rem;
	font-style: italic;
	font-size: var(--fs-sm);
}
.map-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius);
	background-color: var(--bs-white);
}
.map-card iframe {
	position: relative;
	display: block;
	width: 100%;
	height: 240px;
	border: 0;
	outline: 0;
	z-index: 1;
}
.map-wrapper {
	position: relative;
}
.map-wrapper iframe {
	position: relative;
	display: block;
	width: 100%;
	height: 40vw;
	min-height: 400px;
	max-height: 600px;
	border: 0;
	outline: 0;
	z-index: 1;
}
.list-card {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 1.5rem;
	row-gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.list-card li {
	position: relative;
	margin: 0;
	padding-left: 32px;
}
.list-card li::before {
	position: absolute;
	display: block;
	content: '';
	left: 0;
	top: 0;
	width: 24px;
	height: 24px;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%237B8B4D" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>') no-repeat center center;
	background-size: contain;
}

.options {
	position: absolute;
	display: flex;
	flex-direction: column;
	border-radius: 15px 0;
	padding: 8px 0;
	left: calc(100% + 15px);
	opacity: 0;
	transform: translateY(-50%);
	background-color: var(--color-olive);
	box-shadow: 0 3px 0px -1px rgba(0,0,0,0.25);
	transition: 0.3s;
	color: var(--bs-white);
	font-size: 0.8rem;
	letter-spacing: 0.5px;
	white-space: nowrap;
}
.options.start {
	left: initial;
	right: calc(100% + 15px);
}
.options > div {
	padding: 2px 12px;
	cursor: pointer;
	transition: 0.2s ease;
}
.options > div:hover {
	color: var(--color-accent-2);
}
.options > div a {
	color: var(--bs-white);
	text-decoration: none;
	transition: 0.3s;
}
.options > div:hover a {
	color: var(--color-accent-2);
}
.active + .options {
	opacity: 1;
	transform: translateY(0);
}
#recaptcha-badge {
	display: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.alert {
	border-radius: var(--radius);
}
.notification {
	padding: 5rem 0;
}
.notification .col-12 > svg {
	position: relative;
	display: block;
	box-sizing: content-box;
	width: 160px;
	height: 160px;
	margin: 0 auto -3rem auto;
	padding: 1rem;
	fill: var(--bs-white);
	border-radius: var(--radius-lg);
	box-shadow: 10px 10px 15px -5px rgba(0,0,0,0.15);
	transition: all 0.25s ease;
}
.notification .col-12:hover > svg {
	transform: translateY(-4rem);
}
.notification.p-0 .col-12 > svg {
	width: 90px;
	height: 90px;
	margin-bottom: 1rem;
	transform: none;
}
.btn-filter {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	transition: all 0.2s ease;
}
.btn-filter svg {
	width: 16px;
	height: 16px;
	stroke: var(--color-text);
	margin-top: -1px;
	transition: all 0.2s ease;
}
.btn-filter:hover {
	color: var(--color-olive);
}
.btn-filter:hover svg {
	stroke: var(--color-olive);
}
.offcanvas {
	position: fixed;
	gap: 40px;
	top: 0;
	right: -100%;
	bottom: 0;
	width: 450px;
	box-shadow: 0 16px -32px 0 rgba(0, 0, 0, 0.8);
	background-color: var(--color-text);
	z-index: 997;
	padding: 40px;
	scrollbar-width: none;
	opacity: 0;
	visibility: hidden;
	transition: 0.45s ease-in-out;
	overflow-y: scroll;
}
.offcanvas.opened {
	opacity: 1;
	visibility: visible;
	right: 0;
	transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	transition-duration: 0.6s;
}
.body-overlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 995;
	width: 100%;
	height: 100%;
	background: #32313066;
	visibility: hidden;
	opacity: 0;
	transition: 0.45s ease-in-out;
}
.offcanvas.opened + .body-overlay {
	opacity: 1;
	visibility: visible;
}
.offcanvas-logo {
	width: 160px;
	height: 45px;
	fill: var(--color-bg);
}
.offcanvas-close {
	width: 28px;
	height: 28px;
	stroke: var(--color-bg);
	transition: all 0.4s ease;
	cursor: pointer;
}
.offcanvas-close:hover {
	stroke: var(--color-accent-2);
}
.offcanvas ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.offcanvas li {
	position: relative;
}
.offcanvas li a,
.offcanvas li span {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-decoration: none;
	color: var(--bs-white);
	font-size: 18px;
	line-height: 24px;
	transition: all 0.4s ease;
}
.offcanvas li a:hover,
.offcanvas li.active a {
	color: var(--color-accent-2);
}
.offcanvas li a svg {
	width: 24px;
	height: 24px;
	stroke: var(--color-bg);
	transition: all 0.4s ease;
}
.offcanvas li.active a svg {
	stroke: var(--color-accent-2);
}
.offcanvas li a:hover svg {
	stroke: var(--color-accent-2);
	margin-right: 15px;
}
.w-auto {
	width: 1px !important;
	white-space: nowrap;
}
#product {
	margin-bottom: 1rem;
}
#product .product-card {
	box-shadow: none;
	transform: none !important;
	cursor: default;
	pointer-events: none;
}
#product .product-card div.mt-2 {
	display: none;
}
#product .product-card p.mb-1 + p {
	margin-bottom: 0;
}
.price-info {
	background-color: var(--color-accent);
	padding: 1rem;
	margin-top: 1rem;
	align-items: center;
	flex-wrap: wrap;
	display: flex;
	border-radius: var(--radius-lg) 0;
}
#animal-form .invalid-feedback {
	margin-top: 0.25rem;
	margin-bottom: 0;
}

@media (min-width: 1400px) {
	.container {
		max-width: 1440px;
	}
}
@media (min-width: 1600px) {
	.container {
		max-width: 1560px;
	}
}
@media (min-width: 1921px) {
	.container {
		max-width: 1880px;
	}
}
@media (min-width: 991px) {
	.text-justify {
		text-align: justify;
	}
}

@media (max-width: 1399px) {
	.footer-card {
		font-size: 20px;
	}
}
@media (max-width: 1199px) {
	.footer-card {
		min-height: 90px
	}
	.footer-card svg {
		width: 32px;
		height: 32px;
	}
}
@media (max-width: 992px) {
	header .container {
		max-width: calc(100% - 30px);
	}
	header .col-right {
		justify-content: end;
	}
	header .logo {
		width: 90px;
	}
	header .logo svg {
		width: 90px;
		height: 70px;
	}
	.btn-filter + form {
		display: none;
	}
}
@media (max-width: 768px) {
	.py-5 {
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
	}
	.py-6 {
		padding-top: 2.5rem !important;
		padding-bottom: 2.5rem !important;
	}
	.fs-4xl {
		font-size: var(--fs-3xl);
	}
	.fs-3xl {
		font-size: var(--fs-xxl);
	}
	.fs-xxl {
		font-size: var(--fs-xl);
	}
	.fs-xl {
		font-size: var(--fs-lg);
	}
	.fs-lg {
		font-size: var(--fs-md);
	}
	.user--content h1 {
		font-size: var(--fs-xxl);
	}
	.user--content h2 {
		font-size: var(--fs-xl);
	}
	.user--content h3 {
		font-size: var(--fs-lg);
	}
	.k6banner {
		padding-top: 100px;
	}
	.list-card {
		grid-template-columns: repeat(1, 1fr);
	}
	footer .logo svg {
		width: 126px;
		height: 120px;
		margin-bottom: 1rem;
	}
}
@media (max-width: 576px) {
	body {
		font: 400 var(--fs-sm)/var(--lh-sm) var(--font-body);
	}
	header.scrolled {
		padding: 0;
	}
	header .container {
		max-width: 100%;
	}
	.offcanvas {
		width: 100%;
		padding: 30px;
	}
	.fs-4xl {
		font-size: var(--fs-xl);
	}
	.fs-3xl {
		font-size: var(--fs-lg);
	}
	.fs-xxl {
		font-size: var(--fs-lg);
	}
	.notification {
		padding: 2rem 0;
	}
	.notification .col-12 > svg {
		width: 120px;
		height: 120px;
		margin: 0 auto -2.5rem auto;
	}
	.notification .col-12:hover > svg {
		transform: none;
	}
	.content-card {
		padding: 1rem;
	}
}

@keyframes scrolldown {
	0% {
		opacity: 0;
		height: 6px;
	}

	40% {
		opacity: 1;
		height: 10px;
	}

	80% {
		transform: translate(0, 20px);
		height: 10px;
		opacity: 0;
	}

	100% {
		height: 3px;
		opacity: 0;
	}
}
@keyframes pulse {
	from {
		opacity: 0;
	}
	to {
		opacity: 0.5;
	}
}
@keyframes arrows {
	from {
		transform: rotate(45deg);
	}
	to {
		transform: rotate(405deg);
	}
}
@keyframes ring-rotate {
	from {
		transform: rotate(0);
	}
	to {
		transform: rotate(720deg);
	}
}
@keyframes ring-stroke {
	from,
	to {
		stroke-dashoffset: 452;
		transform: rotate(-45deg);
	}
	50% {
		stroke-dashoffset: 169.5;
		transform: rotate(-180deg);
	}
}
@keyframes ticker {
	from,
	3%,
	47%,
	to {
		stroke-dashoffset: -12;
	}
	14%,
	36% {
		stroke-dashoffset: 0;
	}
}
@keyframes glare {
	to {
		transform: translateX(120%);
	}
}