@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root {
	--br-def: 7px;
	--nav-hide: 0px;
	--nav-height: 0px;
	--nav-side-gap: 1rem;
	--true-nav-height: calc(var(--nav-height) + (var(--nav-side-gap) * 2));
	--footer-height: 0px;
	--transition-def: 0.3s;
	--primary-font: "Montserrat", sans-serif;
	--alt-font: ;
	--bs-light-rgb: var(--page-bg-color-rgb);
}

/* General Styling */
body {
	font-family: var(--primary-font);
	transition: var(--transition-def) !important;
	background-color: var(--page-bg-color);
	/* overflow: hidden; */
	color: var(--page-text-color);
}

::-webkit-scrollbar {
	width: 0px;
	height: 0px;
}

#bodyContent::-webkit-scrollbar {
	width: 10px;
	padding: 5px 0;
}

#bodyContent::-webkit-scrollbar-track {
	background: var(--nav-bg-color);
	border-left: 1px solid var(--border-color);
}

#bodyContent::-webkit-scrollbar-thumb {
	background-color: var(--primary-color);
}

.SmoothScroll {
	position: fixed;
	width: 100%;
	z-index: 1000;
}
.body-grow {
	flex-grow: 1;
	background-color: var(--page-bg-color);
	margin-bottom: var(--footer-height);
	position: relative;
	z-index: 250;
}
body.footer-cut-off .body-grow {
	margin-bottom: 0;
}
.bb-1 {
	border-bottom: 1px solid var(--border-color);
}
.bt-1 {
	border-top: 1px solid var(--border-color);
}
.c-container {
	width: 100%;
	margin: auto;
	max-width: 1500px;
	padding: 0 40px;
}
.c-container.narrow {
	max-width: 1300px;
	padding: 0 80px;
}
.lock-movement {
	overflow: hidden;
}
.no-br {
	border-radius: 0;
}
.br-c {
	border-radius: var(--br-def) !important;
	-webkit-border-radius: var(--br-def) !important;
	-moz-border-radius: var(--br-def) !important;
	-ms-border-radius: var(--br-def) !important;
	-o-border-radius: var(--br-def) !important;
	overflow: hidden;
}
.br-c .br-c {
	border-radius: calc(var(--br-def) / 2);
	-webkit-border-radius: calc(var(--br-def) / 2);
	-moz-border-radius: calc(var(--br-def) / 2);
	-ms-border-radius: calc(var(--br-def) / 2);
	-o-border-radius: calc(var(--br-def) / 2);
}
.vh-100 {
	height: 100vh !important;
	height: calc(var(--vh, 1vh) * 100) !important;
}
.img-left {
	float: left;
	max-width: 50%;
	padding: 10px 10px 10px 0px;
	height: auto;
}
.img-right {
	float: right;
	max-width: 50%;
	padding: 10px 0px 10px 10px;
	height: auto;
}
.italic {
	font-style: italic;
}
.row {
	margin: 0;
}
/* ::-webkit-scrollbar {
  width: 7px;
}
::-webkit-scrollbar-track {
  background: #000000;
}
::-webkit-scrollbar-thumb {
  background: var(--primary-color);
  border-radius: var(--br-def);
} */
a {
	text-decoration: none;
	color: var(--primary-color);
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
}
a:hover {
	color: var(--primary-hover-color);
}
a.text-light:hover {
	opacity: 0.5;
}
a.hover-line {
	position: relative;
}
a.hover-line::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
	width: 0%;
	background-color: var(--primary-hover-color);
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
}
a.hover-line:hover::after {
	width: 100%;
}
.card {
	border-radius: var(--br-def);
}
::selection {
	background: var(--info-color);
	color: white;
}
::-moz-selection {
	background: var(--info-color);
	color: white;
}

/* Buttons */
.btn {
	border: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
	font-weight: 600;
	border-radius: var(--br-def) !important;
	-webkit-border-radius: var(--br-def) !important;
	-moz-border-radius: var(--br-def) !important;
	-ms-border-radius: var(--br-def) !important;
	-o-border-radius: var(--br-def) !important;
}
.btn-primary {
	background-color: var(--primary-color);
	color: white;
}
.btn-primary:hover {
	background-color: var(--primary-hover-color);
	color: white;
}
.btn-secondary {
	background-color: var(--secondary-color);
	color: white;
}
.btn-secondary:hover {
	background-color: var(--secondary-hover-color);
	color: white;
}
.btn-info {
	background-color: var(--info-color);
	color: white;
}
.btn-info:hover {
	background-color: var(--info-hover-color);
	color: white;
}
.btn-light {
	background-color: white;
	color: var(--primary-color);
}
.btn-light:hover {
	background-color: rgb(224, 229, 231);
	color: var(--primary-color);
}

