/*
Theme Name:   Houzez Child
Theme URI:    https://on3.solbyte.dev
Description:  Tema hijo de Houzez para ON3. Todas las personalizaciones (CSS, plantillas y funciones) van aquí para que no se pierdan al actualizar el tema padre.
Author:       Solbyte
Author URI:   https://www.solbyte.com
Template:     houzez
Version:      1.0.0
Text Domain:  houzez-child
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ==========================================================================
   Personalizaciones ON3
   Estos estilos se cargan después de los del tema padre y de los estilos
   inline que genera el panel de opciones de Houzez.
   ========================================================================== */


/* ══════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════ */
#site-header{
   background-color: transparent;
   box-shadow: none;
   transition: padding 300ms, box-shadow 300ms, background-color 400ms;
}

#site-header.is-scrolled{
   background: rgba(255, 255, 255, 0.96);
   backdrop-filter: blur(14px);
   box-shadow: 0 1px 0 rgba(0, 30, 68, 0.08);
   padding-top: 10px !important;
   padding-bottom: 10px !important;
}

/* ---------- Logo ---------- */
#site-header:not(.is-scrolled) .hdr-logo-base{
   filter: brightness(0) invert(1);
}
#site-header img{
   height: 100%;
   width: auto !important;
   transition: opacity 320ms cubic-bezier(0.22, 1, 0.36, 1);
   top: 0 !important;
}
.hdr-logo-base,
.hdr-logo-base .elementor-widget-container,
.favethemes-site-logo,
.logo-desktop{
   display: inline-flex;
   align-items: center;
}
.logo-desktop a{
   position: relative;
   height: 60px;
   transition: height 300ms;
   display: inline-flex;
   align-items: center;
}
.hdr-logo-alt,
.hdr-logo-alt a{
   height: 100%;
}
#site-header.is-scrolled .hdr-logo-alt{
   display: none;
}
#site-header.is-scrolled .logo-desktop a{
   height: 48px;
}
#site-header:not(.is-scrolled) .logo-desktop a{
   filter: brightness(0) invert(1);
}

/* ---------- Menú ---------- */
#site-header .elementor-nav-menu a{
   transition: color .3s ease;
}
#site-header.is-scrolled .elementor-nav-menu a{
   color: #232833 !important;
}
#site-header.is-scrolled .elementor-nav-menu a:hover,
#site-header.is-scrolled .elementor-nav-menu a:focus,
#site-header.is-scrolled .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active{
   color: var( --e-global-color-secondary ) !important;
}
#site-header.is-scrolled .elementor-nav-menu a:hover::before,
#site-header.is-scrolled .elementor-nav-menu a:focus::before,
#site-header.is-scrolled .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active::before{
   background-color: rgba(255, 88, 35, 0.12) !important;
}
#site-header.is-scrolled div.elementor-menu-toggle {
   color: #232833 !important;
}

/* ---------- Botón del menú ---------- */
body #site-header .elementor-nav-menu .button a,
body #site-header .elementor-nav-menu .button a:hover,
body #site-header .elementor-nav-menu .button a:focus,
body #site-header.is-scrolled .elementor-nav-menu .button a,
body #site-header.is-scrolled .elementor-nav-menu .button a:hover,
body #site-header.is-scrolled .elementor-nav-menu .button a:focus{
   color: #ffffff !important;
   font-weight: 700 !important;
}
body #site-header .elementor-nav-menu .button a::before{
   background-color: var( --e-global-color-secondary ) !important;
   transform: scale(1) !important;
   opacity: 1 !important;
}
body #site-header .elementor-nav-menu .button a:hover::before,
body #site-header .elementor-nav-menu .button a:focus::before,
body #site-header.is-scrolled .elementor-nav-menu .button a:hover::before,
body #site-header.is-scrolled .elementor-nav-menu .button a:focus::before{
   background-color: var( --e-global-color-primary ) !important;
}
body #site-header .elementor-nav-menu--dropdown .button a {
   background-color: var( --e-global-color-secondary ) !important;
}
body #site-header .elementor-nav-menu--dropdown .button a:hover {
   background-color: var( --e-global-color-primary ) !important;
}

