body {
	background: var(--color-light-grey);
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: var(--color-blue-01);
	letter-spacing: -0.02em;
}

.text--l {
	font-size: 1rem;
	line-height: 1.25;
}

.text--m {
	font-size: 0.8125rem;
	line-height: 1.25;
}

/**/

.backgroundWrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.rotateAnimator {
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  width: 10%;
  height: 100vh;
  animation-name: move-by-circle-animation;
  animation-duration: 50s;
  animation-iteration-count: infinite;
/*   background: grey; */
}
.rotateAnimator-2 {
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  bottom: 0;
  width: 15%;
  height: 100vh;
  animation-name: move-by-circle-animation;
  animation-duration: 60s;
  animation-iteration-count: infinite;
/*   background: green; */
}
.bgGradient{ 
	width: 650px;
	height:650px;
	border-radius: 50%;
	opacity: 1;
}
.purple{
  top:0;
  right:-10%;
  background-color: var(--color-white);
/*   animation-name: purple-animation; */
  animation-duration: 20s;
  animation-iteration-count: infinite;
}

.green{
	top:0;
	left:-10%;
	background-color: var(--color-white);
	animation-name: green-animation;
	animation-duration: 20s;
	animation-iteration-count: infinite;
}

@keyframes green-animation {
  0%   {top: 0; left: 0%}  
  50%  {top: 35%; left: 40%;}
  100% {top: 0; left: 0%}
}

@keyframes purple-animation {
  0%   {top: 0; right: 0;}
  50%  {top: 65%; right: 40%;}  
  100% {top: 0; right: 0;}
}

@keyframes move-by-circle-animation {
  0% {transform: rotate(0deg); width: (10%)}
  50%  {width: 20%}
  100% {transform: rotate(360deg); width: (10%)}
}

main {
	position: relative;
	z-index: 1;
}

/* Card */

.main__inner {
	display: flex;
	width: 100%;
    align-items: stretch;
    height: 100%;
    position: relative;

}

.cards__container{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    z-index: 100;
}

.start__container {
    top: 0;
    left: 0;
    flex: 1;
	width: 100%;
    align-items: center; 
}

.pool__card {
	box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.08);
}