/* Testimonials */
.blockquote-footer {
	background: none;
}
.testimonial-custom {
	min-height: 350px;
	background-color: #ebebeb;
}
.testimonial-panel {
	width: 100%;
	min-height: 350px;
	background-color: #dddddd;
}
@media only screen and (max-width: 576px) {
	.testimonial-panel {
		min-height: 600px;
	}
	footer .text-start,
	footer .text-end {
		text-align: center !important;
	}
}
.testimonial-overlay {
	text-align: center;
	width: 100%;
	height: 100%;
	position: relative;
}
.blockquote {
	font-size: 1.15rem;
}
.testimonial-overlay .blockquote {
	line-height: 1.67;
	color: black;
	font-style: italic;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.blockquote-footer {
	font-weight: 800;
}
.testimonial-overlay cite {
	font-style: normal;
}
.fade {
	transition: opacity 0.4s linear !important;
}
.show {
	opacity: 1 !important;
}
.hide {
	opacity: 0 !important;
}

/* Carousel */
.carousel-item {
	--carousel-text-width: 50%;
	--carousel-bg: var(--info-color);
	position: relative;
	height: 50rem;
	max-height: 100vh;
}
.carousel-image {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.carousel-image img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
.carousel-overlay {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 148;
	background: rgba(var(--primary-color-rgb), 0.8);
}
.carousel-overlay::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 0;
	background: linear-gradient(
		0deg,
		rgba(var(--page-bg-color-rgb), 1) 0%,
		rgba(var(--page-bg-color-rgb), 0) 75%
	);
}
.carousel-text {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: calc(var(--carousel-text-width) * 3);
	max-width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 175;
	color: var(--carousel-text);
}
.carousel-text h3 {
	font-size: 4rem;
	line-height: 4rem;
	text-align: center;
	font-weight: 600;
	margin-bottom: 1rem;
	text-transform: uppercase;
}
.carousel-text p {
	position: relative;
	font-size: 1rem;
	margin-bottom: 4rem;
	text-align: center;
	font-weight: 400;
	max-width: 100%;
}
.carousel-text button {
	text-transform: uppercase;
	position: relative;
	font-size: 1rem;
	padding: 0.2rem 0.75rem;
	border: 0;
	background-color: var(--carousel-text);
	color: var(--primary-color) !important;
	display: flex;
	align-items: center;
	font-weight: 600;
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
}
.carousel-text button::after {
	content: "";
	position: absolute;
	bottom: -0.5rem;
	left: 5%;
	height: 0.3rem;
	width: 0%;
	background-color: var(--info-color);
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
}
.carousel-text button:hover::after {
	width: 90%;
}
@media (max-width: 950px) {
	.carousel-text {
		top: unset;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		padding: 1rem;
	}

	.carousel-overlay::before {
		background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
	}
	.carousel-overlay::after {
		content: "";
		position: absolute;
		left: 0;
		top: unset;
		bottom: 0;
		right: 0;
		width: 100%;
		height: calc(var(--carousel-text-width) + 2px);
		background-color: var(--carousel-bg);
		z-index: 150;
	}
	.carousel-overlay svg.desktop {
		display: none;
	}
	.carousel-overlay svg.mobile {
		display: block;
	}
	.carousel-overlay svg path {
		fill: var(--carousel-bg);
	}
	.carousel-text h3 {
		font-size: 4rem;
		line-height: 3.5rem;
	}
	.carousel-text p {
		font-size: 1.1rem;
		margin: 0 0.25rem;
		width: 20rem;
	}
	.carousel-text button {
		font-size: 1.3rem;
		margin: 0 0.25rem;
	}
	.carousel-image img {
		object-position: center;
	}
}
@media (max-width: 600px) {
	.carousel-text h3 {
		font-size: 2.5rem;
		line-height: 2rem;
	}
}

/* Forms */
.nostyle-form {
	display: block;
	width: 100%;
	font-size: 1rem;
	font-weight: 400;
	color: #212529;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0 0 10px 10px;
	padding: 0.2rem 0.5rem;
	border: 0 !important;
	outline: 0 !important;
	background-color: #ffffff75 !important;
	-webkit-border-radius: 0 0 10px 10px;
	-moz-border-radius: 0 0 10px 10px;
	-ms-border-radius: 0 0 10px 10px;
	-o-border-radius: 0 0 10px 10px;
}
.nostyle-form-box {
	border: 1px solid rgba(214, 214, 214, 0.514);
	background-color: #ffffff75;
	border-radius: var(--br-def);
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	transition: background-color 5000s ease-in-out 0s;
}
.form-control {
	border-radius: var(--br-def);
}

/* Navbar */
#overlayDark {
	position: fixed;
	height: 100%;
	z-index: 1450;
	top: 0;
	bottom: 0;
	left: var(--side-width);
	right: 0;
	background-color: #00000044;
	opacity: 0%;
	pointer-events: none;
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}
#overlayDark.active {
	left: calc(var(--side-width) + var(--content-width));
	opacity: 100%;
	pointer-events: all;
}
#overlayDark.active + body {
	overflow-y: hidden;
}
#pageGrid {
	--side-width: 80px;
	--content-width: 480px;
	display: grid;
	grid-template-columns: var(--side-width) calc(100vw - var(--side-width));
	grid-template-areas: "side-nav main-content";
	transition: grid-template-columns var(--transition-def);
	-webkit-transition: grid-template-columns var(--transition-def);
	-moz-transition: grid-template-columns var(--transition-def);
	-ms-transition: grid-template-columns var(--transition-def);
	-o-transition: grid-template-columns var(--transition-def);
	overflow: hidden;
}
#pageGrid.active {
	grid-template-columns: calc(var(--side-width) + var(--content-width)) calc(
			100vw - (var(--side-width) + var(--content-width))
		);
}
@media (max-width: 560px) {	
	#pageGrid {
		--side-width: 50px;
		--content-width: calc(100vw - var(--side-width));
	}
	#overlayDark {
		display: none;
	}
}
#bodyContent {
	grid-area: main-content;
	background-color: var(--page-bg-color);
	width: calc(100vw - var(--side-width));
	height: 100vh;
	position: relative;
	overflow-y: scroll;
	display: flex;
	flex-direction: column;
	outline: 1px solid var(--border-color);
}
#navSide {
	grid-area: side-nav;
	height: 100vh;
	background-color: rgba(var(--nav-bg-color-rgb), 1);
	display: flex;
	position: relative;
    z-index: 100000;
}
#navSide .c-sidebar {
	width: var(--side-width);
	background-color: rgba(var(--nav-bg-color-rgb), 0.7);
	border-left: 1px solid rgba(var(--nav-text-color-rgb), 0);
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: +1;
	border-right: 1px solid var(--border-color);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}
