/* ajax preloader */
.ajax_preloader {
	position: absolute;
	inset: 0;
	background: #ffffff63;
	z-index: 1;
	opacity: 0;
	transition: all .2s ease-in-out;
	display: flex;
	justify-content: center;
	visibility: collapse;
	
}
.ajax_preloader > * { width: 90px; height: 90px; }


/* Loading */
.vehicle_ajax_loop.loading .ajax_preloader {
	opacity: 1;
	visibility: visible;
	transition-delay: .15s;
}

.vehicle_ajax_loop.loading .vehicle_ajax_loop-list {
	opacity: 0; transform: translateY( 50px );
}



/* Pagination */
.pagination { width: 100%; }









/**
 * Single vehicle page
 *
 */
/* .single-veicolo .vehicle_infos { width: initial; } */
.single-veicolo .vehicle-customization .input-filter-wrap {
	display: flex;
    flex-direction: column;
}

.single-veicolo .price-wrapper {
	text-align: left;
	margin: 0;
    width: auto;
    justify-content: start;
	padding: 15px 0;
}
.single-veicolo .vehicle-price { width: auto; }


.single-veicolo .nf_slider {
	height: 300px;
}
.single-veicolo .nf_slider.thumbs-slider {
	height: 100px;
}
.single-veicolo .nf_slider img{
    height: 100%;
    object-fit: contain;
}







/**
 * Vehicle Loop
 *
 */
/* .vehicle_ajax_loop {
	height: 200px;
	transition: height .3s ease-in-out;
} */
.vehicle_ajax_loop .vehicle_ajax_loop-list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
	opacity: 1;
	transform: none;
	transition: all .2s ease-in-out;
}







/* Vehcile Loop Card */
.vehicle_card {
	--card-radius: 12px;
	border: 1px solid #cfcfcf;
	width: 350px;
	padding: 20px;
	/* padding: 25px 15px; */
	border-radius: var( --card-radius );
	font-size: 16px;
	text-align: center;
	line-height: 1.2;
}
.vehicle_card > a {
	display: flex;
    flex-direction: column;
	align-items: center;
	text-decoration: none !important;
	height: 100%;
}
.vehicle_card > a,
.vehicle_card > a:hover,
.vehicle_card > a:focus,
.vehicle_card > a:active {
	color: initial;
	
}



.vehicle_card .vehicle-title * {
	margin-bottom: 0; line-height: 1;
}
.vehicle_card .vehicle-title h1 {
	font-size: 2rem;
}
.vehicle_card .vehicle-title h2 {
	font-size: 1.2rem;
    font-weight: 300;
}
.vehicle_card p { margin-bottom: 0px; }

.vehicle_card img {
	height: 220px !important;
	object-fit: contain;
	width: 100%;
	padding: 20px 0px;
}

.vehicle_infos {
	width: 100%;
	display: flex;
    justify-content: space-between;
	margin: 10px 0px;
	margin-top: auto;
	align-items: flex-end;
}
.vehicle_infos > * { width: 100%; }



.vehicle-configuration { text-align: left; }
.price-wrapper { text-align: right; }


.vehicle_card_cta {
	padding: 14px 10px;
	margin: 0 auto;
	margin-top: 20px;
	background: var( --nv-primary-accent );
	border: 1px solid var( --nv-primary-accent );
	border-radius: var( --card-radius );
	position: relative;
	width: 100%;
	text-transform: uppercase;
	font-weight: bolder;
	font-size: 1.2rem;
}





/* VEHICLE CARD PRICE */
.price-wrapper {
	display: flex;
	justify-content: flex-end;
	/* align-items: center; */
	align-items: flex-end;
	margin-left: auto;
}
.vehicle-price {
	/* margin-bottom: 0; */
	/* margin-top: auto; */
	width: 100%;
	color: var( --text );
	position: relative;
	overflow: hidden;
	font-size: 2.3rem;
	font-weight: 800;
}
.vehicle-price > * {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	margin-bottom: 0px;
	line-height: 1;
	justify-content: flex-end;
	flex-direction: column;
}
.vehicle-price > * span {
	-webkit-transition: all .35s cubic-bezier(0.83, 0, 0.4, 1);
	-moz-transition: all .35s cubic-bezier(0.83, 0, 0.4, 1);
	-ms-transition: all .35s cubic-bezier(0.83, 0, 0.4, 1);
	-o-transition: all .35s cubic-bezier(0.83, 0, 0.4, 1);
	transition: all .35s cubic-bezier(0.83, 0, 0.4, 1);
	display: inline-block;
	margin-right: 7px;
	line-height: .9;
	margin-right: 0;
}
/* dicitura 'IVA inclusa/esclusa' */
.vehicle-price > * span:last-child {
	font-size: 1rem;
	font-weight: 400;
	margin-top: 7px;
	/* display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: flex-end;
	align-items: flex-end; */
	-webkit-transition-delay: 100ms;
	-o-transition-delay: 100ms;
	transition-delay: 100ms;
}
/*the hidden price*/
.vehicle-price > *:nth-child(2) {
	position: absolute;
	bottom: -100%; right: 0;
	-webkit-transition: bottom .35s cubic-bezier(0.83, 0, 0.4, 1);
	-o-transition: bottom .35s cubic-bezier(0.83, 0, 0.4, 1);
	transition: bottom .35s cubic-bezier(0.83, 0, 0.4, 1);
}
.vehicle-price > *:nth-child(2) span {
	opacity: 0;
}