.card {
	background: var(--color-white);
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.start__container .card {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	position: relative;
	-webkit-mask-image: -webkit-radial-gradient(white, black);
	mask-image: -webkit-radial-gradient(white, black);
}

.start__card {
	align-items: center;
	display: flex;
	margin: 0 auto;
	justify-content: center;
	text-align: center;
	transition: opacity 0.6s var(--transition-handle);
}

.start__text {
	color: var(--color-white);
	position: relative;
	padding: 0 5rem;
	z-index: 1;
}

.start__title {
	font-size: 3.5rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 1.5rem;
}

.start__description {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.75rem;
}

	.start__background:before {
		background: rgba(var(--color-blue-rgb), 0.2);
		content: '';
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
		z-index: 1;
	}

.card__inner {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
	color: var(--color-blue-01);
	height: 100%;
	transition: opacity 0.6s var(--transition-handle);
	position: relative;
	width: 100%;
	z-index: 1;
}

	/* .card__inner:before {
		background: linear-gradient(0deg, rgba(var(--color-blue-rgb), 0.6), rgba(var(--color-blue-rgb), 0));
		bottom: 0;
		content: '';
		height: 50%;
		left: 0;
		position: absolute;
		width: 100%;
		z-index: 1;
	} */
	
.card__description {
	position: relative;
	/* text-shadow: 0 0.125rem 0.25rem rgba(var(--color-blue-rgb), 0.4); */
	z-index: 2;
}

.card__link {
	display: inline-block;
}

.card__name {
	color: var(--color-blue-02);
	font-weight: 700;
	line-height: 1;
	transition: color 0.3s ease;
}

.card__dimensions {
	color: var(--color-blue-04);
	font-weight: 600;
	letter-spacing: 1px;
}

.cards__grid .card__dimensions {
	margin-top: 0.25rem;
}

.cards__carousel .card__dimensions {
	margin-top: 0.5rem;
}

.card__ref {
	color: var(--color-blue-04);
	font-weight: 600;	
}

.cards__carousel .card__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.cards__grid .card__ref {
	margin-top: 0.25rem;
}

.card__btn {
	background: linear-gradient(256deg, var(--color-orange-01), var(--color-orange-02));
	background-color: var(--color-orange-01);
	color: var(--color-white);
	border-radius: 2rem;
	display: flex;
	font-weight: 600;
	line-height: 1;
	padding: 0.75rem 1.25rem;
	position: relative;
	width: fit-content;
	align-self: end;
	z-index: 1;
}

	.card__btn:before {
		background: linear-gradient(256deg, var(--color-orange-03), var(--color-orange-04));
		background-color: var(--color-orange-03);
		border-radius: 2rem;
		box-shadow: none;
		color: var(--color-white);
		content: '';
		height: 100%;
		left: 0;
		opacity: 0;
		position: absolute;
		top: 0;
		transition: opacity 0.4s var(--transition-handle);
		width: 100%;
		z-index: -1;
	}
	
.results__empty .slider__controls,
.results__empty .results__number {
	display: none;
}

.slider__prev,
.slider__next {
	align-items: center;
	cursor: pointer;
	display: flex;
	justify-content: center;
    width: calc(50% - 33.75rem / 2);
    height: 33.75rem;
	opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 101;
}

.filtered .slider__controls:not(.disabled) .slider__prev,
.filtered .slider__controls:not(.disabled) .slider__next {
	opacity: 1;
	transition: opacity 0.6s var(--transition-handle) 0.4s;
}


.slider__icon {
	height: 1rem;
	opacity: 0.4;
	width: 1rem;
	transition: opacity 0.6s var(--transition-handle);
}

.slider__prev {
	left: 0;
}

.slider__next {
	right: 0;
}

.no-prev .slider__prev,
.no-next .slider__next {
	opacity: 0 !important;
	pointer-events: none;
}

.disabled .slider__prev,
.disabled .slider__next {
	opacity: 0 !important;
	pointer-events: none;
}

.slider__container {
	transform: none !important;
}

body:not(.filtered) .results__container {
	cursor: default !important;
}

.layout__carousel .slider__container{
    display: flex;
}

.layout__carousel .cards__grid{
    display: none;
}

.layout__grid .slider__container{
    display: none;
}

@media (hover: hover) {
	
	.card__link:hover .card__name {
		color: var(--color-blue-05);
	}
	
	.card__btn:hover:before {
		opacity: 1;
	}
	
	.slider__prev:hover .slider__icon,
	.slider__next:hover .slider__icon {
		opacity: 1;
	}
	
	.grid__card .card__bg {
		transition: transform 0.25s ease;
	}
	
	.grid__card:hover .card__bg {
		transform: scale(0.95);
	}
	
}

@media (min-width: 1181px) {
	
	.layout__grid .cards__grid {
		grid-template-columns: repeat(3, 1fr);
	}
	
}

@media (max-width: 1180px) and (min-width: 981px) {
	
	.layout__grid .cards__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
}

@media (min-width: 981px) {
	
	.start__container {
		position: absolute;
	}
	
	.filtered .start__card {
		opacity: 0;
	}
	
	.cards__carousel .card,
	.start__card {
		border-radius: 2.5rem;
		width: 33.75rem;  
	}
	
	.cards__carousel .card__name {
		font-size: 2rem;
	}
	
	.cards__carousel .card__inner {
		padding: 1.25rem 1.25rem 1.75rem 1.75rem;
	}
	
	.layout__grid .cards__grid {
		box-sizing: border-box;
		display: grid;
		gap: 1.25rem;
		padding-left: 2rem;
		position: relative;
	}
	
	.cards__grid .card {
		aspect-ratio: 1 / 1;
		border-radius: 1.5rem;
		box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.08);
		width: auto;
		position: relative;
	}
	 
	.cards__grid .card__name {
		 font-size: 1rem;
	}
	
	.cards__grid .card__inner {
		padding: 0.75rem 0.75rem 1rem 1rem;
	}
	
	.results__container {
		padding-bottom: 6rem;
		width: 100%;
		position: relative;
		z-index: 1;
    }
	
	body:not(.filtered) .results__container {
		position: sticky;
		top: 9rem;
		height: fit-content;
	}
    
    .slider__container{
        position:relative;
		width: 100%;
		height: 100%;
	}

    .cards__carousel {
		flex: 1;
		width: 100%;
		align-items: center;
		justify-content: flex-start;
		display:flex;
		overflow-x: hidden;
		transform-style: preserve-3d;
		flex-direction: column;
        height: 100%;        
	}

	.pool__card {
		position: absolute;
		transform-style: preserve-3d;
		opacity: 0;
		transition: opacity 0.4s var(--transition-handle), transform 0s 0.4s, filter 0.4s var(--transition-handle);
		z-index: 0;
	}
	
	.pool__card.active .card__inner {
		opacity: 1;
	}
	
	.pool__card.next {
		opacity: 0.8;
		filter: grayscale(1);
		transform: translateX(15%) scale(0.9);
		transition: transform 0.4s var(--transition-handle), filter 0.4s var(--transition-handle);
		z-index: 5;
	}
	
	.pool__card.active {
		opacity: 1;
		filter: grayscale(0);
		transform: translateX(0) scale(1);
		transition: transform 0.4s var(--transition-handle), filter 0.4s var(--transition-handle);
		z-index: 10;
	}
	
	.pool__card.prev {
		opacity: 0.8;
		filter: grayscale(1);
		transform: translateX(-15%) scale(0.9);
		transition: transform 0.4s var(--transition-handle), filter 0.4s var(--transition-handle);
		z-index:5;
	}
	
	.card__inner {
		opacity: 0;
	}
	
    .cards__grid .card__inner {
        opacity: 1;
    }
	
	.no__result--text {
		font-weight: 600;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 33.33vh;
	}
	
}