#navSide .c-sidebar svg {
	position: absolute;
	right: -13vh;
	top: -1px;
	bottom: -1px;
	z-index: 10000000000000;
	width: 13vh;
	height: 100%;
	pointer-events: none;
}
#navSide .c-sidebar svg polygon {
	width: 13vh;
	height: 100%;
	fill: var(--nav-bg-color);
	pointer-events: all;
}
#navSide.active .c-sidebar {
	outline: 1px solid rgba(var(--nav-text-color-rgb), 0);
	border-left: 1px solid var(--border-color);
}
#navSide .c-sidebar #openSide {
	width: calc(var(--side-width) - 2px);
	position: relative;
	height: 3rem;
	font-size: 1.5rem;
	color: var(--nav-text-color);
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid var(--border-color);
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
	transition-property: background-color, color;
}
#navSide .c-sidebar #openSide:hover {
	background-color: rgba(var(--nav-text-color-rgb), 0.2);
}
#navSide .c-sidebar #openSide:focus {
	background-color: rgba(var(--nav-text-color-rgb), 0) !important;
	color: var(--nav-text-color) !important;
}
#navSide .c-sidebar #openSide:focus:hover {
	background-color: rgba(var(--nav-text-color-rgb), 0.2) !important;
}
#navSide .c-sidebar #openSide i {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity var(--transition-def);
	-webkit-transition: opacity var(--transition-def);
	-moz-transition: opacity var(--transition-def);
	-ms-transition: opacity var(--transition-def);
	-o-transition: opacity var(--transition-def);
}
#navSide .c-sidebar #openSide i.fa-bars {
	opacity: 1;
}
#navSide .c-sidebar #openSide.active i.fa-bars {
	opacity: 0;
}
#navSide .c-sidebar #openSide i.fa-times {
	opacity: 0;
}
#navSide .c-sidebar #openSide.active i.fa-times {
	opacity: 1;
}
#navSide .c-sidebar .contact-button {
	width: var(--side-width);
	position: relative;
	height: 3rem;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	color: var(--nav-text-color);
	background-color: transparent;
	margin-top: auto;
	border: 0;
	border-top: 1px solid var(--border-color);
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
}
#navSide .c-sidebar .contact-button:hover {
	background-color: rgba(var(--nav-text-color-rgb), 0.2);
}
.nav-mid {
	flex-grow: 1;
	writing-mode: vertical-lr;
	-webkit-writing-mode: vertical-lr;
	-ms-writing-mode: vertical-lr;
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.5vh;
	text-transform: uppercase;
	font-weight: 500;
}
.nav-mid span {
	height: 2px;
	width: 30px;
	background-color: var(--primary-color);
	display: block;
	margin: 1rem 0;
}
#navContent {
	width: var(--content-width);
	background-color: rgba(255, 255, 255, 0.05);
	overflow: hidden;
	position: relative;
}
#navSide::before {
	content: "";
	position: absolute;
	z-index: -10;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 0;
	background-image: url(/images/test-bg.jpg);
	background-size: cover;
	background-position: bottom;
}
.nav-link,
#navContent .accordion-button {
	color: var(--nav-text-color);
	font-size: 1.2rem;
	font-weight: 500;
	border: 0;
	border-bottom: 1px solid var(--border-color);
	padding: 1rem 1.5rem;
	box-shadow: none !important;
	text-wrap: nowrap;
	position: relative;
	z-index: +1;
	background-color: rgba(var(--nav-bg-color-rgb), 0.9);
	border-radius: 0 !important;
	-webkit-border-radius: 0 !important;
	-moz-border-radius: 0 !important;
	-ms-border-radius: 0 !important;
	-o-border-radius: 0 !important;
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
}
#navContent .accordion-button {
	border-bottom: 1px solid var(--border-color);
}
#navContent .accordion-button.collapsed {
	margin-bottom: -1px;
}
#navContent .accordion-button.collapsed i {
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
}
#navContent .accordion-button i {
	transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
	-moz-transform: rotate(-180deg);
	-ms-transform: rotate(-180deg);
	-o-transform: rotate(-180deg);
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
}
.nav-link:hover,
#navContent .accordion-button:hover {
	color: var(--nav-text-hover-color);
	background-color: rgba(var(--nav-bg-hover-color-rgb), 0.6);
	border-bottom: 1px solid var(--border-color);
}
.nav-link.active {
	color: var(--nav-bg-color);
	background-color: rgba(var(--info-color-rgb), 0.9);
}
.nav-link.active:hover {
	color: var(--nav-text-color);
	background-color: rgba(var(--nav-bg-hover-color-rgb), 0.6);
}
#navContent .accordion-item {
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	-webkit-border-radius: 0 !important;
	-moz-border-radius: 0 !important;
	-ms-border-radius: 0 !important;
	-o-border-radius: 0 !important;
}
.accordion-button::after {
	content: unset;
}
#navContent .accordion-body {
	padding: 0;
	background-color: rgba(var(--nav-bg-color-rgb), 0.25);
}
#navContent .accordion-body .nav-link {
	font-size: 1rem;
	position: relative;
}
#navContent .accordion-body .nav-link:last-of-type {
	border-bottom: 0;
	position: relative;
}
#navContent .nav-link:not(.accordion-body .nav-link):last-of-type::after {
	content: "";
	height: 60vh;
	bottom: calc(-60vh - 1px);
	position: absolute;
	display: block;
	left: 0;
	right: 0;
	background: linear-gradient(
		0deg,
		rgba(var(--nav-bg-color-rgb), 0) 0%,
		rgba(var(--nav-bg-color-rgb), 0.75) 100%
	);
	pointer-events: none;
}
#navContent .accordion {
	border-bottom: 1px solid var(--border-color);
	position: relative;
	z-index: +1;
}

