/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

.cmplz-cookiebanner .cmplz-buttons {
    flex-direction: row-reverse;
}

.grecaptcha-badge { 
    visibility: hidden !important;
}

#cmplz-document, .editor-styles-wrapper .cmplz-unlinked-mode {max-width: none !important;}
#cmplz-document, #cmplz-document p, #cmplz-document li {font-size:1rem; font-family: var(--font-body);}
#cmplz-document h2 {font-size:2.2rem;}

.blog-link {
	display: none !important;
}

footer .blog-link {
	display: inline-block !important;
}

.fooLinks a {
	color: white !important;
}

.spacer {
	--hwrapper-gap: 1rem !important;
}

.spacer .w-image-h {
	justify-content: center;
    display: flex;
}

.w-btn .fa-play-circle:before {
    transition: all 0.3s ease-in-out;
    color: var(--color-content-secondary);
}

.w-btn:hover .fa-play-circle:before {
    color: white;
}

.amp {
	margin-top: -2rem !important;
	margin-bottom: -2rem !important;
}

@media screen and (max-width: 600px) {
	.amp {
		margin-top: -3rem !important;
		margin-bottom: -1rem !important;
	}
}

.amp strong {
	font-size: 9rem !important;
}

#tours h3 {
	font-size: 1.5rem !important;
	margin-bottom: 0 !important;
}

.w-nav.type_mobile li a {
	border-bottom: 1px solid #d3d3d3;
}

.xtopper {
	overflow-x: hidden !important;
}


/************************************************************************** TEXT ANIMATIONS **************************************************************************/

.from-above.animate-in {
  animation: slideIn 1s ease forwards;
}

.from-above h2 > span {
  position: relative;
  display: inline-block;
  z-index: 1;
}

.from-above.animate-in h2 > span.animate-text {
  animation: textColor 1s ease forwards;
}

.from-above.animate-in h2 > span.animate-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: var(--color-content-secondary);
  z-index: -1;
  animation: spanReveal 1s ease forwards;
}

@keyframes slideIn {
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes spanReveal {
  to {
    width: 100%;
  }
}

@keyframes textColor {
  to {
    color: var(--color-content-primary);
  }
}


/*****************************************************************************************************************************************************************/

.rotate-right .fal {
	transition: all 0.3s ease-in-out;
	transform: rotate(0deg);
}

.rotate-right:hover .fal {
	transform: rotate(45deg);
}

.rotate-right-invert .fal {
	transition: all 0.3s ease-in-out;
	transform: rotate(0deg);
}

.rotate-right-invert:hover .fal {
	transform: rotate(-45deg);
}

.rotate-right.down {
	transform: translate(-50%, 50%) !important;
}


/************************************************************************** EXPERIENCES **************************************************************************/

.experiences .rotate-right.down {
	transition: all 0.3s ease-in-out;
	opacity: 0 !important;
}

.experiences:hover .rotate-right.down {
	opacity: 1 !important;
}

.owl-carousel .owl-stage-outer {
    overflow: visible !important;
}

.experiences .imacity img {
	opacity: 0.6 !important;
}

.experiences .post_title {
	background: var(--color-content-secondary);
	color: black;
}

@media screen and (max-width: 600px) {
	.experiences .rotate-right.down {
		opacity: 1 !important;
	}
	.experiences .imacity img {
		opacity: 0.6 !important;
	}
	.experiences .post_title {
		background: var(--color-content-secondary);
		color: black;
	}
	.experiences .post_content {
		opacity: 1;
	}
}


/*****************************************************************************************************************************************************************/

.filler {width: -webkit-fill-available;}
/*.fillerText {white-space: nowrap;}*/


/************************************************************************** TOURS **************************************************************************/

.toursCarousel .owl-dots {
	left: 2rem;
    bottom: 2rem !important;
    display: flex;
    /*bottom: 0 !important;*/
    position: absolute;
    flex-direction: column;
}

@media screen and (max-width:768px) {
	.toursCarousel .owl-dots {
		left: 0rem;
		bottom: 0rem;
	}
}

.toursCarousel .dotstyle_circle .owl-dot span {
    background: white !important;
	box-shadow: 0 0 0 2px white;
    opacity: 1 !important;
	margin-bottom: 0.75rem !important;
}

.toursCarousel .dotstyle_circle .owl-dot.active span {
    background: var(--color-content-secondary) !important;
    box-shadow: 0 0 0 2px var(--color-content-secondary);
    opacity: 1;
	margin-bottom: 0.75rem !important;
}

.w-filter-item-value-select {
	border: 2px solid var(--color-content-secondary);
    border-radius: 500px;
    background: white;
}

.w-filter-item-value-select {
	text-align: center !important;
}

.w-filter-item-value-select:focus, .w-filter-item-value-select:active, .w-filter-item-value-select:hover {
	background: var(--color-content-secondary) !important;
	color: white !important;
	border: 2px solid var(--color-content-secondary) !important;
	cursor: pointer;
}

.w-filter-item.type_dropdown .w-filter-item-values>select, .w-filter.state_desktop.mod_dropdown .w-filter-item-title {
    padding-inline-end: 1rem !important;
}

.w-filter-item.type_dropdown .w-filter-item-values:after, .w-filter.state_desktop.mod_dropdown .w-filter-item-title:after {
    font-size: 0px !important;
}

.w-filter-item-title, .w-filter-item-reset {
	display: none !important;
}


/************************************************************************** COUNTRIES **************************************************************************/

.country .darken {
	transition: all 0.3s ease-in-out;
	color: white;
	z-index: 33 !important;
}

.country:hover .darken {
	color: var(--color-content-secondary);
	opacity: 1;
}

@media screen and (max-width:600px) {
	.darken {
		transform: translatex(-50%);
	}
}

.country .darkenImage img {
	transition: all 0.3s ease-in-out;
	opacity: 1;
}

.country:hover .darkenImage img {
	opacity: 0.7;
}

.country .rotate-right.down.zero {
	transition: all 0.3s ease-in-out;
	opacity: 0;
}

.country:hover .rotate-right.down.zero {
	opacity: 1;
}

#countries .owl-dots {
    padding-top: 2rem !important;
}