@media (max-width: 980px) {
	
	.start__container {
		margin-bottom: 2rem;
		position: relative;
		width: 100%;	
	}
	
	.card {
		border-radius: 2rem;
		box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.08);
		position: relative;
		width: 100%;  
	}

	.card__name {
		font-size: 1.5rem;
	}
	
	.card__inner {
		padding: 1rem 1rem 1.25rem 1.25rem;
	}
	
	.start__title {
		font-size: 2.5rem;
		line-height: 2.75rem;
		margin-bottom: 1.25rem;
	}
	
	.start__description {
		font-size: 1.25rem;
		line-height: 1.75rem;
	}
	
	.results__container {
		transform: translateX(0);
		transition: transform 0.6s var(--transition-handle) 0.2s;
	}

	.slider__container {
		display: none !important;
	}
	
	.cards__grid {
		display: flex !important;
		flex-direction: column;
		gap: 1rem;
		padding-bottom: 7.5rem;
	}

	.filtered .results__container {
		transform: translateX(-100%);
        transition-delay: 0.6s;
	}
	
}

/**/

.page__header {
	background: rgba(245, 247, 250, 0.5);
	-webkit-backdrop-filter: blur(4rem);
	backdrop-filter: blur(4rem);
	left: 0;
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 100;
}

	.page__header:before {
		background: linear-gradient(270deg, var(--color-blue-03), var(--color-blue-01));
		content: '';
		height: 0.1875rem;
		left: 0;
		position: fixed;
		pointer-events: none;
		top: 0;
		width: 100%;
		z-index: 2;
	}