/* Hero */
.hero {
	height: 15rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	padding: 1rem;
	background-color: var(--info-color);
}
.hero::after {
	content: "";
	z-index: -2;
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	background: linear-gradient(
		0deg,
		rgba(var(--page-bg-color-rgb), 1) 0%,
		rgba(var(--page-bg-color-rgb), 0) 100%
	);
}
.hero h1 {
	text-transform: uppercase;
	font-size: calc(1.5rem + 2.5vw);
	position: relative;
	z-index: +1;
	color: var(--primary-color);
	font-weight: 800;
}

.fixed-logo {
	position: fixed;
	top: 0.5rem;
	right: 1rem;
	z-index: 10000;
	width: 12rem;
	max-width: 100%;
	max-width: 90vw;
}
@media (max-width: 800px) {
	.fixed-logo {
		width: 8rem;
	}
}
@media (max-width: 400px) {
	.fixed-logo {
		display: none;
	}
}
body#home .fixed-logo {
	display: none;
}
.b1 {
	border: 1px solid var(--border-color);
}
.scroll-indicator {
	z-index: +100;
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	left: 1rem;
	color: var(--page-text-color);
	text-align: center;
	transition: 4s;
	-webkit-transition: 4s;
	-moz-transition: 4s;
	-ms-transition: 4s;
	-o-transition: 4s;
	transition-delay: 1s;
}
.scroll-indicator p {
	margin: 0;
	font-size: 1.2rem;
}

/* footer */
footer.web {
	background-color: var(--footer-bg);
	color: var(--footer-text);
}
footer.web .footer-top {
	display: flex;
	justify-content: end;
	flex-wrap: wrap;
	padding: 2rem;
}
footer.web .footer-top .logo {
	flex-grow: 1;
}
footer.web .footer-top .logo img {
	max-width: 10rem;
}
footer.web .footer-top .links {
	width: 15rem;
	max-width: 100%;
	text-align: end;
}
footer.web .footer-top .links .main-title {
	font-size: 0.9rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
	font-family: var(--alt-font);
}
footer.web .footer-top .links .sub-title {
	font-size: 0.85rem;
	font-weight: 400;
	color: rgba(var(--footer-text-rgb), 0.7);
	margin-bottom: 0;
	font-family: var(--alt-font);
}
footer.web .footer-top .links .tbs {
	font-size: 0.85rem;
	margin-bottom: 0.2rem;
	font-weight: 500;
}
footer.web .footer-top .links .tbs a {
	color: var(--footer-link-color);
}
footer.web .footer-top .links .tbs a:hover {
	color: var(--footer-link-color-hover);
}
footer.web .footer-legal {
	font-size: 0.9rem;
	text-align: center;
	display: flex;
	justify-content: start;
	gap: 2rem;
	padding: 2rem;
}
footer.web .footer-legal p {
	color: rgba(var(--footer-text-rgb), 0.7);
	margin: 0;
}
footer.web .footer-legal a {
	color: rgba(var(--footer-text-rgb), 1);
}
footer.web .footer-legal a:hover {
	color: rgba(var(--footer-text-rgb), 0.5);
}