@media screen and (max-width: 600px) {
	.country .darken {
		color: var(--color-content-secondary);
		opacity: 1;
	}
	.country .darkenImage img {
		opacity: 1;
	}
	.country .rotate-right.down.zero {
		opacity: 1;
	}
}


/************************************************************************** FAQS **************************************************************************/

.faqs .w-tabs-section-header {
    line-height: 1 !important;
    padding: 1em 0.25em !important;
}

.faqs .w-tabs-section-title {
	font-weight: 600 !important;
	text-transform: uppercase;
}


/************************************************************************** CALENDAR **************************************************************************/

/*.first, */.second {
	white-space: nowrap;
}

.second {
    transform: translateY(-50%);
}

.hoveredTour {
	transition: all 0.3s ease-in-out !important;
}

.hoveredTour:hover {
	background: var(--color-content-secondary);
	color: white;
}

.hoveredTour .first {
	transition: all 0.3s ease-in-out !important;
	opacity: 1 !important;
}

.hoveredTour:hover .first {
	opacity: 0 !important;
}

.hoveredTour .second {
	transition: all 0.3s ease-in-out !important;
	opacity: 0 !important;
}

.hoveredTour:hover .second {
	opacity: 1 !important;
}


/******************************************************************** INDIVIDUAL TOURS **************************************************************/

.rotate-loop {
  transform: translateX(-50%);
  animation: spin 9s linear infinite;
}

@keyframes spin {
  from {
    transform: translateX(-50%) rotate(0deg);
  }
  to {
    transform: translateX(-50%) rotate(360deg);
  }
}


.rotate-loop-ty {
  animation: spinning 9s linear infinite;
}

