.elementor-12 .elementor-element.elementor-element-16bf027{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--overlay-opacity:0.42;}.elementor-12 .elementor-element.elementor-element-16bf027:not(.elementor-motion-effects-element-type-background), .elementor-12 .elementor-element.elementor-element-16bf027 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://vivalafotografia.com/wp-content/uploads/2026/02/retrato-jeosm-trueno.jpg");background-size:cover;}.elementor-12 .elementor-element.elementor-element-16bf027::before, .elementor-12 .elementor-element.elementor-element-16bf027 > .elementor-background-video-container::before, .elementor-12 .elementor-element.elementor-element-16bf027 > .e-con-inner > .elementor-background-video-container::before, .elementor-12 .elementor-element.elementor-element-16bf027 > .elementor-background-slideshow::before, .elementor-12 .elementor-element.elementor-element-16bf027 > .e-con-inner > .elementor-background-slideshow::before, .elementor-12 .elementor-element.elementor-element-16bf027 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#3B3B3B;--background-overlay:'';}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-12 .elementor-element.elementor-element-c59df2e{font-family:"Montserrat", Sans-serif;font-size:46px;font-weight:600;text-shadow:0px 0px 10px rgba(0, 0, 0, 0.73);color:#FFFFFF;}.elementor-12 .elementor-element.elementor-element-0a35364{font-family:"Inter", Sans-serif;font-size:24px;font-weight:400;text-shadow:0px 0px 10px rgba(0, 0, 0, 0.93);color:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-12 .elementor-element.elementor-element-458b4f8 .elementor-button{background-color:#A2422B;font-family:"Montserrat", Sans-serif;font-size:23px;font-weight:500;border-radius:15px 15px 15px 15px;padding:15px 50px 15px 50px;}.elementor-12 .elementor-element.elementor-element-5d073b9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-12 .elementor-element.elementor-element-5d073b9:not(.elementor-motion-effects-element-type-background), .elementor-12 .elementor-element.elementor-element-5d073b9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFEB5F;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-12 .elementor-element.elementor-element-4191efa{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-12 .elementor-element.elementor-element-4191efa .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:25px;font-weight:500;}.elementor-12 .elementor-element.elementor-element-4819056{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-0a68c02{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-0a68c02:not(.elementor-motion-effects-element-type-background), .elementor-12 .elementor-element.elementor-element-0a68c02 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F1F1F1;}.elementor-12 .elementor-element.elementor-element-9e8f6a8{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:70px;--padding-left:30px;--padding-right:30px;}.elementor-12 .elementor-element.elementor-element-cad6eeb{text-align:center;}.elementor-12 .elementor-element.elementor-element-cad6eeb .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:600;line-height:38px;}.elementor-12 .elementor-element.elementor-element-66a5932{margin:18px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:22px;font-weight:400;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-12 .elementor-element.elementor-element-918f81d{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;--e-icon-list-icon-size:35px;--icon-vertical-offset:0px;}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(6px/2);}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(6px/2);}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(6px/2);}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-6px/2);}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-6px/2);}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-icon{padding-inline-end:5px;}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-item > .elementor-icon-list-text, .elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-item > a{font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:600;font-style:normal;}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-text{text-shadow:0px 0px 10px rgba(0, 0, 0, 0);transition:color 0.3s;}.elementor-12 .elementor-element.elementor-element-d8c0c99{margin:18px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:22px;font-weight:400;}.elementor-12 .elementor-element.elementor-element-de08ee3 .elementor-button{background-color:#A2422B;font-family:"Montserrat", Sans-serif;font-size:23px;font-weight:500;border-radius:15px 15px 15px 15px;padding:15px 50px 15px 50px;}.elementor-12 .elementor-element.elementor-element-de08ee3{margin:21px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-12 .elementor-element.elementor-element-f4547f6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-12 .elementor-element.elementor-element-05858c3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-12 .elementor-element.elementor-element-1132fc7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12 .elementor-element.elementor-element-1132fc7:not(.elementor-motion-effects-element-type-background), .elementor-12 .elementor-element.elementor-element-1132fc7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-12 .elementor-element.elementor-element-47ebd3c{padding:15px 15px 15px 15px;}.elementor-12 .elementor-element.elementor-element-47ebd3c .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-12 .elementor-element.elementor-element-1491750{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-12 .elementor-element.elementor-element-c937784{--grid-columns:2;--grid-row-gap:0px;--grid-column-gap:0px;}.elementor-12 .elementor-element.elementor-element-c937784 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-12 .elementor-element.elementor-element-c937784 .e-loop-item > .elementor-section, .elementor-12 .elementor-element.elementor-element-c937784 .e-loop-item > .elementor-section > .elementor-container, .elementor-12 .elementor-element.elementor-element-c937784 .e-loop-item > .e-con, .elementor-12 .elementor-element.elementor-element-c937784 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-12 .elementor-element.elementor-element-15c9835{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-12 .elementor-element.elementor-element-f3bb24b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12 .elementor-element.elementor-element-8a9cebb{margin:18px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:26px;font-weight:400;}.elementor-12 .elementor-element.elementor-element-dff98ce{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-12 .elementor-element.elementor-element-0a68c02{--width:50%;}.elementor-12 .elementor-element.elementor-element-f4547f6{--width:50%;}.elementor-12 .elementor-element.elementor-element-f3bb24b{--width:100%;}}@media(max-width:1024px){.elementor-12 .elementor-element.elementor-element-16bf027{--padding-top:45px;--padding-bottom:45px;--padding-left:45px;--padding-right:45px;}.elementor-12 .elementor-element.elementor-element-c937784{--grid-columns:2;}}@media(max-width:767px){.elementor-12 .elementor-element.elementor-element-16bf027:not(.elementor-motion-effects-element-type-background), .elementor-12 .elementor-element.elementor-element-16bf027 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-12 .elementor-element.elementor-element-16bf027{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:15px;}.elementor-12 .elementor-element.elementor-element-c59df2e{font-size:42px;}.elementor-12 .elementor-element.elementor-element-0a35364{font-size:23px;}.elementor-12 .elementor-element.elementor-element-4191efa .elementor-heading-title{font-size:20px;}.elementor-12 .elementor-element.elementor-element-9e8f6a8{--padding-top:30px;--padding-bottom:45px;--padding-left:20px;--padding-right:20px;}.elementor-12 .elementor-element.elementor-element-cad6eeb .elementor-heading-title{font-size:27px;}.elementor-12 .elementor-element.elementor-element-66a5932{font-size:20px;}.elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-item > .elementor-icon-list-text, .elementor-12 .elementor-element.elementor-element-918f81d .elementor-icon-list-item > a{font-size:21px;}.elementor-12 .elementor-element.elementor-element-d8c0c99{font-size:20px;}.elementor-12 .elementor-element.elementor-element-de08ee3 .elementor-button{font-size:19px;padding:13px 13px 13px 13px;}.elementor-12 .elementor-element.elementor-element-c937784{--grid-columns:1;}.elementor-12 .elementor-element.elementor-element-8a9cebb{font-size:20px;}}/* Start custom CSS for heading, class: .elementor-element-4191efa */.marquee {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.marquee .elementor-heading-title {
  display: inline-flex;
  white-space: nowrap;
  animation: scroll-left 30s linear infinite;
}