/* General Backgrounds */
.gradient-bg {
	background: linear-gradient(
		-45deg,
		var(--primary-color),
		var(--secondary-color),
		var(--info-color)
	);
	background-size: 400% 400%;
	animation: gradient 40s linear infinite;
	-webkit-animation: gradient 40s linear infinite;
}
@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
.bg-trans {
	background-color: transparent;
}
.bg-primary {
	background-color: var(--primary-color) !important;
}
.bg-secondary {
	background-color: var(--secondary-color) !important;
}
.bg-secondary.mute {
	background-color: rgba(var(--secondary-color-rgb), 0.15) !important;
}
.bg-info {
	background-color: var(--info-color) !important;
}
.bg-grey {
	background-color: #f3f3f3;
}

/* General Text Formatting */
.transparent {
	opacity: 60%;
}
.hero-title {
	font-size: 5rem;
	color: white;
	padding: 4rem 5vw 2rem 5vw;
}
.text-primary {
	color: var(--primary-color) !important;
}
.text-secondary {
	color: var(--secondary-color) !important;
}
.text-info {
	color: var(--info-color) !important;
}
.text-carousel {
	color: var(--carousel-text) !important;
}
.fw-100 {
	font-weight: 100;
}
.fw-200 {
	font-weight: 200;
}
.fw-300 {
	font-weight: 300;
}
.fw-400 {
	font-weight: 400;
}
.fw-500 {
	font-weight: 500;
}
.fw-600 {
	font-weight: 600;
}
.fw-700 {
	font-weight: 700;
}
.fw-800 {
	font-weight: 800;
}
.fw-900 {
	font-weight: 900;
}
.fs-xs {
	font-size: 0.8rem;
}
.fs-sm {
	font-size: 0.9rem;
}
.fs-md {
	font-size: 1.35rem;
	line-height: 1.3rem !important;
}
.lh-md {
	line-height: 1.4rem;
}
.fs-lg {
	font-size: 2.5rem;
	line-height: 2.5rem !important;
}
.lh-lg {
	line-height: 2.5rem !important;
}
.fs-xl {
	font-size: 3.5rem;
	line-height: 3.2rem !important;
}
.lh-xl {
	line-height: 3.2rem;
}
.fs-xxl {
	font-size: 10rem;
	line-height: 9rem;
}
.text-cap {
	text-transform: uppercase;
}

/* 404 Page */
.title-404 {
	font-size: calc(1.2rem + 3vw);
}
.links-404 {
	list-style: none;
	font-size: calc(1.2rem + 0.5vw);
	font-weight: 800;
	padding: 0;
}
.links-404 li {
	margin: 0 1.5rem 0 0;
}
.links-404 a {
	color: white;
}
.links-404 a:hover {
	color: #ffffffb2;
}

/* Gallery */
.galpreview {
	overflow: hidden;
	height: 10rem;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

/* Contact Page */
.contact-details {
	padding: 0;
}
.contact-details .contact-block {
	border-bottom: 1px solid var(--border-color);
	padding: 1.5rem 2rem;
	overflow-wrap: anywhere;
}
.contact-details .map-block {
	border-bottom: 1px solid var(--border-color);
	height: 350px;
	overflow: hidden;
}
.contact-details .contact-block a {
	color: var(--page-text-color);
}
.contact-details .contact-block a:hover {
	color: var(--primary-color);
}
.contact-details .contact-block:last-of-type {
	border-bottom: 0;
}
.contact-details .contact-block .fs-xl {
	font-size: calc(1.5rem + 3vw);
	line-height: calc(1.3rem + 3vw) !important;
}
.contact-details .contact-block .fs-md {
	font-size: calc(1rem + 1vw);
	line-height: calc(1.3rem + 1vw) !important;
}
.contact-form {
	position: relative;
	min-height: 100vh;
	overflow: hidden;
	padding: 2rem calc(var(--nav-side-gap) + 4vw);
}
.contact-form img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.contact-form-block {
	position: relative;
	z-index: +1;
	background-color: var(--page-bg-color);
	outline: 1px solid var(--border-color);
	padding-bottom: 1.5rem;
}
.contact-form-block h1 {
	padding: 2rem calc(1rem + 3vw);
	margin: 0;
}
.contact-form-type {
	position: sticky;
	top: 0.5rem;
}
#contactForm {
	padding: 7rem 0;
}
.contact-form-input p {
	margin-bottom: 0.5rem;
}
::placeholder {
	color: var(--border-color) !important;
	opacity: 1;
}
.contact-form-input input,
.contact-form-input textarea {
	width: 100%;
	outline: 0;
	border: 1px solid var(--border-color);
	background-color: transparent;
	padding: 1rem;
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
	color: var(--page-text-color);
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
}
.contact-form-block input:focus,
.contact-form-block textarea:focus {
	background-color: rgba(var(--border-color-rgb), 0.4);
}
.radio-container {
	display: flex;
	width: 100%;
	justify-content: left;
	padding: 1rem;
	position: relative;
	margin-bottom: 1rem;
}
.radio-container input {
	width: 1rem;
	margin-right: 1rem;
	position: relative;
	z-index: +1;
}
.radio-container label {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: transparent;
	padding-left: 3rem;
	display: flex;
	align-items: center;
	border: 1px solid var(--border-color);
	border-radius: 50rem;
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
	-webkit-border-radius: 50rem;
	-moz-border-radius: 50rem;
	-ms-border-radius: 50rem;
	-o-border-radius: 50rem;
}
.radio-container label:hover {
	cursor: pointer;
}
input[type="radio"]:checked + label {
	background-color: rgba(var(--border-color-rgb), 0.4);
}




