/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

:root, [data-bs-theme=light] {
	--bs-primary-rgb: 175, 48, 51;
	--cnvs-themecolor: #dc3545;
	--cnvs-themecolor-rgb: 220, 53, 69;
}

#header-wrap #logo img {
    height: 70px;
}

.swiper-brand .swiper-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition-timing-function: linear !important;
}

.swiper-brand .swiper-slide img {
    max-width: 120px;
}

header .container-fluid {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

.container-fluid {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
}

.cat-card {
	overflow: hidden;
}

.cat-card img {
	transition: all 0.2s ease-out;
}

.cat-card:hover img {
	transform: translate(0px, 0px) scale(1.3);
}

.clients-grid > .col {
    padding: 25px;
}

.bg-instagram, .h-bg-instagram:hover {
    background: linear-gradient(45deg, #dccf35, #f33a3a, #dc359e, #c000ff) !important;
    background-image: linear-gradient(45deg, rgb(220, 207, 53), rgb(243, 58, 58), rgb(220, 53, 158), rgb(192, 0, 255)) !important;
    background-position-x: initial !important;
    background-position-y: initial !important;
    background-size: initial !important;
    background-repeat-x: initial !important;
    background-repeat-y: initial !important;
    background-attachment: initial !important;
    background-origin: initial !important;
    background-clip: initial !important;
    background-color: initial !important;
    border: 0;
}

.fslider.slider-single-product .flex-control-nav.flex-control-thumbs {
    opacity: 1;
    position: relative;
    top: 0;
    left: 0;
    right: auto;
    margin: var(--cnvs-fslider-thumbs-gutters) calc(-1 * var(--cnvs-fslider-thumbs-gutters)) calc(-1 * var(--cnvs-fslider-thumbs-gutters)) 0;
    transition: opacity .3s linear;
}

.fslider.slider-single-product .flex-control-nav.flex-control-thumbs li {
	box-shadow: none;
}

.fslider.slider-single-product  nav.flex-control-thumbs li:hover img, .fslider.slider-single-product .flex-control-nav.flex-control-thumbs li img.flex-active {
    border-width: 0;
    opacity: 1;
    box-shadow: none;
}

.fslider.slider-single-product:hover .flex-prev, .fslider.slider-single-product:hover .flex-next {
    opacity: 1;
}

.flex-prev, .flex-next {
    opacity: 1;
}

.card-img-overlay.bg {
    background-color: rgba(0, 0, 0, 0.4);
}

.footer-logo {
	max-width: 150px;
    margin: auto;
}

.menu-footer .h-text-color:hover, .menu-footer a.h-text-color:hover {
	color: #90282a !important;
}

.colored-hover:hover {
	color: #90282a !important;
}

.mega-menu-marini .product-image img {
	transition: all 0.2s ease-out;
}

.mega-menu-marini .product-image:hover img {
	transform: translate(0px, 0px) scale(1.3);
}

.flip-card-front::after, .flip-card-back::after {
    content: "";
    display: block;
    opacity: 0.4;
}




/* expanding card */

.block-expand-categories .expand-category {
	--height: 50vh;
	--responsive-height: 90px;
	--hover-flex: 10;

	position: relative;
	background-position: center center;
	background-size: cover;
	margin: 5px 0;
	min-height: var(--responsive-height);
	cursor: pointer;
}

.block-expand-categories .expand-category::before {
	content: '';
	position: absolute;
	height: 100%;
	width: 100%;
	background: linear-gradient(to top, rgb(0 0 0 / 77%) 10%, rgb(255 255 255 / 0%) 70% );
}

.block-expand-categories .expand-category h4 {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	text-align: center;
	margin: 0;
	transform: translateY(-50%);
}

.block-expand-categories .expand-category p {
	position: absolute;
	color: #dee2e6;
	opacity: 0;
	bottom: -20px;
	left: 0;
	right: 0;
	margin: 0;
	text-align: center;
	transition: all 1s ease;
}

.text-fill-effect {
	--cnvs-text-fill-placeholder: rgba(var(--cnvs-contrast-rgb), 0.1);
	--cnvs-text-fill-color: linear-gradient(to right, var(--cnvs-contrast-1000), var(--cnvs-contrast-1000));
	-webkit-text-fill-color: var(--cnvs-text-fill-placeholder);
	position: relative;
	background-image: var(--cnvs-text-fill-color);
	background-size: calc(var(--cnvs-scroll-start) * 150%) 100%;
	background-repeat: no-repeat;
}

.text-splitter.scroll-detect span {
	opacity: calc(0.1 + (1 * var(--cnvs-scroll-percent)));
	transform: rotateX(20deg);
	transition: all .3s ease;
	transition-delay: 0s;
}

.text-splitter.scroll-detect.scroll-detect-inview span {
	transform: rotateX(0);
	transition-delay: calc(.04s * var(--cnvs-split-index));
}

.social-link-list {
    display: flex;
    justify-content: flex-end;
}

.text-right {
	text-align: right;	
}



/* Larger Device */
@media (min-width: 992px) {
	.block-expand-categories .expand-category {
		height: var(--height);
		flex: 1;
		margin: 0 10px;
		transition: flex 1s ease;
		-webkit-backface-visibility: hidden;
		transform: translate3d(0,0,0);
	}

	.block-expand-categories:not(.on-click) .expand-category:hover,
	.block-expand-categories.on-click .expand-category.active { flex: var(--hover-flex); }

	.block-expand-categories .expand-category h4 {
		opacity: 1;
		top: auto;
		bottom: 20px;
		transform: none;
		transition: all .4s ease;
	}
	
	.block-expand-categories .expand-category:hover h4 {
		opacity: 1;
		top: auto;
		bottom: 40px;
		transform: none;
		transition: all .4s ease;
	}
	
	.block-expand-categories .expand-category:hover p {
		position: absolute;
		opacity: 1;
		top: auto;
		bottom: 10px;
		transform: none;
	}

	.block-expand-categories:hover .expand-category:not(.active):not(:hover) h4 { opacity: 0; }
}

@media (max-width: 575.98px) {
	.block-expand-categories .expand-category::before {
		content: '';
		position: absolute;
		height: 100%;
		width: 100%;
		background: rgb(0 0 0 / 30%);
	}
}

/* END expanding card */

.modal-backdrop {
    display: block;
}



.grid-filter-wrap.filter-brand {
	justify-content: flex-start;
}

.grid-filter-wrap.filter-brand .grid-filter {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    overflow-x: auto;
}

.filter-brand .grid-filter.style-3 li a {
    white-space: nowrap;
	border-radius: 0;
	border: 1px solid #eeee;
    margin-right: 5px;
}

.filter-brand .grid-filter.style-3 li.activeFilter a {
    color: var(--cnvs-themecolor) !important;
    border-color: var(--cnvs-themecolor);
    background-color: transparent;
}

.filter-brand .grid-filter.style-3 li a.filter-brand-img img {
    width: 80px;
    min-width: 80px;
	opacity: 0.7;
}

.filter-brand .grid-filter.style-3 li a.filter-brand-img:hover img, .filter-brand .grid-filter.style-3 li.activeFilter a.filter-brand-img img {
	opacity: 1;
}

.filter-brand .grid-filter li {
    width: auto;
}

.row-category-opt {
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}


.row-category-opt .count {
	display: flex;
	justify-content: flex-end;
}

.accordion-variation .accordion-item .accordion-button {
    font-size: var(--cnvs-font-size-h3);
    font-weight: 600;
}

.accordion-button:not(.collapsed) {
    background-color: transparent;
    box-shadow: none;
}

.accordion-button:focus {
    border-color: transparent;
    outline: 0;
    box-shadow: none;
}


.tab-menu-cat .canvas-alt-tabs.tabs-bb {
    border-bottom: 0;
}

.product-title {
    text-align: left;
}

.slider-caption h2 {
    font-size: 2.5rem;
}

form p {
    margin-bottom: 0;
}

.grecaptcha-badge {
	display: none;
}


/* MEDIA MIN */

@media (min-width: 576px) {
	
}

@media (min-width: 768px) {
	.logo-onlymobile {
		display: none;
	}
}

@media (min-width: 992px) {
	.owl-stage {
	    right: -50px;
	}

}

@media (min-width: 1200px) {
	.slider-caption h2, .slider-caption .h2 {
		font-size: 4.5rem;
	}
	
	.slider-caption p {
		margin-top: 20px;
		font-size: 1.5rem;
	}
}



/* MEDIA MAX */

@media (max-width: 575.98px) {
	
	.filter-brand .grid-filter.style-3 li a.filter-brand-img {
		padding: 5px 10px;
	}
	
	.filter-brand .grid-filter.style-3 li a.filter-brand-img img {
		width: 60px;
		min-width: 60px;
	}
	
	.opt-button {
		width: 100%;
	}
	
	.button-filter {
		width: 49.3%;
	}
	
	.button-technique {
		width: 100%;
	}
	
	.tab-menu-cat .tabs {
		flex-direction: row;
	}
	
	.tab-menu-cat .tabs li {
		min-width: 50%;
	}
	
	.tab-menu-cat .tabs li .nav-link {
		width: 100%;
		text-align: center;
		margin: 0;
		border: inherit !important;
		color: #6c757d;
		border-bottom: 2px solid #dee2e6 !important;
	}
	
	.tab-menu-cat .canvas-alt-tabs.tabs-bb .nav-link.active {
		border-bottom: 2px solid var(--cnvs-themecolor) !important;
		font-weight: 600;
		color: #222;
	}
	
	.clients-grid > .col {
		padding: 20px 10px;
	}
	
	.clients-grid {
		--cnvs-clients-grid-border-style: solid;
		--cnvs-clients-grid-border-color: rgba(var(--cnvs-contrast-rgb), 0.07);
	}
	
	.accordion-variation .accordion-item .accordion-button {
		font-size: 18px;
		font-weight: 600;
	}
}

@media (max-width: 767.98px) {
	.fslider.flex-thumb-grid.grid-5-mobile .flex-control-nav.flex-control-thumbs li {
		width: 20% !important;
	}
	
	.mega-menu-marini .sub-menu-container, .mega-menu-marini .mega-menu-content {
		padding-left: 0;
	}
	
	.menu-footer {
		display: flex !important;
		overflow-x: auto;
		flex-wrap: nowrap;
		white-space: nowrap;
	}
	
	.mega-menu-marini .product-image {
		height: 80px;
		border-radius: 0;
	}
	
	.mega-menu-marini .menu-principal-category .col-12 {
		padding: 0 0 15px 0;
	}
	
	.page-title-mini .breadcrumb {
		margin-top: 0;
	}
}

@media (max-width: 991.98px) {
	.swiper-brand .swiper-slide img {
		max-width: 80%;
	}
}

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