@media ( max-width: 450px ) {
	.vehicle-price > * {
		display: block;
		text-align: end;
	}

	.vehicle-price > * span:last-child {
		display:block;
	}

}







/* toggle price */
.switch-wrapper {
	transform-origin: top;
    transform: rotate( 90deg );
    margin-right: -25px;
}
  
.switch-wrapper .switch {
	position: relative;
	display: inline-block;
	width: 50px;
	height: 20px;
}


.switch-wrapper .slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 1px solid #dedede;
	-webkit-transition: .4s;
	transition: .4s;
}

.switch-wrapper .slider:before {
	position: absolute;
	content: "";
	height: 14px;
	width: 14px;
	left: 2px;
	bottom: 2px;
	background-color: #afafaf;
	-webkit-transition: .4s;
	transition: .4s;
}

.switch-wrapper .slider.round { border-radius: 34px; }
.switch-wrapper .slider.round:before { border-radius: 50%; }

.switch-v1.switch-wrapper {
	transform: rotate( 90deg );
	margin-right: -20px;
	padding: 0;
}
.switch-v1.switch-wrapper .switch {
	width: 50px;
	height: 4px;
	transform: none
}
.switch-v1 .slider:before {
	height: 16px;
	width: 16px;
	left: 0px;
	bottom: -6px;
	background-color: #676767;
}

/* active status */
.swap .switch-wrapper .slider {
	box-shadow: 0 0 6px #2196F3;
	background-color: white;
	border-color: transparent
}
.swap .switch-wrapper .slider::before {
	-webkit-transform: translateX( 30px );
	-ms-transform: translateX( 30px );
	transform: translateX( 30px );
	background: #42a2d6;
}

.swap .switch-v1 .slider:before {
	-webkit-transform: translateX( 36px );
	-ms-transform: translateX( 36px );
	transform: translateX( 36px );
}
/* End toggle price */





.swap .vehicle-price > *:first-child span {
	opacity: 0;
	-webkit-transform: translateY(-100%); /* slide */
	-moz-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	-o-transform: translateY(-100%);
	transform: translateY(-100%);
}


.swap .vehicle-price > *:nth-child(2) {
	bottom: 0;
}
.swap .vehicle-price > *:nth-child(2) span {
	opacity: 1;
	-webkit-transform: translateY(0%);
	-moz-transform: translateY(0%);
	-ms-transform: translateY(0%);
	-o-transform: translateY(0%);
	transform: translateY(0%);
}




.d-none { display: none; }
.mx-auto {
	margin: 0 auto !important;
}
.row.row {
	margin: 0;
}
.flex {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
}
.flex.row {
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
}
.flex.column {
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}
.flex.row-wrap {
	-webkit-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}

.j-c-end {justify-content: flex-end;}

.a-i-center {-ms-align-items: center; align-items: center;}
.a-i-end {-ms-align-items: flex-end; align-items: flex-end;}
.a-i-baseline {-ms-align-items: baseline; align-items: baseline;}

.col-25 {width: 25%;}
.col-30 {width: 30%;}
.col-33 {width: 33.33%;}
.col-40 {width: 40%;}
.col-50 {width: 50%;}
.col-60 {width: 60%;}
.col-70 {width: 70%;}
.col-75 {width: 75%;}
.col-100 {width: 100%;}

@media (max-width: 1024px) {
.col-tab-25 {width: 25%;}
.col-tab-30 {width: 30%;}
.col-tab-33 {width: 33.33%;}
.col-tab-40 {width: 40%;}
.col-tab-50 {width: 50%;}
.col-tab-60 {width: 60%;}
.col-tab-70 {width: 70%;}
.col-tab-75 {width: 75%;}
.col-tab-100 {width: 100%;}
}
@media (max-width: 768px) {
.col-sma-25 {width: 25%;}
.col-sma-30 {width: 30%;}
.col-sma-33 {width: 33.33%;}
.col-sma-40 {width: 40%;}
.col-sma-50 {width: 50%;}
.col-sma-60 {width: 60%;}
.col-sma-70 {width: 70%;}
.col-sma-75 {width: 75%;}
.col-sma-100 {width: 100%;}
}

/* ! margin system*/
.mt-20 {margin-top: 20px;}
.mt-40 {margin-top: 40px;}
.mt-100 {margin-top: 100px;}

.mb-5 {margin-bottom: 5px;}
.mb-10 {margin-bottom: 10px;}
.mb-20 {margin-bottom: 20px;}
.mb-40 {margin-bottom: 40px;}
.mb-50 {margin-bottom: 50px;}
.mb-60 {margin-bottom: 60px;}
.mb-100 {margin-bottom: 100px;}

.mtb-20 {margin-top: 20px; margin-bottom: 20px;}
.mtb-40 {margin-top: 40px; margin-bottom: 40px;}

.mr-20 {margin-right: 20px;}
.mr-40 {margin-right: 40px;}

/* ! padding system*/
.p-50 {padding: 50px;}

.pl-40 {padding-left: 40px;}

.pr-40 {padding-right: 40px;}