* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Interstate','Arial', sans-serif;
}
#productFilter {
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
}
#resetFilter {
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
}
#productFilter::placeholder {
  color: rgba(255, 255, 255, .3);
  opacity: 1; /* Firefox */
}

#productFilter::-ms-input-placeholder { /* Edge 12 -18 */
  color: rgba(255, 255, 255, .3);
}
body {
	background: rgba(0,0,0,.1) url('back.jpg');
	height: 100%;
	font-weight: 300;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	text-shadow: 1px 1px 1px rgba(0,0,0,.8);
}
body.preload {
	overflow: hidden;
	height: 100vh;
	background: #000;
}
#div-switch {
	position: absolute;
	top: 1rem;
	right: 1rem;
}
#preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
	transition: opacity 0.5s ease;
}

.loader {
	width: 50px;
	height: 50px;
	border: 5px solid #fff;
	border-radius: 50%;
	border-top-color: transparent;
	animation: spin 1s linear infinite;
}

.card-text {
	display: -webkit-box;
	-webkit-line-clamp: 4; /* Show 3 lines max */
	-webkit-box-orient: vertical;
	overflow: hidden;
	position: relative;
}

.card-text.expanded {
	-webkit-line-clamp: unset;
}

.btn {
    border: 0;
}
/* Read more button styling */
.read-more-btn {
	background: none;
	border: none;
	color: #00f9f9;
	padding: 0;
	cursor: pointer;
	font-weight: 500;
	float: right;
	margin-top: 1rem;
}

.read-more-btn:hover {
	text-decoration: underline;
}

.gradient-line {
    position: relative;
    z-index: 1;
    width: 100%;
}

.gradient-line::before,
.gradient-line::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 50px;
    height: 10px;
    background: linear-gradient(to bottom, #002060, transparent);
    z-index: -1;
}

.gradient-line::before {
    left: 0;
    transform: translateY(-50%);
}

.gradient-line::after {
    right: 0;
    transform: translateY(-50%);
    background: linear-gradient(to bottom, #cc2024, transparent);
}

/* Gradient fade effect (optional) */
@keyframes spin {
	100% {
		transform: rotate(360deg);
	}
}

.logo-container {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .75rem;
	margin-bottom: 2rem;
	/* flex-wrap: wrap; */
	background: rgba(255,255,255,.4);
	/* backdrop-filter: blur(3px); */
	padding: 1rem;
	border-radius: .5rem;
	border: solid 2px rgba(255,255,255,.3);
	/* box-shadow: 0px 0px 10px 3px rgba(255, 255, 255, .3); */
	flex-direction: column;
}
.logo-kemindo {
    height: 60px;
}
.logo-magotteaux {
	height: 60px;
}
.filter-section {
	/* background-color: #f8f9fa; */
	/* padding: 1.5rem; */
	/* border-radius: 8px; */
	margin-bottom: 2rem;
	/* box-shadow: 0 2px 10px rgba(0,0,0,0.05); */
}

.filter-group {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.filter-input, .filter-input:focus {
	flex: 1;
	min-width: 250px;
	background-color: rgba(0,0,0,.5);
	color: #fff;
	border: solid 1px rgba(255,255,255,.1);
}

.filter-hidden {
	display: none;
}

.no-results {
	display: none;
	text-align: center;
	padding: 2rem;
	grid-column: 1 / -1;
	color: rgba(255,255,255,.7);
}

.no-results.show {
	display: block;
}

.parallax {
	/*background-image: url('bg.jpg');*/

	/* Set a specific height */
	/* height: 100%; */

	/* Create the parallax scrolling effect */
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
  
	/* background-attachment: fixed; */
	/* background-position: center; */
	/* background-repeat: no-repeat; */
	/* background-size: cover; */
	min-height: 100vh;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.parallax::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 32, 96, .2);
}

.parallax-content {
	position: relative;
	z-index: 1;
	color: white;
	text-align: center;
	padding: 2rem;
}

.product-card {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
	background: rgba(0, 0, 0, .4);
	color: #fff;
	backdrop-filter: blur(3px);
}

.product-card:hover {
	transform: translateY(-10px);
	/* box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); */
}

.product-img {
	height: 250px;
	object-fit: cover;
}

.product-img.product-img-contain {
	object-fit: contain;
}
.product-card .card-title {
    color: #fff; text-shadow: 1px 1px 1px rgba(0,0,0,.4);
}
.specs-list {
	list-style-type: none;
	padding-left: 0;
}

.specs-list li {
	margin-bottom: 0.5rem;
}

.back-to-top {
	position: fixed;
	bottom: 30px;
	left: 30px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	z-index: 1000;
}

.back-to-top.active {
	opacity: 1;
	visibility: visible;
}
.table {
	--bs-table-color: #fff;
	--bs-table-color-state: #fff;
	--bs-table-bg: rgba(0, 0, 0, .1);
	--bs-table-border-color: rgba(255,255,255,.2);
	--bs-table-accent-bg: transparent;
	--bs-table-striped-color: var(--bs-body-color);
	--bs-table-striped-bg: rgba(0, 0, 0, .4);
	--bs-table-active-color: var(--bs-body-color);
	--bs-table-active-bg: rgba(0, 0, 0, 0.1);
	--bs-table-hover-color: var(--bs-body-color);
	--bs-table-hover-bg: rgba(0, 0, 0, 0.075);
}

.table-primary {
    --bs-table-color: #fff;
    --bs-table-bg: rgba(255, 84, 0, .5);
    --bs-table-border-color: rgba(255,255,255,.2);
    --bs-table-striped-bg: rgba(0, 0, 0, .3);
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #bacbe6;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #bfd1ec;
    --bs-table-hover-color: #000;
    color: var(--bs-table-color);
    border-color: var(--bs-table-border-color);
}

/* Disable parallax on mobile */
@media (max-width: 768px) {
	.filter-group {
		flex-direction: column;
		gap: 0.5rem;
	}
	.filter-input {
		min-width: 100%;
	}
	.parallax {
		background-attachment: scroll;
	}
}

.table tr th, .table tr td {
    padding: .25rem .5rem;
    color: #fff;
}
.nav-pills .nav-link {
	background: rgba(0,0,0,.4);
	color: #fff;
	font-size: 18px;
	cursor: pointer;
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
	color: #fff;
	background-color: rgb(255, 84, 0);
}

.swiper-container {
    padding-top: 3rem;
    padding-bottom: 1.25rem;
}
.swiper-container-horizontal > .swiper-pagination-bullets,
.swiper-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0; bottom: unset;
}
.swiper-container .swiper-slide {
	background-position: center;
	background-size: cover;
	width: 300px;
}
.swiper-button-next, .swiper-button-prev {
	color: #ff5400;
}
.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: rgba(0,0,0,.5);
	opacity: 1;
	border-radius: 0;
	border: solid 2px rgba(255,255,255,.5);
	outline: solid 1px #000;
}
.swiper-pagination-bullet-active {
	background: #ff5400;
	width: 14px;
	height: 14px;
}
.swiper-pagination-bullet-active {
	color: #ff5400;
}
.team-block .inner-box {
	position: relative;
	display: block;
	min-height: 100%;
	border-radius: .5rem;
	overflow: hidden;
}

