/* Modulos de Total (menu movil, wpbakery, vcex, CF7) y librerias slider-pro / fancybox: solo reglas usadas.
   Origen: codigo del tema Total. Misma salvedad de licencia que total-base.css.
   Generado por extraccion automatica; conserva el orden, @media y @supports originales. */

/* ---- wpex-mobile-menu-breakpoint-max.css (reglas usadas) ---- */
@media only screen and (max-width:1199px){
body.has-mobile-menu .hide-at-mm-breakpoint { display: none; }
body.wpex-mobile-toggle-menu-icon_buttons #site-logo { height: 100%; float: left; text-align: left; }
}

/* ---- wpex-mobile-menu-breakpoint-min.css (reglas usadas) ---- */
@media only screen and (min-width:1200px){
body.has-mobile-menu .show-at-mm-breakpoint { display: none; }
}

/* ---- wpex-wpbakery.css (reglas usadas) ---- */
.vc_row, .vc_section { position: relative; }
.vc_section .vc_row { z-index: 2; }
.wpex-cols-right > .wpb_column, .wpex-cols-right > .vc_vc_column, .wpex-cols-right > .vc_vc_column_inner { float: right; }
.wpex-cols-right.vc_row-flex { width: auto; float: none; flex-direction: row-reverse; }
.wpb_row, .wpb_content_element, ul.wpb_thumbnails-fluid > li, .last_toggle_el_margin, .wpb_button, .wpb-js-composer .vc_tta-container { margin-bottom: 0px; }
.wpex-vc-column-spacing-60 { margin-left: -30px; margin-right: -30px; }
.wpex-vc-column-spacing-60 .vc_column-inner { padding-left: 30px; padding-right: 30px; margin-bottom: 60px; }
.wpex-vc-reset-negative-margin { margin-left: 0px; margin-right: 0px; }
.vc_single_image-wrapper { position: relative; overflow: visible; }
.wpb_single_image .vc_figure { position: relative; }
.vc_wp_custommenu ul { list-style: none; margin: 0px !important; }
.entry .widget_nav_menu ul { list-style: none; }

/* ---- vcex-shortcodes.css (reglas usadas) ---- */
.vcex-module a:hover .wpex-heading, .vcex-icon-box-link-wrap:hover .wpex-heading { color: rgb(26, 115, 232); }
.vcex-isotope-grid { overflow: hidden; }
ul.vcex-filter-links { list-style: none; margin: 0px 0px 20px; }
ul.vcex-filter-links li { float: left; margin-right: 5px; margin-bottom: 5px; }
ul.vcex-filter-links li:last-child { margin-right: 0px; }
ul.vcex-filter-links .theme-txt-link { display: inline-block; margin-right: 5px; }
.vcex-filter-links.center { text-align: center; }
.vcex-filter-links.center li { display: inline-block; float: none; }
@keyframes vcex-typed-blink { 
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}