@keyframes spinning {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.tour-info {
	width: 49%;
	padding: 1rem;
	color: white;
	font-weight: 500;
	text-transform: uppercase;
	/*border: 1px solid white;*/
	background: var(--color-content-secondary);
	margin: 1px;
	margin-bottom: 0px !important;
}

.tour-info span {
	color: var(--color-content-primary);
	font-weight: 600;
}

.usp {
	width: 19% !important;
}

.itinerary .darkenImage img {
	opacity: 0.7 !important;
}

.included .w-tabs-section-header {
	background: var(--color-content-secondary) !important;
	padding: 1.5rem !important;
}

.pics-vids .owl-item {transition: all 0.3s ease-in-out; transform: scale(1);}
.pics-vids .owl-item.center {transition: all 0.3s ease-in-out; transform: scale(1.3);}
.pics-vids .owl-nav {position: absolute; left: 50%;	top: 110%;}
.pics-vids.products .owl-nav {position: absolute; left: 50%; top: 140%;} 
.pics-vids .owl-carousel .owl-next {left: 50%; right: auto;	margin: 0.5rem;}
.pics-vids .owl-carousel .owl-prev {right: 50%;	left: auto;	margin: 0.5rem;}
.pics-vids img {aspect-ratio: 3 / 2; object-fit: cover;}

.similar-tours .owl-dots {
	padding-top: 2rem !important;
}

.location .location_desc {
	opacity: 0;
	transition: all 0.3s ease-in-out;
}

.location:hover .location_desc {
	opacity: 1;
}

.location {
  position: relative;
  overflow: hidden;
}

.location::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.3s ease;
  z-index: 0;
}

.location:hover::before {
  background: rgba(0, 0, 0, 0.4);
}

.location > * {
  z-index: 1;
}

.opacity {
	opacity: 0;
}

.aspect {
  position: relative;
  overflow: hidden;
}
.aspect::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  transition: background 0.3s ease;
  z-index: 0;
}

.aspect:hover::before {
  background: rgba(0, 0, 0, 0.4);
}


.aspect {
	aspect-ratio: 10/16 !important;
}


/**************************************************************************** CHECKOUT ******************************************************************/

.wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	display: none;
}

#book-icons .w-iconbox-icon {
    margin-right: 0px !important;
}



/************************************************************** FORMS **************************************************************/

span.label {
	display: none;
}

.wpcf7-spinner {
	display: none !important;
}

.block-submit input {
	width: fit-content;
	justify-content: left;
    display: flex;
}

.wpcf7-list-item-label {
	margin-top: -2px;
}

form div.row {
	margin: 0 -15px;
	display: block;
	text-align: left;
}
.row:after {
	clear: both;
	display: table;
	content: " ";
}
.row:before {
	display: table;
	content: " ";
}

form .col-xs-2 {
	width: 20%;
	float: left;
	padding: 0 5px;
}
form .col-xs-3 {
	width: 29%;
	float: left;
	padding: 0 10px 0 0;
}
form .col-xs-3.submitButton {
	width: 13%;
	float: left;
	padding: 0 5px;
}
form .col-xs-4 {
	width: 33.33%;
	float: left;
	padding: 0 5px;
}
form .col-xs-5 {
	width: 40%;
	float: left;
	padding: 0 5px;
}
form .col-xs-6 {
	width: 50%;
	float: left;
	padding: 0 5px;
}
form .col-xs-7 {
	width: 60%;
	float: left;
	padding: 0 5px;
}
form .col-xs-12 {
	width: 100%;
	float: left;
	padding: 0 5px;
}
form div.form-group {
	display: inline-block;
	width: 100%;
	margin-bottom: 5px;
}
form div.block-submit {
	display: inline-block;
	width: 100%;
}
div.wpcf7 .ajax-loader {
	display: none !important;
}
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing,
div.wpcf7-response-output {
	border: 0;
	margin: 0;
	text-align: center;
}

.fooform form .col-xs-2 {
	width: 100% !important;
}
.fooform form .col-xs-3 {
	width: 100%;
}

.fooform .submitButton input {
	width: -webkit-fill-available !important;
}

.fooform input:not([type=submit]):not([type=radio]), .fooform select {
    border: 1px solid black !important;
}

.wpcf7-list-item-label {
    margin-top: -2px;
    line-height: 1;
    margin-left: 0.25rem;
}

/* Media query for smartphones */
@media only screen and (max-width: 767px) {
	form .col-xs-2 {
        width: 100% !important;
        padding: 0 15px;
    }
    form .col-xs-3, form .col-xs-3.submitButton {
        width: 100%;
		padding: 0 5px;
        /*padding: 0 15px;*/
    }
	.submitButton input {
		width: -webkit-fill-available !important;
	}
}

/* Media query for desktop */
@media only screen and (min-width: 768px) {
    .mobile {
        display: none;
    }
}

/* Media query for desktop */
@media only screen and (min-width: 1700px) {
	.owl-dots {
		display: none;
	}
}