.wrp {
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

.header__inner {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.header__claim--wrp{
    display:flex;
    justify-content: center;
    align-items: center;
}

.header__claim {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	padding-left: 2rem;
}

.header__logo {
	display: block;
	height: 5rem;
	transition: opacity 0.4s var(--transition-handle);
	width: 5rem;
}

.menu__wrp {
    display: flex;
    justify-content: center;
    align-items: center;
	gap: 1rem;
	transition: opacity 0.4s var(--transition-handle);
}

.menu__wrp > .filter__group {
	opacity: 0;
}

.filtered .menu__wrp > .filter__group {
	opacity: 1;
}

.select--wrp {
	display: flex;	
	position: relative;
}

.select--wrp select {
	cursor: pointer;
	padding: 0.5rem 1rem;
}

.language {
	color: var(--color-blue-02);
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}

.selected__arrow {
    display: inline-block;
    width:10px;
    height:10px;
}

.language svg {
	fill: transparent;
	height: 10px;
	transition: transform 0.4s var(--transition-handle);
	width: 10px;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0.625rem;
}

.language svg path {
	stroke: var(--color-blue-02);
}

@media (min-width: 1381px) {
	
	.wrp {
		width: 1280px;
	}
	
}

@media (max-width: 1380px) and (min-width: 981px) {
	
	.wrp {
		padding: 0 2.5rem;
		width: 100%;
	}
	
}

@media (min-width: 981px) {

	.page__header {
		padding: 1.25rem 0;
	}

}

@media (max-width: 980px) {
	
	.menu__wrp > .filter__group {
		display: none;
	}
	
	.wrp {
		width: 100%;
	}
	
	.page__header {
		padding: 1rem 0;
	}
	
	.header__inner {
		padding: 0 1.25rem;
	}
	
	.header__logo {
		height: 4rem;
		width: 4rem;	
	}
	
}

/** Control **/

.control__bar {
	background: var(--color-white);
	box-shadow: 0 -0.125rem 0.5rem rgba(0, 0, 0, 0.08);
	bottom: 0;
	left: 0;
	padding: 1rem 0;
	overflow: hidden;
	position: fixed;
	transform: translate3d(0, 100%, 0);
	transition: transform 0.4s cubic-bezier(0.42, 0, 0.15, 1);
	width: 100%;
	z-index: 100;
}

.can--filter .control__bar {
	transform: translate3d(0, 0, 0);
}

.control__inner {
	align-items: center;
	display: flex;
}

.filter__submit {
	background: linear-gradient(270deg, var(--color-blue-03), var(--color-blue-01));
	border-radius: 2rem;
	box-sizing: border-box;
	color: var(--color-white);
	cursor: pointer;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	padding: 1rem 2rem;
	position: relative;
	z-index: 1;
}

	.filter__submit:before {
		background: linear-gradient(256deg, #00d2ed, #009cca);
		background-color: #00d2ed;
		border-radius: 2rem;
		box-shadow: none;
		color: var(--color-white);
		content: '';
		height: 100%;
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: absolute;
		top: 0;
		transition: opacity 0.4s var(--transition-handle);
		width: 100%;
		z-index: -1;
	}

.control__results {
	align-items: center;
	font-weight: 600;
	display: flex;
	opacity: 0;
	transition: opacity 0.4s var(--transition-handle);
}

.filtered .control__results {
	opacity: 1;
}

.results__number {
	margin-right: 1.5rem;
}

.results__clean {
	border: solid 1px var(--color-blue-01);
	border-radius: 2rem;
	box-sizing: border-box;
	cursor: pointer;
	line-height: 1;
	padding: 0.625rem 1rem;
	transition: color 0.4s var(--transition-handle), background-color 0.4s var(--transition-handle);
}

@media (hover: hover) {
	
	.results__clean:hover {
		background: var(--color-blue-01);
		color: var(--color-white);
	}
	
	.filter__submit:hover:before {
		opacity: 1;
	}
	
}

@media (min-width: 981px) { 
	
	.filter__submit {
		width: 22.5rem;
	}
	
	.control__inner {
		justify-content: space-between;
	}
	
}

@media (max-width: 980px) {
	
	.control__bar {
		box-sizing: border-box;
		height: 4.5rem;	
		padding: 0.75rem 1rem;
	}
	
	.filter__submit {
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
		transition: opacity 0.2s var(--transition-handle) 0.4s;
	}
	
	.filtered .control__bar .filter__submit {
		opacity: 0;
		pointer-events: none;
	}
	
	body:not(.filtered) .control__results {
		opacity: 0;
	}
	
	.control__inner {
		align-items: center;
		justify-content: center;
		height: 3rem;
	}
	
}

/** Filters **/

.filters__form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-bottom: 6rem;
}

.filter__section {
	background: var(--color-white);
	border-radius: 0.75rem;
	box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.08);
	padding: 1rem;
}

.filter__group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
}

.filter__legend {
    margin-bottom: 1rem;
}

.filter__label {
	color: var(--color-blue-04);
	display: flex;
	font-weight: 600;
	gap: 0.3125rem;
}

.filter__label span {
	display: none;
}

.filter__label + span {
	display: block;
	margin-top: 0.5rem;
}

.filter__button,
.layout__button {
	display: flex;
	cursor: pointer;
	position: relative;
}

.button {
	line-height: 1;
}

.filter__button input,
.layout__button input {
	cursor: pointer;
	height: 100%;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.button--filter,
.button--layout {
	border: solid 1px var(--color-blue-01);
	border-radius: 0.5rem;
	display: block;
	font-weight: 600;
	padding: 0.625rem 0.75rem;
	transition: background 0.3s var(--transition-handle), color 0.4s var(--transition-handle);
}

.filter__button input:checked + .button--filter,
.layout__button input:checked + .button--layout {
	background-color: var(--color-blue-01);
	color: var(--color-white);
}

.acero--on .rectangular--input{
    display: none;
}

.filter__color, .filter__filtro {
	display: none;
}

.acero--on .filter__color,.acero--on .filter__filtro{
	display: block;
}

.filter__color .filter__group {
	gap: 0.25rem;
}

.button--swatch {
	background: var(--color-light-grey);
	border-radius: 50%;
	box-shadow: inset 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.2);
	height: 1.75rem;
	margin: 0.375rem;
	position: relative;
	width: 1.75rem;
}

	.button--swatch:before {
		border-radius: 50%;
		border: solid 0.1875rem var(--color-blue-01);
		content: '';
		height: calc(100% +  0.375rem);
		left: -0.375rem;
		position: absolute;
		opacity: 0;
		top: -0.375rem;
		width: calc(100% +  0.375rem);
		transition: opacity 0.2s ease;
	}
	
	.filter__button input:checked + .button--swatch:before {
		opacity: 1;
	}
	