.contact-hero {
	position: relative;
}
.contact-hero::after {
	content: "";
	z-index: -2;
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	background: linear-gradient(
		0deg,
		rgba(var(--page-bg-color-rgb), 1) 0%,
		rgba(var(--page-bg-color-rgb), 0) 100%
	);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}
.contact-hero img {
	position: absolute;
	z-index: -3;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
.contact-hero .hero-title {
	position: relative;
	z-index: +1;
	padding: 8rem 0 0 0;
}
.contact-hero .hero-title h1 {
	font-size: calc(2rem + 2vh + 2vw);
	line-height: calc(1.8rem + 2vh + 2vw);
	color: var(--primary-color);
	font-weight: 800;
	text-transform: uppercase;
}
.contact-hero .hero-description {
	position: relative;
	z-index: +1;
	margin-bottom: 4rem;
	width: 40rem;
	max-width: 100%;
}
.contact-hero .hero-description p {
	font-size: 1.2rem;
}
.contact-hero .hero-extras {
	position: relative;
	z-index: +1;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: end;
	padding-bottom: 3rem;
}
.contact-hero .opening-times {
	position: relative;
	height: 15rem;
	z-index: +1;
	width: 25rem;
	border: 1px solid var(--border-color);
	background-color: rgba(var(--page-bg-color-rgb), 0.4);
	padding: 1rem 1.5rem;
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
	max-width: 100%;
	box-shadow: 0px 0px 20px 0px #00000021;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.contact-hero .address {
	position: relative;
	height: 15rem;
	z-index: +1;
	width: 15rem;
	border: 1px solid var(--border-color);
	background-color: rgba(var(--page-bg-color-rgb), 0.4);
	padding: 1rem 1.5rem;
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
	max-width: 100%;
	box-shadow: 0px 0px 30px 0px #00000021;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.contact-hero .details {
	position: relative;
	height: 15rem;
	z-index: +1;
	width: 25rem;
	border: 1px solid var(--border-color);
	background-color: rgba(var(--page-bg-color-rgb), 0.4);
	padding: 1rem 1.5rem;
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
	max-width: 100%;
	box-shadow: 0px 0px 30px 0px #00000021;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.captcha-border {
	width: 295px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
}




/* General Page Formatting */
.overflow-h {
	overflow: hidden;
}
.page-hero {
	background-color: var(--primary-color);
	background-position: center;
	background-size: cover;
}
.hero-content {
	width: 100%;
}
.info-block {
	background-color: #ececec;
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
	padding: 1rem 1.5rem;
	margin: 0.5rem 0;
}
.info-block p:last-child {
	margin: 0;
}

.hero.custom {
	position: relative;
	height: 50rem;
	max-height: 65vh;
	background-color: var(--primary-color);
}
.hero.custom img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	object-fit: cover;
	object-position: center;
	height: 100%;
	width: 100%;
}
.hero.custom h1 {
	position: absolute;
	top: 2rem;
	left: var(--nav-side-gap);
	right: var(--nav-side-gap);
	bottom: var(--nav-side-gap);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 8vw;
	z-index: +1;
	color: var(--page-bg-color);
}
.fill-img {
	width: 100%;
	height: 10rem;
	min-height: 100%;
	object-fit: cover;
	object-position: center;
}
.sticky-container {
	position: relative;
}
.sticky-block {
	position: sticky;
	top: 0;
	width: 100%;
	left: 0;
	right: 0;
	padding: calc(1rem + 2rem) 0;
}
.not-sticky {
	position: static !important;
}
.full-page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.half-page {
	min-height: 50vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.image-sep img {
	height: 20rem;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
.news-block .img-fluid {
	width: 100%;
	height: 30rem;
	object-fit: cover;
	object-position: center;
}
.small-image {
	max-width: 5rem;
}

.accordion.faq {
	background-color: transparent !important;
}
.accordion.faq .accordion-item {
	background-color: transparent !important;
	border: 0;
}
.accordion.faq .accordion-header {
	background-color: white !important;
	border-radius: var(--br-def) var(--br-def) 0 0 !important;
	-webkit-border-radius: var(--br-def) var(--br-def) 0 0 !important;
	-moz-border-radius: var(--br-def) var(--br-def) 0 0 !important;
	-ms-border-radius: var(--br-def) var(--br-def) 0 0 !important;
	-o-border-radius: var(--br-def) var(--br-def) 0 0 !important;
}
.accordion.faq .accordion-button {
	background-color: transparent !important;
	text-transform: uppercase;
	font-weight: 800;
	font-size: 1.1rem;
}
.accordion.faq .accordion-body {
	background-color: white !important;
	border-top: 1px solid rgba(var(--page-text-color-rgb), 0.1);
	border-radius: 0 0 var(--br-def) var(--br-def);
	-webkit-border-radius: 0 0 var(--br-def) var(--br-def);
	-moz-border-radius: 0 0 var(--br-def) var(--br-def);
	-ms-border-radius: 0 0 var(--br-def) var(--br-def);
	-o-border-radius: 0 0 var(--br-def) var(--br-def);
}
.accordion.faq .accordion-button:not(.collapsed) {
	color: var(--primary-color) !important;
}

@media (max-width: 1024px) {
	.c-container,
	.c-container.narrow {
		padding: 0 20px;
	}
	.hero.custom h1 {
		font-size: 5rem;
	}
	.fs-xl {
		font-size: 2.5rem;
		line-height: 2.2rem !important;
	}
	.fs-lg {
		font-size: 2rem;
		line-height: 2rem !important;
	}
	.fs-md {
		font-size: 1.25rem;
		line-height: 1.2rem !important;
	}
}
@media (max-width: 500px) {
	.c-container,
	.c-container.narrow {
		padding: 0 10px;
	}
	.hero.custom h1 {
		font-size: 3rem;
	}
	.fs-xl {
		font-size: 1.9rem;
		line-height: 1.8rem !important;
	}
	.fs-lg {
		font-size: 1.5rem;
		line-height: 1.5rem !important;
	}
	.fs-md {
		font-size: 1.1rem;
		line-height: 1rem !important;
	}
}

.did-you-know {
	width: 100%;
	max-width: 10rem;
}

.c-hero {
	min-height: 40rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	padding: 1rem;
}
.c-hero::before {
	content: "";
	z-index: -3;
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	background-color: rgba(var(--info-color-rgb), 0.75);
	backdrop-filter: grayscale(100%);
}
.c-hero::after {
	content: "";
	z-index: -2;
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	background: linear-gradient(
		0deg,
		rgba(var(--page-bg-color-rgb), 1) 0%,
		rgba(var(--page-bg-color-rgb), 0) 100%
	);
}
.c-hero img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
	z-index: -1;
}
.c-hero h1 {
	text-transform: uppercase;
	font-size: calc(2rem + 3vw);
	position: relative;
	z-index: +1;
	font-weight: 800;
	color: var(--primary-color);
}
.c-hero p {
	font-size: calc(1rem + 0.25vw);
	line-height: calc(1rem + 0.25vw);
	position: relative;
	z-index: +1;
	width: 50rem;
	max-width: 100%;
}

/* Marquee */
.marquee {
	position: relative;
	display: flex;
	overflow: hidden;
	user-select: none;
}
.marquee li {
	width: calc(5rem + 4vw);
	height: calc(5rem + 4vw);
	max-width: 100%;
	min-width: 5rem;
	padding: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-grow: 1;
}
.marquee li img {
	width: 100%;
}
.marquee__content {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	width: auto;
	height: 100%;
	list-style: none;
	text-align: center;
	margin: 0;
	padding: 0;
	min-width: 100%;
	gap: 1px;
}
@keyframes scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}
@media (prefers-reduced-motion: reduce) {
	.marquee__content {
		animation-play-state: paused !important;
	}
}
.marquee__content {
	animation: scroll 50s linear infinite;
}
/* Reverse animation */
.marquee__reverse .marquee__content {
	animation-direction: reverse;
}
.marquee__fit-content {
	max-width: fit-content;
}
.marquee__pos-absolute .marquee__content:last-child {
	position: absolute;
	top: 0;
	left: 0;
}
.marquee__pos-absolute .marquee__content:last-child {
	animation-name: scroll-abs;
}
@keyframes scroll-abs {
	from {
		transform: translateX(100%);
	}
	to {
		transform: translateX(0);
	}
}