/* Media query for mobile */
@media only screen and (max-width: 767px) {
    .desktop {
        display: none;
		flex-direction: row-reverse;
    }
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="file"],
.wpcf7-form textarea,
.wpcf7-form select {
    margin-top: 0;
    /*box-shadow: none !important;*/
}
.legal {
	font-size: 15px;
	display: inline-block;
	width: 100%;
	margin: 10px 0;
	line-height: 1.2;
}
.legal a {
	text-decoration: underline;
}
.wpcf7-form-control.wpcf7-checkbox {
	padding: 0;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	padding: 5px 0 !important;
	margin: 0 !important;
	border: 0 !important;
	font-size: 14px;
 	line-height: 1.4;
}
.wpcf7-form span.wpcf7-not-valid {
	border: 0 !important;
}
span.wpcf7-list-item {
	margin: 0;
}
.wpcf7-not-valid-tip {
    font-size: 0.8rem;
}
.wpcf7-spinner {
	display: block;
	margin: 5px auto;
}
.color_footer-bottom input:not([type="submit"]) {
	border: 0 !important;
	color: #000000 !important;
}


/*-----------------------MOTORCYCLE TOURS----------------------------*/
@media screen and (max-width: 768px) {
	.carrusel-hero-motorcycle-tours .owl-item {
		margin-right: 35px !important;
	}
	
	.custom-filter {
		overflow-x: scroll;
	}
	
	.custom-filter .w-filter-list {
		width: 60rem;
		height: 10rem;
	}
	
	.custom-select-row {
		justify-content: left !important;
	}
	
	.custom-filter-internal-country {
		overflow-x: scroll;
	}
	
	.custom-filter-internal-country .w-filter-list {
		width: 30rem;
		height: 10rem;
	}
	
	.custom-filter-internal-country .custom-select-option {
		min-width: 180px;
	}
}

.set-display-none {
	display: none !important;
}

@media screen and (min-width: 768px) {
	.set-sobremesa-display-none {
		display: none !important;
	}
}


/*--------------------------ALL IMAGES GRADIANT---------------------------*/
.overlay-gradiant-left-right {
	position: relative;
	overflow: hidden; /* importante para que el after no se salga */
}

.overlay-gradiant-left-right::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none; /* para que no interfiera con clics */
	background: -webkit-linear-gradient(90deg,rgba(5, 5, 5, 0.5) 44%, rgba(255, 255, 255, 0) 100%);
	background: -moz-linear-gradient(90deg,rgba(5, 5, 5, 0.5) 44%, rgba(255, 255, 255, 0) 100%);
	background: linear-gradient(90deg,rgba(5, 5, 5, 0.5) 44%, rgba(255, 255, 255, 0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(
		startColorstr="#050505",
		endColorstr="#FFFFFF",
		GradientType=1
	);
	z-index:1;
}

.overlay-gradiant-top-bottom {
	position: relative;
}

.overlay-gradiant-top-bottom::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none; /* para que no interfiera con clics */
	background: -webkit-linear-gradient(180deg,rgba(5, 5, 5, 0.5) 25%, rgba(255, 255, 255, 0) 100%);
	background: -moz-linear-gradient(180deg,rgba(5, 5, 5, 0.5) 25%, rgba(255, 255, 255, 0) 100%);
	background: linear-gradient(180deg,rgba(5, 5, 5, 0.5) 25%, rgba(255, 255, 255, 0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(
		startColorstr="#050505",
		endColorstr="#FFFFFF",
		GradientType=0
	);
	z-index:1;
}

/*-----------------------CARRUSEL MACAS---------------------------*/
/* Contenedor principal del marquee */
.marquee-left {
  position: relative;
  width: 125%;
  height: 180px;
  overflow-x: hidden;
}

/* Pista de animación */
.track-left {
  position: absolute;
  white-space: nowrap;
  will-change: transform;
  animation: marquee-left 22s linear infinite;
}

/* Animación hacia la izquierda */
@keyframes marquee-left {
  0% {
    transform: translateX(0%);
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  100% {
    transform: translateX(-50%);
    opacity: 1;
  }
}

/* Estilo de los elementos deslizables */
.imgSlide-left {
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 35px;
  object-fit: cover;
  width: 220px;
}

.imgSlide-left img {
  width: 100%;
  height: 50% !important;
  object-fit: contain !important;
}

.imgSlide-left .w-image-h-left {
  border-radius: 0px;
  height: auto;
}