.filter__range__container {
	align-items: center;
	display: flex;
	gap: 1rem;
	width: 100%;
}

.filter__range__container.disabled .filter__range {
	opacity: 0.2;
	pointer-events: none;
}

.filter__range__container.disabled .filter__range input[type='range']::-webkit-slider-thumb {
	pointer-events: none;
}

.filter__range {
	flex: 1;
	padding: 1.75rem 0;
	position: relative;
	width: 100%;
}

.filter__range__label {
	background: var(--color-light-grey);
	border-radius: 0.5rem;
	font-weight: 600;
	padding: 0.5rem;
	text-align: center;
	width: 4.5rem;
	order: 1;
}
	
.filter__range input[type=number] {
	field-sizing: content;
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
	pointer-events: none;
}

.filter__range input[type=number]::placeholder {
	color: rgb(var(--color-black));
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.filter__range .flt__input {
	position: absolute;
	width: 100%;
	height: 0.25rem;
	background: none;
	top: -0.25rem;
	pointer-events: none;
	-webkit-appearance: none;
}

	.filter__range input[type='range']::-webkit-slider-thumb {
		cursor: pointer;
		box-sizing: border-box;
		box-shadow: none;
		height: 1rem;
		width: 1rem;
		border-radius: 50%;
		background: var(--color-white);
		border: solid 0.1875rem var(--color-blue-01);
		pointer-events: auto;
		-webkit-appearance: none;
	}
	
.filter__range .slider-container {
	border-radius: 0.125rem;
	overflow: hidden;
	height: 0.25rem;
	position: relative;
	background: var(--color-blue-hover);
	width: 100%;
}

.filter__range .slider-container + div {
	position: relative;
}

.filter__range .slider-container > div {
	height: 100%;
	left: 0;
	right: 0;
	position: absolute;
	background: var(--color-blue-01);
	display: block;
}

.range-text__input {
	display: flex;
	justify-content: space-between;
	position: absolute;
	padding-top: 1rem;
	width: 100%;
}

.range-text__input > div {
	align-items: center;
	display: flex;
	font-size: 0.75rem;
	line-height: 1;
}

.filter__label .select__color {
    display: block;
    text-transform: capitalize;
}


@media (hover: hover) {
	
	.filter__button input:hover + .button--filter,
	.filter__layout input:hover + .button--layout {
		background-color: var(--color-blue-hover);
	}
	
	.filter__button input:checked:hover + .button--filter,
	.filter__layout input:checked:hover + .button--layout {
		background-color: var(--color-blue-01);
		color: var(--color-white);
	}
	
	.filter__button input:hover + .button--swatch:before {
		opacity: 0.4;
	}
	
	.filter__button input:checked:hover + .button--swatch:before {
		opacity: 1;
	}
	
}

@media (min-width: 981px) {
	
	.filters__form {
		width: 22.5rem;
	}
	
	.main__inner {
		margin-top: 9rem;
	}
	
}

@media (max-width: 980px) {
	
	.main__inner {
		margin-top: 8rem;
		position: relative;
		overflow: hidden;
	}
	
	.filters__container {
		width: 100%;
	}
	
	.filters__form {
		position: relative;
		width: 100%;
	}
	
	.filters__container,
	.results__container {
		box-sizing: border-box;
		padding: 0 1.25rem;
		min-width: 100vw;
	}
	
	.cards__container {
		flex-direction: column;
		gap: 1.25rem;
		height: auto;
		padding-bottom: 6rem;
	}
	
	.slider__controls {
		display: none;
	}
	
	.filtered .filters__container,
	.filtered .slide__container {
		transform: translate3d(-100vw, 0, 0);
		transition: transform 0.6s var(--transition-handle) 0.6s;
	}
	
}

.ar_vr_3d_model_try_on{
    width: 100px;
    height: 30px;
    background: #ccc;
}