/* ---- wpex-contact-form-7.css (completa: estados de validacion incluidos) ---- */
.wpcf7 .screen-reader-response { position: absolute; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); height: 1px; width: 1px; margin: 0px; padding: 0px; border: 0px; }
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output { display: none; }
span.wpcf7-list-item { display: inline-block; margin-right: 20px; }
.wpcf7-list-item-label::before, .wpcf7-list-item-label::after { content: " "; }
.wpcf7 div.ajax-error { display: none; }
.wpcf7 input[type="file"] { cursor: pointer; }
.wpcf7 input[type="file"]:disabled { cursor: default; }
.wpcf7 .wpcf7-submit:disabled { cursor: not-allowed; }
.wpcf7-form-control-wrap { position: relative; }
.wpcf7-form p { margin-bottom: 15px; }
.wpcf7-form input, .wpcf7-form textarea, .wpcf7-form .wpex-select-wrap { margin-top: 3px; }
.wpcf7-not-valid-tip { color: rgb(176, 0, 32); font-size: 1em; font-weight: normal; display: block; margin-top: 5px; }
.wpcf7 .placeheld { color: rgb(136, 136, 136); }
.wpcf7-quiz-label { display: block; }
.wpcf7 form p:last-of-type { margin: 0px; }
.wpcf7 form .wpcf7-response-output { margin-top: 20px; padding: 8px 10px; border-width: 0px 0px 0px 4px; border-style: none none none solid; border-color: currentcolor currentcolor currentcolor rgb(97, 97, 97); border-image: none; background: rgb(238, 238, 238); color: rgb(50, 55, 60); text-align: center; }
.wpcf7 form.sent .wpcf7-response-output { background-color: rgb(236, 247, 237); border-left-color: rgb(70, 180, 80); }
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output { background-color: rgb(251, 234, 234); border-left-color: rgb(220, 50, 50); }
.wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { color: rgb(50, 55, 60); background-color: rgb(255, 248, 229); border-color: rgb(255, 185, 0); }
.wpcf7 .wpcf7-not-valid { border-color: rgb(176, 0, 32) !important; }
.wpcf7 .ajax-loader, .wpcf7 .wpcf7-spinner { display: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; padding: 0px; margin: 5px 0px 0px; font-size: 16px; color: rgb(0, 0, 0); opacity: 0.4; font-family: ticons; font-weight: normal; font-style: normal; letter-spacing: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; animation: 2s linear 0s infinite normal none running ticon-spin; }
.wpcf7 .ajax-loader::before, .wpcf7 .wpcf7-spinner::before { content: ""; }
.wpcf7 .ajax-loader.is-active, .wpcf7 .wpcf7-spinner.is-active { display: inline-block; }
.wpcf7 .one-half input[type="text"], .wpcf7 .one-half input[type="email"], .wpcf7 .one-half input[type="tel"], .wpcf7 .one-half input[type="password"], .wpcf7 .one-half input[type="url"], .wpcf7 .one-half input[type="name"], .wpcf7 .col input[type="text"], .wpcf7 .col input[type="email"], .wpcf7 .col input[type="tel"], .wpcf7 .col input[type="password"], .wpcf7 .col input[type="url"], .wpcf7 .col input[type="name"] { width: 100%; }
.wpcf7 .one-half { padding-left: 20px; }
.wpcf7 .one-half.first { padding-left: 0px; }
.wpcf7 .full-width input { width: 100%; }
.full-width-input .wpcf7 .ajax-loader { clear: both; margin: 15px 0px 0px; }
.wpcf7-form.submitting .ajax-loader, .wpcf7-form.submitting .wpcf7-spinner { display: inline-block; }

/* ---- jquery.sliderPro.min.css (reglas usadas) ---- */
.slider-pro { position: relative; margin-left: auto; margin-right: auto; box-sizing: content-box; }
.sp-slides-container { position: relative; }
.sp-mask { position: relative; overflow: hidden; }
.sp-slides { position: relative; backface-visibility: hidden; perspective: 1000px; }
.sp-slide { position: absolute; }
.sp-thumbnails-container { position: relative; overflow: hidden; }
.sp-bottom-thumbnails, .sp-top-thumbnails { left: 0px; margin: 0px auto; }
.sp-bottom-thumbnails { margin-top: 4px; }
.sp-thumbnails { position: relative; }
.sp-thumbnail { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; }
.sp-thumbnail-container { position: relative; display: block; overflow: hidden; float: left; box-sizing: border-box; }
.sp-bottom-thumbnails .sp-thumbnail-container, .sp-top-thumbnails .sp-thumbnail-container { margin-left: 2px; margin-right: 2px; }
.sp-bottom-thumbnails .sp-thumbnail-container:first-child, .sp-top-thumbnails .sp-thumbnail-container:first-child { margin-left: 0px; }
.sp-bottom-thumbnails .sp-thumbnail-container:last-child, .sp-top-thumbnails .sp-thumbnail-container:last-child { margin-right: 0px; }
.sp-grab { cursor: url("openhand.cur"), move; }
.sp-arrows { position: absolute; }
.sp-horizontal .sp-arrows { width: 100%; left: 0px; top: 50%; margin-top: -15px; }
.sp-arrow { position: absolute; display: block; width: 20px; height: 30px; cursor: pointer; }
.sp-horizontal .sp-previous-arrow { left: 20px; }
.sp-horizontal .sp-next-arrow { right: 20px; }
.sp-next-arrow::after, .sp-next-arrow::before, .sp-previous-arrow::after, .sp-previous-arrow::before { content: ""; position: absolute; width: 50%; height: 50%; background-color: rgb(255, 255, 255); }
.sp-previous-arrow::before { left: 30%; top: 0px; transform: skew(145deg, 0deg); }
.sp-previous-arrow::after { left: 30%; top: 50%; transform: skew(-145deg, 0deg); }
.sp-next-arrow::before { right: 30%; top: 0px; transform: skew(35deg, 0deg); }
.sp-next-arrow::after { right: 30%; top: 50%; transform: skew(-35deg, 0deg); }
.slider-pro img.sp-image, .slider-pro img.sp-thumbnail { transition: none; max-width: none !important; max-height: none !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; border-radius: 0px !important; padding: 0px !important; box-shadow: none !important; }
.slider-pro a { position: static; transition: none !important; }