.marquee .elementor-heading-title::after {
  content: "     |   CLASES ONLINE Y EN DIRECTO   |   CLASES GRABADAS POR SI NO PUEDES ASISTIR   |   CONTACTO DIRECTO CON EL PROFESOR    |   CLASES ONLINE Y EN DIRECTO   |   CLASES GRABADAS POR SI NO PUEDES ASISTIR   |   CONTACTO DIRECTO CON EL PROFESOR   ";
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4819056 *//* 1) Que las 3 columnas tengan SIEMPRE la misma altura */
.elementor-12 .elementor-element.elementor-element-4819056{
  align-items: stretch; /* importante en contenedores flex */
}

/* 2) La columna de la imagen ocupa toda la altura del contenedor */
.elementor-12 .elementor-element.elementor-element-4819056 .elementor-widget-image,
.elementor-12 .elementor-element.elementor-element-4819056 .elementor-widget-image .elementor-widget-container{
  height: 100%;
}

/* 3) La imagen rellena el alto (sin hueco blanco) */
.elementor-12 .elementor-element.elementor-element-4819056 .elementor-widget-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;      /* rellena recortando si hace falta */
  display: block;         /* evita huecos por inline */
}

/* 4) Por si hay “espacio fantasma” típico de line-height */
.elementor-12 .elementor-element.elementor-element-4819056 .elementor-widget-image{
  li/* End custom CSS */