.team-block .image-box {
	background: rgba(0, 0, 0, 0.2);
	border-radius: 0;
	position: relative;
	display: flex;
	overflow: hidden;
	align-items: center;
	justify-content: center;
}

.team-block .image-box::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.80), rgba(0, 0, 0, 0.0));
	background: -ms-linear-gradient(bottom, rgba(0, 0, 0, 0.80), rgba(0, 0, 0, 0.0));
	opacity: 0;
	-webkit-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	transition: all 500ms ease;
	z-index: 1;
}
.team-block .image-box img {
	position: relative;
	display: block;
	width: 100%;
	height: 200px;
    object-fit: cover;
	border-radius: 0;
	-webkit-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	transition: all 500ms ease;
}

.team-block .image-box .overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	transition: all 500ms ease;
	-webkit-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	z-index: 1;
}
.team-block .image-box .overlay .viewBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.team-block .image-box .overlay .viewBtn svg {
    width: 24px;
}
.team-block .image-box:hover .overlay {
    opacity: 1;
	visibility: visible;
	background: rgba(255, 255, 255, .7);
}

.team-block .cat {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	text-align: center;
	font-family: 'Telegraf_Regular', sans-serif;
	-webkit-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	transition: all 500ms ease;
	z-index: 2;
}
.team-block .cat span {
	position: relative;
	display: inline-block;
	vertical-align: top;
	font-size: 14px;
	line-height: 20px;
	padding: 4px 10px;
	color: #292c30;
	background: var(--thm-primary);
	text-transform: uppercase;
	letter-spacing: 4px;
	border-radius: 0 0 7px 7px;
}
.team-block .social {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	/*top: -100px;*/
	-webkit-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	transition: all 500ms ease;
	z-index: 2;
}
.team-block:hover .social {
	opacity: 1;
	visibility: visible;
	/*top: 0;*/
}
.team-block .social a {
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin: 0 6px;
	font-size: 16px;
	line-height: 22px;
	padding: 7px 15px;
	width: 43px;
	height: 38px;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.15);
	text-transform: uppercase;
	letter-spacing: 4px;
	border-radius: 0 0 7px 7px;
	-webkit-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	transition: all 500ms ease;
}
.team-block .name {
	position: relative;
	padding: .75rem;
	padding-top: 0;
	background: rgba(0, 0, 0, .4);
	left: 0;
	top: 0;
	bottom: 0;
	border-radius: 0;
	color: #fff;
}