/* ---- jquery.fancybox.min.css (reglas usadas) ---- */
@keyframes a { 
  100% { transform: rotate(1turn); }
}

/* ---- Iconos "ticon" de Total, pintados con Font Awesome 4.7 (SIL OFL) ---- */
@font-face{font-family:"FontAwesome";src:url("../fonts/fontawesome-webfont.woff2") format("woff2");font-weight:normal;font-style:normal;font-display:block;}
/* Algunas reglas de Total piden la familia "ticons" directamente: mismos codigos que FA 4. */
@font-face{font-family:"ticons";src:url("../fonts/fontawesome-webfont.woff2") format("woff2");font-weight:normal;font-style:normal;font-display:block;}
.ticon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.ticon-angle-down:before{content:"\f107"}
.ticon-clock-o:before{content:"\f017"}
.ticon-twitter:before{content:"\f099"}
.ticon-linkedin:before{content:"\f0e1"}
.ticon-facebook:before{content:"\f09a"}
.ticon-envelope:before{content:"\f0e0"}
.ticon-angle-double-right:before{content:"\f101"}
.ticon-angle-double-left:before{content:"\f100"}
.ticon-search:before{content:"\f002"}
.ticon-folder-o:before{content:"\f114"}
.ticon-user-o:before{content:"\f2c0"}
.ticon-angle-right:before{content:"\f105"}
.ticon-angle-left:before{content:"\f104"}





/* ---- Total: ajustes del visor Fancybox (el visor solo existe al abrirse, por eso van aparte) ---- */
.wpex-card-modal.fancybox-content { min-width: 300px; max-width: 900px; padding: 0px; }
body .fancybox-is-open .fancybox-bg { opacity: 0.95; }
body .fancybox-caption__body { margin: 0px auto; max-width: 800px; }
.fancybox-caption__title { display: block; font-family: inherit; font-weight: 600; line-height: 1.2; font-size: 16px; }
.fancybox-caption__title-margin { margin-bottom: 12px; }
button.fancybox-close-small:hover { background: transparent; }
.fancybox-button, .fancybox-button:hover { background-color: rgba(30, 30, 30, 0.6); }
body .fancybox-thumbs { background: rgba(0, 0, 0, 0.3); }
body .fancybox-thumbs__list a::before { border: 0px; }
.fancybox-caption__title { overflow: hidden; }
body.woocommerce .fancybox-button[disabled], body.woocommerce .fancybox-button[disabled]:hover { color: rgb(136, 136, 136) !important; cursor: default !important; outline: none !important; background-color: rgba(30, 30, 30, 0.6) !important; }