.products-row {
	--gap: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	row-gap: calc(var(--gap) * 3);
	justify-content: center;
	padding: 5rem 0;
}
.products-row .product-block {
	min-width: 20rem;
	width: calc(50% - var(--gap));
}
.products-row .product-block .product-content {
	width: 75%;
	height: 20rem;
	border: 1px solid var(--border-color);
	margin-bottom: 0.5rem;
	position: relative;
	padding: 0.75rem 15% 0.75rem 1rem;
	text-transform: uppercase;
	font-size: 1.2rem;
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
}
.products-row .product-block .product-content img {
	position: absolute;
	max-width: 150%;
	max-height: 140%;
	right: -30%;
	bottom: -3.5rem;
	pointer-events: none;
}
.products-row .product-block button {
	min-width: 12rem;
	max-width: 75%;
	border: 0;
	background-color: rgba(var(--page-text-color-rgb), 1);
	color: rgba(var(--page-bg-color-rgb), 1);
	padding: 0.75rem 1rem;
	font-weight: 700;
	text-transform: uppercase;
	position: relative;
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
}
.products-row .product-block button::after {
	content: "";
	position: absolute;
	bottom: -0.6rem;
	left: 5%;
	height: 0.4rem;
	width: 0%;
	background-color: var(--info-color);
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
}
.products-row .product-block button:hover::after {
	width: 90%;
}

