/*
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:*/

.grecaptcha-badge {
	display: none !important
}

.wpml-language-switcher-flags {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
.wpml-language-switcher-flags img {
    width: 24px;
    height: auto;
    margin-left: 12px;
    cursor: pointer;
}
.wpml-language-switcher-flags a {
	display: inline-flex;
}

.btn-whatsapp a {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	position: relative;
	color: #ffffff !important;
}
.btn-whatsapp a .w-text-value {
	position: absolute;
	top: 50%;
	right: calc(100% + 0.5rem);
	background: #FFFFFF;
	border: 1px solid #DCDCDC;
	border-radius: 8px;
	color: #000000;
	padding: 10px;
	pointer-events: none;
	font-weight: 600;
	width: 230px;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 1.5px;
	transform: translateY(-50%);
	opacity: 0;
	transition: 0.4s;
}
.btn-whatsapp a:hover .w-text-value {
	opacity: 1;
}
.btn-whatsapp a span[class*="fa-"] {
	margin-left: 0 !important;
}

#cmplz-document {
	font-size: 1rem !important;
	max-width: 100%;
}

#cmplz-document h2 {
	font-size: 2.18rem;
}
#cmplz-document p,
.editor-styles-wrapper .cmplz-unlinked-mode p,
#cmplz-document li,
.editor-styles-wrapper .cmplz-unlinked-mode li,
#cmplz-document td,
.editor-styles-wrapper .cmplz-unlinked-mode td {
	font-size: 1rem !important;
}
#cmplz-cookies-overview .cmplz-dropdown .cookies-per-purpose,
#cmplz-document .cmplz-dropdown .cookies-per-purpose,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cookies-per-purpose {
	margin-bottom: 0 !important;
}
#cmplz-cookies-overview .cmplz-dropdown summary,
#cmplz-document .cmplz-dropdown summary,
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary {
	margin: 0 !important;
}
#cmplz-cookies-overview .cmplz-dropdown .cmplz-service-description, #cmplz-document .cmplz-dropdown .cmplz-service-description, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cmplz-service-description, #cmplz-cookies-overview .cmplz-dropdown .cmplz-sharing-data, #cmplz-document .cmplz-dropdown .cmplz-sharing-data, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown .cmplz-sharing-data {
	padding: 15px !important;
}
#cmplz-cookies-overview .cmplz-dropdown, #cmplz-document .cmplz-dropdown, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown {
	margin-bottom: 5px;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	text-transform: uppercase !important;
}

.woocommerce-table--order-details a {
	color: #ffffff;
}
.woocommerce-order-details__title,
.wc-bacs-bank-details .account_number {
	display: none !important;
}
a.wc-block-components-checkout-return-to-cart-button {
	display: none;
}

/* HEADER */

.l-header.shadow_wide .l-subheader.at_middle, .l-header.shadow_wide .l-subheader.at_bottom {
	box-shadow: 0 2px 15px 0px rgba(0,0,0,0.25) !important;
}

@media (min-width: 1025px) and (max-width: 1630px) {
	.l-subheader.at_middle .l-subheader-cell.at_left, .l-subheader.at_middle .l-subheader-cell.at_right {
		flex-basis: 570px !important;
	}
}

.w-nav-control {
	min-width: 119px;
	position: relative;
	text-transform: uppercase;
	padding-right: 1.5rem;
	z-index: 9999;
}
.w-nav-control:after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 78px;
	background: rgba(242,240,232,0.15);
}
.w-nav-control > * + * {
	margin-left: 1rem;
}
.w-nav-icon > div {
	margin-top: -3px;
	transition: margin 0.15s cubic-bezier(0,1,.8,1);
}
.w-nav-icon > div:before {
	display: none;
}
.w-nav-icon > div:after {
	width: 10px;
}
.w-nav-control.active .w-nav-icon > div {
	margin: 0;
}
.w-nav-control.active .w-nav-icon > div:after {
	width: 100%;
}