/* ---------- Header sólo con logo durante la apertura ---------- */
#site-header .hdr-nav,
#site-header .elementor-nav-menu--main,
#site-header .elementor-menu-toggle{
   transition: opacity 600ms, visibility 600ms;
}
#site-header.hdr--solo-logo .hdr-nav,
#site-header.hdr--solo-logo .elementor-nav-menu--main,
#site-header.hdr--solo-logo .elementor-menu-toggle{
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
}
#site-header.hdr--solo-logo{
   background: transparent !important;
   backdrop-filter: none !important;
   box-shadow: none !important;
}

/* ---------- Barra de administración ---------- */
body.admin-bar #site-header{ top: 32px !important; }
@media screen and (max-width:782px){
   body.admin-bar #site-header{ top: 46px !important; }
}
@media screen and (max-width:600px){
   body.admin-bar #site-header{ top: 0 !important; }
}


/* ══════════════════════════════════════════
   HOME
   ══════════════════════════════════════════ */

/* Sin esto el sticky no agarra */
html, body,
#wrapper,
.main-wrap,
.houzez-main-wrap,
.elementor,
[data-elementor-type="wp-page"]{
   overflow-x: clip;
}

.hero-scrolly{
   position: relative;
   height: 300vh;
}

.home .hero-stage{
   position: sticky;
   top: 0;
   height: 100vh;
   overflow: hidden;
   padding-top: 100px;
   padding-bottom: 0;
}

/* ---------- Imagen de fondo con parallax de ratón ---------- */
.hero-stage::before{
   content: '';
   position: absolute;
   top: -40px;
   bottom: -40px;
   left: calc(-1 * var(--padding-left, 0px) - 40px);
   right: calc(-1 * var(--padding-right, 0px) - 40px);
   z-index: 0;
   background-image: url("/wp-content/uploads/2026/09/hero-fondo.jpg");
   background-size: cover;
   background-position: center;
   transform: translate3d(var(--mx, 0px), var(--my, 0px), 0);
   filter: brightness(calc(1 - 0.25 * var(--rev, 0)));
   pointer-events: none;
   width: calc(100% + 82px);
   height: calc(100% + 80px);
}

/* ---------- Claim de apertura ---------- */
.home .hero-stage .hero-claim{
   position: absolute;
   inset: 0;
   z-index: 2;
   pointer-events: none;
   opacity: var(--claim, 1);
   --justify-content: center;
}

.hero-stage .hero-claim::before{
   content: '';
   position: absolute;
   inset: 0;
   background:
      linear-gradient(180deg,
         rgba(0, 30, 68, 0.72) 0%,
         rgba(0, 30, 68, 0.46) 45%,
         rgba(0, 30, 68, 0.66) 100%),
      linear-gradient(90deg,
         rgba(0, 30, 68, 0.42) 0%,
         rgba(0, 30, 68, 0.18) 55%,
         rgba(0, 30, 68, 0.38) 100%);
}

.hero-stage .hero-claim > *{ position: relative; z-index: 1; }

/* ---------- Rejilla del hero ---------- */
.hero-stage .hero-grid{
   position: relative;
   z-index: 2;
   flex: 1;
   min-height: 0;
   opacity: var(--rev, 0);
   pointer-events: none;
   --justify-content: flex-end;
   --flex-grow: 1;
   flex-grow: 1 !important;
}
.hero-scrolly.is-revealed .hero-grid{ pointer-events: auto; }

.hero-grid .hero-lead,
.hero-grid .hero-stats{ min-width: 0; }

/* ---------- Pista de scroll ---------- */
.hero-stage .scrolly-cue{
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 3;
   opacity: calc(1 - var(--rev, 0));
   pointer-events: none;
}

.hero-stage .hero-scroll{
   position: absolute;
   left: clamp(24px, 5vw, 80px);
   bottom: 0;
   z-index: 3;
   opacity: var(--rev, 0);
}