.product-page-row {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
	padding: 3rem;
	background-image: url(/images/manufacture.jpg);
}
.product-page-row .product-block {
	min-width: 30rem;
	width: 40%;
	max-width: 100%;
	flex-grow: 1;
	background-color: var(--page-bg-color);
	border: 1px solid var(--border-color);
	display: flex;
	padding: 0.5rem;
}
.product-page-row .product-block img {
	width: 15rem;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border: 1px solid var(--border-color);
}

.img-limit {
	object-fit: cover;
	object-position: center;
	max-height: 30rem;
	width: 100%;
}

.carousel-group {
	display: flex;
	height: 65rem;
	color: white;
	max-height: 100vh;
	position: relative;
}
.carousel-block {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 100%;
	overflow: hidden;
	transition: flex 0.6s ease;
	position: relative;
	-webkit-transition: flex 0.6s ease;
	-moz-transition: flex 0.6s ease;
	-ms-transition: flex 0.6s ease;
	-o-transition: flex 0.6s ease;
}
.carousel-block:hover {
	flex: 6;
}
.carousel-block img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
.carousel-group .logo {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	z-index: +1;
	opacity: 1;
}
.carousel-group .logo::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(var(--page-bg-color-rgb), 0.2);
	z-index: -1;
	transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
	-o-transition: 0.5s;
}
.carousel-group:hover .logo::after {
	opacity: 0;
}
.carousel-group .logo .large-img {
	width: 30rem;
	max-width: 100%;
	transition: opacity 0.5s;
	-webkit-transition: opacity 0.5s;
	-moz-transition: opacity 0.5s;
	-ms-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
}
.carousel-group:hover .logo .large-img {
	opacity: 0;
}
.carousel-group .logo .small-img {
	display: none;
	width: 20rem;
	max-width: 100%;
	transition: opacity 0.5s;
	-webkit-transition: opacity 0.5s;
	-moz-transition: opacity 0.5s;
	-ms-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
}
.carousel-group:hover .logo .small-img {
	opacity: 0;
}
.carousel-content {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition-delay: 0s;
	transition: 0.1s;
	-webkit-transition: 0.1s;
	-moz-transition: 0.1s;
	-ms-transition: 0.1s;
	-o-transition: 0.1s;
	background: linear-gradient(0deg, var(--primary-color) 0%, #ffffff00 100%);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.carousel-block:hover .carousel-content {
	opacity: 1;
	transition-delay: var(--transition-def);
	transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
	-o-transition: 0.5s;
}
.carousel-content h3 {
	font-size: 2rem;
	font-weight: 700;
	text-transform: uppercase;
}
.carousel-content p {
	font-size: 1.2rem;
	font-weight: 200;
}
.carousel-content button {
	width: 0px;
	max-width: 100%;
	text-wrap: nowrap;
	overflow: hidden;
	background-color: transparent;
	border: 2px solid var(--carousel-text);
	padding: 0.4rem 1rem;
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
	color: var(--carousel-text);
	font-weight: 500;
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
}
.carousel-content a {
	width: 0px;
	overflow: hidden;
	text-wrap: nowrap;
	transition: 0.1s;
	-webkit-transition: 0.1s;
	-moz-transition: 0.1s;
	-ms-transition: 0.1s;
	-o-transition: 0.1s;
	display: flex;
	align-items: center;
	justify-content: center;
}
.carousel-content:hover a {
	width: 152px;
}
.carousel-content:hover button {
	width: 152px;
}
.carousel-content button:hover {
	background-color: rgba(var(--carousel-text-rgb), 0.3);
}
@media (max-width: 800px) {
	.carousel-group .logo::after {
		background-color: rgba(var(--page-bg-color-rgb), 0);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	.carousel-group .logo .small-img {
		display: block;
	}
	.carousel-group .logo .large-img {
		display: none;
	}
}
.gapping {
	padding-top: 7rem;
	padding-bottom: 7rem;
}
.img-circular {
	width: 15rem;
	max-width: 100%;
	border-radius: 100%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	-ms-border-radius: 100%;
	-o-border-radius: 100%;
}
.btn-underlined {
	color: var(--secondary-color);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.btn-underlined::after {
	content: "";
	background-color: var(--secondary-color);
	width: 5rem;
	height: 2px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-ms-border-radius: 2px;
	-o-border-radius: 2px;
	transition: var(--transition-def);
	-webkit-transition: var(--transition-def);
	-moz-transition: var(--transition-def);
	-ms-transition: var(--transition-def);
	-o-transition: var(--transition-def);
}
.btn-underlined:hover::after {
	width: 0rem;
}
.product-group-image {
	max-height: 15rem;
	max-width: 100%;
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: var(--br-def);
	-webkit-border-radius: var(--br-def);
	-moz-border-radius: var(--br-def);
	-ms-border-radius: var(--br-def);
	-o-border-radius: var(--br-def);
	background-color: rgba(255, 255, 255, 0.5);
}