.header_hor .l-subheader-cell.at_left > * {
	margin-right: 3.4rem;
}
.header_hor .l-subheader-cell.at_right > * {
	margin-left: 3.4rem;
}

.w-nav.type_mobile.m_layout_fullscreen .w-nav-list.level_1 .w-nav-close {
	display: none !important;
}

.w-nav.type_mobile.m_layout_fullscreen .w-nav-list.level_1 > li {
	font-weight: 900;
	line-height: 1;
}
.w-nav.type_mobile .w-nav-anchor:not(.w-btn) {
	line-height: 1.2em !important;
	display: inline-flex;
}

/* GENERAL */

h2 strong,
.h2 strong {
	font-weight: 900;
	color: var(--color-content-primary);
}
.color_alternate h2 strong {
	color: #A4793B;
}

.w-iconbox-title {
	font-weight: 700 !important;
	text-transform: uppercase !important;
}

.column-flex .wpb_wrapper {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.icons .wpb_wrapper,
.vcenter .wpb_wrapper {
	height: 100%;
}

.h1 {
	font-size: 5rem;
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1.2;
}

.faqs.accordion > div > .w-tabs-section {
	border: 0;
	margin-bottom: 1rem;
}
.faqs .w-tabs-section {
	background: rgba(255,255,255,0.8);
	border-radius: 10px;
	transition: .3s;
	box-shadow: 0;
}
.faqs .w-tabs-section.active {
	background: rgba(255,255,255,0.6);
	box-shadow: 1px 1px 7px 0px rgba(0, 0, 0, 0.13), 0px 0px 2px 0px rgba(0, 0, 0, 0.05);
}
.faqs .w-tabs-section-title {
	color: var(--color-content-text);
	transition: .3s;
}
.faqs .w-tabs-section-header.active .w-tabs-section-title,
.faqs .w-tabs-section-content,
.faqs .w-tabs-section-content * {
	color: var(--color-content-text);
}
.no-touch .w-tabs-section-header:hover,
.no-touch .w-tabs-section-header:focus {
	background: 0 0;
}
.faqs .w-tabs-section.active .w-tabs-section-control {
	color: var(--color-content-text);
}
h2.w-tabs-section-title,
h3.w-tabs-section-title {
	font-weight: 600;
}

.g-cols.via_grid.type_boxes > .vc_column_container,
.g-cols.via_flex.type_boxes > div > .vc_column-inner {
	padding: 3rem !important;
}

.g-cols.type_boxes form div.block-submit input[type="submit"],
.g-cols.type_boxes form div.block-submit button[type="submit"] {
	background: #A4793B;
	min-width: 100%;
}
.g-cols.type_boxes form div.block-submit input[type="submit"]:hover,
.g-cols.type_boxes form div.block-submit button[type="submit"]:hover {
	background: var(--color-content-secondary);
}
.g-cols.type_boxes form a {
	color: var(--color-content-text);
}

.vwrapper-flex .w-grid-item-h {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.vwrapper-flex .w-vwrapper {
	flex: 1;
}

.wp-caption-text {
	text-align: center;
}

.w-tabs-list-h {
	gap: 1rem;	
}
.w-tabs.style_radio > .w-tabs-list .w-tabs-item {
	border: 3px solid var(--color-content-text);
	opacity: 1;
	min-width: 195px;
	text-align: center;
	background: #ffffff !important;
	color: var(--color-content-text) !important;
}
.w-tabs.style_radio > .w-tabs-list .w-tabs-item.active {
	border-color: var(--color-content-primary);
	background: #FFF7EA !important;
	color: var(--color-content-text) !important;
}

.w-tabs.style_radio {
	position: relative;
}
.w-tabs.style_radio .w-tabs-list {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.w-tabs.style_radio .w-tabs-sections {
	/*background: rgba(0,0,0,0.60);*/
	border-radius: 50px;
}
.w-tabs.style_radio .w-tabs-sections .wpb_text_column,
.w-tabs.style_radio .w-tabs-sections .post_content,
.w-tabs.style_radio .w-tabs-sections .post_custom_field,
.w-tabs.style_radio .w-tabs-sections .w-gallery {
	max-width: 1500px;
	margin: 0 auto;
	padding: 1rem 1.5rem 4rem 1.5rem;
}
.w-tabs.style_radio .w-tabs-sections iframe {
	width: 100%;
}

.incluido .repeater-row,
.no_incluido .repeater-row {
	display: flex;
	align-items: center;
}
.incluido .repeater-row:before {
	content: "\f00c";
	font-family: "fontawesome";
  	font-weight: 400;
	color: #34B233;
	font-size: 1.4rem;
	margin-right: 0.5rem;
}
.no_incluido .repeater-row:before {
	content: "\f00d";
	font-family: "fontawesome";
  	font-weight: 400;
	color: #FF2C2C;
	font-size: 1.4rem;
	margin-right: 0.5rem;
}

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

/* CALENDARIO */

.all-dates-by-month .month {
	background: rgba(255,255,255,0.8);
	border-radius: 10px;
	margin-bottom: 1rem;
	padding: 1.5rem;
}
.all-dates-by-month .month ul {
	list-style: none;
}

/* DESTINOS */

.destinations .owl-stage-outer {
	overflow: visible !important;
}
.destinations .owl-item:nth-child(odd) .w-vwrapper {
	justify-content: flex-end;
}

.destiny-item {
	transition: padding .3s;
}
.w-grid-item:hover .destiny-item {
	padding: 1.5rem 3rem 1.5rem 1rem
}

.product-header form .col-xs-3 {
	width: 100%;
}

.readonly {
	background: #ffffff !important;
	cursor: default !important;
	pointer-events: none;
}

.days {
	border-radius: 25px;
	background: var(--color-content-primary);
	position: relative;
}
.days .stage-image,
.days .stage-image .stage-image-h {
	position: relative;
	overflow: hidden;
	border-top-left-radius: 25px;
	border-top-right-radius: 25px;
}
.days .stage-image .stage-image-h img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.days .stage-number {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	border-bottom-right-radius: 25px;
	background: #000000;
	color: #ffffff;
	width: 110px;
	text-align: center;
	padding: 10px;
	line-height: 1;
	font-weight: 900;
	text-transform: uppercase;
	font-size: 1.25rem;
	z-index: 9;
	/*transition: opacity .3s linear;
	opacity: 1;*/
}
/*.days:hover .stage-number {
	opacity: 0;
}*/
.days .stage-title {
	height: 95px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 23px;
	overflow: hidden;
	text-align: center;
}
.days .stage-title h3 {
	color: #ffffff;
	font-size: 1.5rem;
}
.days .stage-info {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 95px);
	border-bottom: 1px solid #ffffff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 14px;
	background: var(--color-content-primary);
	opacity: 0;
	transition: opacity .3s linear;
	z-index: 1;
	border-top-left-radius: 25px;
	border-top-right-radius: 25px;	
	overflow: hidden;
}
.days .stage-info .stage-description {	
	background: var(--color-content-primary);
	padding: 3rem 3rem 1.5rem 3rem;
	border-top-left-radius: 25px;
	border-top-right-radius: 25px;
	width: 100%;
}
.days .stage-info .stage-description a {
	color: var(--color-content-text) !important;
	text-decoration: underline;
}
.days .stage-info .stage-kms {	
	background: var(--color-content-primary);
	padding: 0 3rem 3rem 3rem;
	border-bottom-left-radius: 25px;
	border-bottom-right-radius: 25px;
	width: 100%;
	font-weight: bold;
}

.days:hover .stage-info {
	opacity: 1;
}

.swiper {
	overflow: visible !important;
}

.dates-container p {
	text-align: center;
}
.dates-container ul {
	margin: 0;
	padding: 0;
}
.dates-container ul li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 1rem 0;	
	border-top: 1px solid var(--color-content-bg-alt);
}
.dates-container ul li h3 {
	font-weight: 700;
	font-size: 15px;
	text-align: right;
	padding: 0;
	margin: 0;
}
.dates-container ul li h3:first-child {
	font-size: 1.47rem;
	color: var(--color-content-primary);
	line-height: 1.2;
	text-align: left;
}
.dates-container ul li:last-child {
	border-bottom: 1px solid var(--color-content-bg-alt);
}

.w-tabs.accordion > div > .w-tabs-section:first-child {
	border-top: 0 !important;
}
.w-tabs.accordion > div > .w-tabs-section:last-child {
	border-bottom: 0 !important;
}

.input-group { display: flex; align-items: stretch; }
.input-group input[type="number"], 
.input-group input[type="text"], 
.input-group input[type="tel"],
.input-group input[type="email"],
.input-group select { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group-text {
    display: flex;
    align-items: center;
    padding: 0 12px;
    background: var(--inputs-background, transparent);
    border-color: var(--inputs-border-color, currentColor);
    border-left: 0;
    border-radius: 0 var( --inputs-border-radius,0px ) var( --inputs-border-radius,0px ) 0;
    font-size: 1em;
    color: var(--color-content-primary);
    min-width: 20px;
    white-space: nowrap;
    border-width: var(--inputs-border-width, 1px);
    border-style: solid;
}

.input-group.money-input .input-group-text {
    background: var(--color-content-bg-grad) !important;
}

.input-group input[type="number"],
.input-group input[type="text"],
.input-group select {
    border-right: 0;
    border-radius: var( --inputs-border-radius,0px ) 0 0 var( --inputs-border-radius,0px );
    height: 38px;
    font-size: 1em;
}

/* CONTACTO */

.wrapper-contact .w-iconbox-title {
	font-size: 1.4rem;
}


/* FORMS */

span.label {
	display: none !important;
}

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

.col-xs-3 {
	width: 25%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-4 {
	width: 33.33%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-5 {
	width: 40%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-6 {
	width: 50%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-7 {
	width: 60%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-12 {
	width: 100%;
	float: left;
	padding: 0 0.5rem;
}
form div.form-group {
	display: inline-block;
	width: 100%;
	margin-bottom: 1rem;
}
form div.block-submit {
	display: inline-block;
	width: 100%;
	text-align: right;
}
form div.block-submit input[type="submit"] {
	min-width: 182px;
	text-align: center;
	padding: 0.6em 1.4em;
}

label {
	margin: 0;
	cursor: default;
	display: block;
	line-height: 1.2;
}
.wpcf7-list-item label {
	font-size: 14px;
	font-weight: 300;
	margin: 0 0 1rem 0;
}

input[type="checkbox"] {
    margin: 0 6px 0 0 !important;
}
select {
	cursor: pointer;
}
select option {
	background-color: var(--color-content-bg) !important;
	font-family: var(--font-family), sans-serif !important;
}
input[type="text"]:disabled,
select:disabled {
	opacity: 0.5;
	cursor: default;
}

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;
}
.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;
	/*-webkit-appearance: none !important;
    -moz-appearance: none !important;*/
}

span[data-name="legal"], .wpcf7-form-control-wrap {
	display: inline-block;
	width: 100%;
	margin: 0;
	line-height: 1.2;
}
span[data-name="legal"] {
	text-align: right;
}
span[data-name="legal"] label {
	font-size: 0.9rem !important;
	text-transform: none;
	margin: 0;
}
span[data-name="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: 0.9rem;
 	line-height: 1.2;
}
.wpcf7-form span.wpcf7-not-valid {
	border: 0 !important;
}
span.wpcf7-list-item {
	margin: 0;
	width: auto;
}
span.wpcf7-list-item > label {
	display: inline-block;
	padding: 0;
}
.wpcf7-not-valid-tip {
    font-size: 0.9rem;
	text-transform: none;
	line-height: 1.2;
}
.wpcf7-spinner {
	margin: 0 auto;
	display: block;
}


.flex-form {
	display: flex;
	flex-direction: row;
    justify-content: space-between;
	align-items: flex-start;
}
.flex-form .col-xs-3,
.flex-form .col-xs-4,
.flex-form .col-xs-12 {
	padding: 0 5px;
	display: flex;
}
.flex-form div.form-group {
	margin-bottom: 10px;
	display: inline-flex;
	flex-direction: column;
}
.flex-form .row {
	width: 100%;
	margin: 0 -5px;
}
.flex-form .block-submit {
	flex: 0 0 290px;
	margin-left: 10px;
	position: relative;
	min-width: 290px;
}
.flex-form .block-submit input[type="submit"] {
	width: 100%;
}
button#form-product[disabled] {
    cursor: not-allowed;
}

/************************************************************************************
smaller than 1630px
*************************************************************************************/
@media only screen and (max-width: 1630px) {
	
	.h1 {
		font-size: 4.4rem;
	}
	
	
}

/************************************************************************************
smaller than 1439px
*************************************************************************************/
@media only screen and (max-width: 1439px) {
	
	.cols-about-us .vc_col-sm-6 {
		width: 100% !important;
	}
	.cols-about-us .vc_col-sm-6 > .vc_column-inner {
		margin-bottom: 1.5rem;
	}
	.cols-about-us .vc_col-sm-6:last-child > .vc_column-inner {
		margin-bottom: 0;
	}
	
}

/************************************************************************************
smaller than 1024px
*************************************************************************************/
@media only screen and (max-width: 1024px) {
	
	.w-nav-control:after {
		height: 68px;
	}
	
	.h1 {
		font-size: 3.4rem;
	}
	
	.flex-form {
		flex-direction: column;
	}
	.flex-form .row {
		margin: 0;
	}
	.flex-form .row > div {
		padding: 0;
	}
	.flex-form .block-submit {
		flex: 0 0 auto;
		margin-left: 0;
		min-width: 100%;
	}
	
	.days .stage-info .stage-description {
		padding: 1.5rem 1rem 1.5rem 1rem;
	}
	.days .stage-info .stage-kms {
		padding: 0 1rem 1.5rem 1rem;
	}
	
	form .col-xs-3,
	form .col-xs-4,
	form .col-xs-5,
	form .col-xs-6,
	form .col-xs-7 {
		width: 100%;
	}
}

/************************************************************************************
smaller than 768px
*************************************************************************************/
@media only screen and (max-width: 768px) {
	
	.w-nav-control:after {
		height: 58px;
	}
	.header_hor .l-subheader-cell.at_left > * {
		margin-right: 0;
	}
}

/************************************************************************************
smaller than 600px
*************************************************************************************/
@media only screen and (max-width: 600px) {
	
	.ush_menu_1.type_mobile .w-nav-anchor.level_1, .ush_menu_1.type_mobile .w-nav-anchor.level_1 + .w-nav-arrow {
		font-size: 1.4rem !important;
	}
	
	.h1 {
		font-size: 2.6rem;
	}
	
	.dates-container ul li h3:first-child {
  		font-size: 1.27rem;
	}
	
	.days .stage-title h3 {
		font-size: 1.2rem;
	}
	.days .stage-info {
		font-size: 12px;
	}
	.days .stage-image .stage-image-h > div {
		padding-bottom: 100% !important;
	}

	#cmplz-document h2 {
		font-size: 1.8rem;
	}
	
}


@media (max-width:1024px) {
	.g-cols.via_grid.type_boxes>.vc_column_container,
	.g-cols.via_flex.type_boxes>div>.vc_column-inner {
		padding: 2.5rem !important;
	}
}
@media screen and (max-width:600px) {
	.g-cols.via_grid.type_boxes>.vc_column_container,
	.g-cols.via_flex.type_boxes>div>.vc_column-inner {
		padding: 1.5rem !important;
	}
}