/* ---------- Estado final: la sección encoge ---------- */
.hero-scrolly.is-static{ height: 100vh; }
.hero-scrolly.is-static .hero-stage{
   position: relative;
   top: 0;
   height: 100vh; 
   box-sizing: border-box;
   overflow: hidden;
}
.hero-scrolly.is-static .hero-grid,
.hero-scrolly.is-static .hero-scroll{ opacity: 1; }
.hero-scrolly.is-static .scrolly-cue{ display: none; }

/* ---------- Barra de administración ---------- */
body.admin-bar .hero-scrolly:not(.is-static) .hero-stage{
   top: 32px;
   height: calc(100vh - 32px);
}
@media screen and (max-width:782px){
   body.admin-bar .hero-scrolly:not(.is-static) .hero-stage{
      top: 46px;
      height: calc(100vh - 46px);
   }
}
@media screen and (max-width:600px){
   body.admin-bar .hero-scrolly:not(.is-static) .hero-stage{
      top: 0;
      height: 100vh;
   }
}

/* ---------- Editor de Elementor ---------- */
body.elementor-editor-active .hero-scrolly{ height: auto; }
body.elementor-editor-active .hero-stage{
   position: relative;
   top: 0;
   height: auto;
   overflow: visible;
}
body.elementor-editor-active .hero-stage .hero-claim{
   position: relative;
   inset: auto;
   pointer-events: auto;
   opacity: 1 !important;
}
body.elementor-editor-active .hero-stage .hero-claim::before{ display: none; }
body.elementor-editor-active .hero-stage .scrolly-cue,
body.elementor-editor-active .hero-stage .hero-scroll{
   position: relative;
   left: auto;
   right: auto;
   bottom: auto;
}
body.elementor-editor-active .hero-stage .hero-grid,
body.elementor-editor-active .hero-stage .hero-scroll,
body.elementor-editor-active .hero-stage .scrolly-cue{ opacity: 1 !important; }


/* GENERAL */

html{ font-size: 18.5px; }

.title i {
   color: var( --e-global-color-secondary );
}

.text-arrow {
   animation: cueLatido 2600ms ease-in-out infinite;
}
.floating-arrow {
   animation: cueBaja 1600ms cubic-bezier(.45, 0, .55, 1) infinite;
}
@keyframes cueBaja {
   0%, 100% { transform: translateY(0); }
   50%      { transform: translateY(9px); }
}
@keyframes cueLatido {
   0%, 100% { opacity: 0.7; }
   50%      { opacity: 1; }
}

/* ---------- Palabra rotativa del titular ---------- */
.hero-swap{
   display: inline-block;
   overflow: clip;
   vertical-align: top;
   height: var(--wh, 1.1em);
   transition: width 900ms cubic-bezier(.76, 0, .24, 1);
}

.hero-swap-track{
   display: block;
   transform: translateY(calc(-1 * var(--n, 0) * var(--wh, 0px)));
   transition: transform 900ms cubic-bezier(.76, 0, .24, 1);
}

/* Salto invisible al volver a la primera palabra */
.hero-swap-track.is-instant{ transition: none; }

.hero-swap-word{
   display: block;
   width: max-content;
   white-space: nowrap;
   padding-right: 0.08em;
   padding-bottom: 0.14em;
}

/* La línea que contiene el rodillo no debe envolver nunca */
.hero-lead h1{ white-space: nowrap; }

@media (min-width: 1000px){
   .hero-lead h1{ white-space: nowrap; }
}

.border-button-white a:hover {
   border-color: #ffffff !important;
}
.border-button-orange a:hover {
   border-color: var( --e-global-color-secondary ) !important;
}
.icon-social a:hover {
   border-color: var( --e-global-color-secondary ) !important;
}
.icon-social a .elementor-button-icon {
   font-size: 21px;
   transition: all .3s;
   color: var( --e-global-color-secondary ) !important;
}
.icon-social a:hover .elementor-button-icon {
   color: #ffffff !important;
}

.hero-degradado{
   position: absolute;
   inset: 0;
   z-index: 1;
   pointer-events: none !important;
   opacity: 0;
   transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
body:not(.home) .hero-degradado{
	opacity: 1;
}
.hero-stage .hero-degradado.is-on{ opacity: var(--rev, 0); }
.hero-scrolly.is-static .hero-degradado.is-on{ opacity: 1; }

.hero-stage .hero-degradado .elementor-widget-container,
.hero-stage .hero-degradado .e-hosted-video{
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
}
.hero-stage .hero-degradado video{
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.counter {
   position: relative;
}
.counter .elementor-counter-number-wrapper {
   align-items: baseline;
   transition: padding-left 500ms cubic-bezier(0.22, 1, 0.36, 1);
}
.counter .elementor-counter .elementor-counter-number,
.counter .elementor-counter .elementor-counter-title {
   transition: color 380ms cubic-bezier(0.22, 1, 0.36, 1);
}
.counter .elementor-counter .elementor-counter-number-suffix {
   color: var( --e-global-color-secondary );
   font-size: 0.55em;
}
.counter::after {
   content: '';
   position: absolute;
   left: 0;
   bottom: -1px;
   width: 0;
   height: 1px;
   background: var( --e-global-color-secondary );
   transition: width 620ms cubic-bezier(.76, 0, .24, 1);
}

.counter:hover .elementor-counter-number-wrapper {
   padding-left: 14px;
}
.counter:hover .elementor-counter .elementor-counter-number {
   color: var( --e-global-color-secondary );
}
.counter:hover .elementor-counter .elementor-counter-title {
   color: #ffffff !important;
}
.counter.text:hover .elementor-counter .elementor-counter-title {
	color: var( --e-global-color-text ) !important;
}
.counter:hover::after {
   width: 100%;
}

.post-paper {
   font-weight: 600;
   font-family: "Satoshi", Sans-serif;
   font-size: 13px;
   text-transform: uppercase;
   line-height: 1.65;
   letter-spacing: 0.08em;
   color: var( --e-global-color-secondary );
}
.feedzy-rss-link-icon {
   font-weight: 500 !important;
   letter-spacing: 0.04em;
   font-size: 15px;
   font-family: "Satoshi", Sans-serif;
}

.area-card::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 3px;
   background: linear-gradient(90deg, #ff8b32, #ff4c2b);
   transform: scaleX(0);
   transform-origin: left;
   transition: transform 520ms cubic-bezier(.76, 0, .24, 1);
}
.area-card:hover::before {
   transform: scaleX(1);
}
.area-card::after {
   content: '';
   position: absolute;
   right: -18px;
   bottom: -22px;
   z-index: 0;
   width: 128px;
   aspect-ratio: 308 / 434;
   background: url('/wp-content/uploads/2026/09/isologo-naranja.svg') center/contain no-repeat;
   opacity: 0.05;
   transition: opacity 420ms cubic-bezier(0.22, 1, 0.36, 1), transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
}
.area-card:hover::after {
   opacity: 0.11;
   transform: translateY(-6px);
}
.area-card {
   box-shadow: 0 1px 2px rgba(0, 30, 68, 0.04), 0 12px 30px rgba(0, 30, 68, 0.07) !important;
   transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 380ms cubic-bezier(0.22, 1, 0.36, 1);
}
.area-card:hover {
   transform: translateY(-7px);
   box-shadow: 0 4px 10px rgba(0, 30, 68, 0.05), 0 30px 60px rgba(0, 30, 68, 0.13) !important;
}

.area-card .link-card .elementor-icon-box-title {
   transition: color 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.area-card:hover .link-card .elementor-icon-box-title {
   color: var( --e-global-color-secondary ) !important;
}
.area-card:hover .link-card .elementor-icon {   
   transition: all 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.area-card:hover .link-card .elementor-icon {
   fill: var( --e-global-color-secondary ) !important;
   color: var( --e-global-color-secondary ) !important;
   border-color: var( --e-global-color-secondary ) !important;
}
.area-card .link-card .elementor-icon-box-icon {
   transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}
.area-card:hover .link-card .elementor-icon-box-icon {
   transform: translateX(5px);
}


.redes::before {
   content: '';
   position: absolute;
   z-index: 0;
   top: -8%;
   left: -4%;
   width: clamp(240px, 26vw, 420px);
   aspect-ratio: 308 / 434;
   background: url('/wp-content/uploads/2026/09/isologo-linea-blanca.svg') center / contain no-repeat;
   opacity: 0.28;
   pointer-events: none;
}

.elementor-animation-grow-rotate:hover {
   transform: rotate(180deg) scale(1.05);
}

.bg-contact {
   background: radial-gradient(120% 90% at 12% 8%, rgba(0, 87, 168, 0.55) 0%, rgba(0, 87, 168, 0) 60%), linear-gradient(142deg, #003975 0%, #002a58 48%, #001E44 100%) !important;
}

.wrapper-float {;
   overflow: visible !important;
}
.call-float {
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    overflow: hidden;
    transition: background .2s, transform .2s;
   overflow: visible !important;
}
.call-float a {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.on3-news-grid {
	transition: opacity 250ms ease;
}
.on3-news-filter {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 48px;
    flex-wrap: wrap;
}
.on3-news-filter label {
    display: block;
    margin-bottom: 8px;
	color: var( --e-global-color-text );
}
.on3-filter-search {
    flex: 1;
    min-width: 260px;
}
.on3-filter-date {
    width: 180px;
}
.on3-input-wrap {
    position: relative;
}
.on3-news-filter input {
    width: 100%;
    height: 50px;
	color: var( --e-global-color-text ) !important;
	border-color: var( --e-global-color-text ) !important;
}
.on3-news-filter input:focus {
	border-color: var( --e-global-color-secondary ) !important;
}
.on3-filter-search input {
    padding-right: 48px;
}

.on3-search-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    pointer-events: none;
	color: var( --e-global-color-text );
}
.on3-filter-submit {
	background-color: var( --e-global-color-secondary );
	font-family: "Satoshi", Sans-serif;
	font-size: 14.76px;
	font-weight: 700;
	line-height: 1.65;
	color: #FFFFFF;
	border-radius: 8px 8px 8px 8px;
	padding: 12px 22px 12px 22px;
    cursor: pointer;
    transition: .2s ease;
	border: 0;
}
.on3-filter-submit:hover {
    background: var( --e-global-color-accent );
}

.on3-filter-reset {
    height: 50px;
    display: flex;
    align-items: center;
    padding: 0 4px;
    font-size: 13px;
    text-decoration: underline;
    text-underline-offset: 4px;
	color: var( --e-global-color-text );
}

@media (max-width: 767px) {
    .on3-news-filter {
        align-items: stretch;
    }
    .on3-filter-search,
    .on3-filter-date {
        width: 100%;
        min-width: 100%;
    }
    .on3-filter-submit {
        flex: 1;
    }
}

.team {
	min-width: 217px !important;
}
.team .team-hover {
	opacity: 0;
	transition: .3s;
}
.team:hover .team-hover {
	opacity: 1;
}
.team .elementor-heading-title {
	display: block;
}
.elementor-slideshow__title {
	display: none !important;
}
.gallery-item img {
	aspect-ratio: 1;
	object-fit: cover;
}

/* ===== CURSOR PERSONALIZADO (solo escritorio) ===== */
@media (hover: hover) and (pointer: fine){
   html, a, button, input, textarea, select{ cursor: none; }

   .cursor{
      position: fixed;
      top: 0;
      left: 0;
      pointer-events: none;
      z-index: 10000;
   }

   /* El isotipo ON3: navy sobre fondo claro, naranja sobre azul */
   .cursor-iso{
      position: absolute;
      top: 0;
      left: 0;
      width: 24px;
      height: 24px;
      transform: translate(-50%, -50%);
      background-color: #003975;
      -webkit-mask-image: url('/wp-content/uploads/2026/09/isologo-naranja.svg');
      mask-image: url('/wp-content/uploads/2026/09/isologo-naranja.svg');
      -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
      -webkit-mask-position: center; mask-position: center;
      -webkit-mask-size: contain; mask-size: contain;
      transition: background-color 250ms ease,
                  width 250ms cubic-bezier(0.22, 1, 0.36, 1),
                  height 250ms cubic-bezier(0.22, 1, 0.36, 1);
   }

   .cursor-ring{
      position: absolute;
      top: 0;
      left: 0;
      width: 34px;
      height: 34px;
      border: 1px solid rgba(0, 57, 117, 0.3);
      border-radius: 50%;
      transform: translate(-50%, -50%);
      transition: width 300ms cubic-bezier(0.22, 1, 0.36, 1),
                  height 300ms cubic-bezier(0.22, 1, 0.36, 1),
                  background 250ms, border-color 250ms;
   }

   .cursor-label{
      position: absolute;
      top: 0;
      left: 0;
      transform: translate(-50%, calc(-50% + 44px));
      font-size: 0.66rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #003975;
      opacity: 0;
      white-space: nowrap;
      transition: opacity 200ms, color 250ms;
   }

   /* Sobre fondos oscuros */
   .cursor.on-dark .cursor-iso{ background-color: #ff5823; }
   .cursor.on-dark .cursor-ring{ border-color: rgba(255, 255, 255, 0.4); }
   .cursor.on-dark .cursor-label{ color: #fff; }

   /* Zonas marcadas: fondo claro pero cursor naranja */
   .cursor.on-naranja .cursor-iso{ background-color: #ff5823; }
   .cursor.on-naranja .cursor-ring{ border-color: rgba(255, 88, 35, 0.45); }

   /* Sobre elementos interactivos */
   .cursor.is-hover .cursor-iso{ width: 30px; height: 30px; }
   .cursor.is-hover .cursor-ring{
      width: 58px;
      height: 58px;
      background: rgba(255, 88, 35, 0.12);
      border-color: #ff5823;
   }

   /* Sobre tarjetas: anillo grande y etiqueta visible */
   .cursor.is-view .cursor-ring{
      width: 84px;
      height: 84px;
      background: rgba(255, 88, 35, 0.18);
      border-color: #ff5823;
   }
   .cursor.is-view .cursor-label{ opacity: 1; }
}

@media (hover: none), (pointer: coarse){
   .cursor{ display: none; }
}

body.elementor-editor-active .cursor{ display: none; }
body.elementor-editor-active html,
body.elementor-editor-active a,
body.elementor-editor-active button{ cursor: auto; }

/* ===== MARQUESINA DE LOGOS ===== */
.on3-mq{
   overflow: hidden;
}

.on3-mq__track{
   display: flex;
   align-items: center;
   gap: 0;
   width: max-content;
   white-space: nowrap;
   animation: on3-mq-scroll 18s linear infinite;
}

.on3-mq:hover .on3-mq__track{ animation-play-state: paused; }

@keyframes on3-mq-scroll{
   to{ transform: translateX(-50%); }
}

.on3-mq__logo{
   flex-shrink: 0;
   height: clamp(38px, 4.6vw, 64px) !important;
   width: auto;
   max-width: clamp(190px, 21vw, 300px) !important;
   object-fit: contain;
   object-position: center;
   margin-right: clamp(38px, 4.6vw, 76px);
   filter: grayscale(1);
   opacity: 0.55;
   transition: filter 400ms cubic-bezier(0.22, 1, 0.36, 1),
               opacity 400ms cubic-bezier(0.22, 1, 0.36, 1);
}

.on3-mq__logo:hover{ filter: grayscale(0); opacity: 1; }

.on3-mq__enlace{ flex-shrink: 0; display: block; }

/* Editor de Elementor y movimiento reducido */
.on3-mq--editor .on3-mq__track{ animation: none; flex-wrap: wrap; }

/* @media (prefers-reduced-motion: reduce){
   .on3-mq__track{ animation: none; }
   .on3-mq{ overflow-x: auto; }
   .cursor { display: none; }
   html { cursor: auto; }
   a, button, select { cursor: pointer; }
   input, textarea { cursor: text; }
} */

/* FORMS */

span.label {
   display: none !important;
}

form div.row {
   margin: 0 -10px;
   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 10px;
}
.col-xs-4 {
   width: 33.33%;
   float: left;
   padding: 0 10px;
}
.col-xs-5 {
   width: 40%;
   float: left;
   padding: 0 10px;
}
.col-xs-6 {
   width: 50%;
   float: left;
   padding: 0 10px;
}
.col-xs-7 {
   width: 60%;
   float: left;
   padding: 0 10px;
}
.col-xs-12 {
   width: 100%;
   float: left;
   padding: 0 10px;
}
form div.form-group {
   display: inline-block;
   width: 100%;
   margin-bottom: 20px;
}
form div.form-group p {
   margin-bottom: 0;
}
form div.block-submit {
   display: inline-block;
   width: 100%;
   text-align: center;
}
form div.block-submit input[type="submit"] {
   width: 100%;
   background-color: var( --e-global-color-secondary );
   font-size: 16px;
   font-weight: 600;
   text-transform: none;
   line-height: 1;
   letter-spacing: 0.01em;
   color: rgb(255, 255, 255);
   border-radius: 8px;
   padding: 14px 26px;
   border: 0px;
}

label {
   display: block;
   font-weight: 600;
   margin-bottom: 8px;
   font-size: 13px;
   letter-spacing: 0.12em;
   color: var(--e-global-color-primary);
}

input[type="checkbox"],
input[type="radio"] {
    margin: 0 6px 0 0 !important;
}
select {
   cursor: pointer;
}
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: 0px;
   box-shadow: none;
   padding: 0.55rem 1rem;
   outline: none !important;
   max-width: 100%;
   width: 100%
}
.wpcf7-form select {
   font-family: "Satoshi", Sans-serif;
   font-size: 17px;
   font-weight: 400;
   color: #ffffff;
   background-color: #00000000;
   border-style: solid;
   border-width: 0px 0px 1px 0px;
   border-color: #FFFFFF40;
   border-radius: 0px 0px 0px 0px;
   padding: 10px 0px 10px 0px;
}
.wpcf7-form select option {
   color: var(--e-global-color-text);
}
.wpcf7-form textarea {
   height: 90px;
   padding-left: 0;
   padding-right: 0;
}
.wpcf7-form input[type="text"]:focus, .wpcf7-form input[type="email"]:focus, .wpcf7-form input[type="tel"]:focus, .wpcf7-form textarea:focus, .wpcf7-form select:focus {
   border-color: var( --e-global-color-secondary );
}
input[type="checkbox"], input[type="radio"] {
   border-width: 1px;
}

span[data-name="legal"], .wpcf7-form-control-wrap {
   display: inline-block;
   width: 100%;
   margin: 0;
   line-height: 1.2;
}
span[data-name="legal"] label {
   font-size: 13px;
   text-transform: none;
   letter-spacing: 0px;
   font-weight: 400;
   color: rgba(255,255,255,0.5);
}
span[data-name="legal"] a {
   text-decoration: underline;
   color: var( --e-global-color-secondary );
   transition: .3s color;
}
.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: 16px;
   line-height: 1.2;
	color: #fff;
}
.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: 13px;
   text-transform: none;
   line-height: 1.2;
}
.wpcf7-spinner {
   margin: 0 auto;
   display: block;
}

input.e-search-input:focus:not([type="button"]):not([type="submit"]) {
	border-width: 1px 0px 1px 1px;
	border-color: #001E4426;
	border-radius: 999px 0px 0px 999px;
}

/************************************************************************************
smaller than 991px
*************************************************************************************/
@media only screen and (max-width: 991px) {
   
   .col-xs-3,
   .col-xs-4,
   .col-xs-5,
   .col-xs-6,
   .col-xs-7 {
      width: 100%;
   }
   
}