.elementor-kit-7{--e-global-color-primary:#000000;--e-global-color-secondary:#000000;--e-global-color-text:#4F4F4F;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */body.pw-protected-page {
    background:#000;
}

/* Inner pages: black header background */
.qodef-header--standard #qodef-page-header {
    background-color: #000;
}

/* Homepage: transparent header (overrides above) */
.home .qodef-header--standard #qodef-page-header {
    background-color: transparent;
}


.qodef-icon-with-text.qodef--custom-icon .qodef-m-icon-wrapper{
display: none!important;    
}


.qodef-header-navigation>ul>li>a .qodef-menu-item-text .qodef-svg--menu-item, .qodef-svg--title-decoration-3{
    display: none!important;
}

footer .qodef-widget-title{
    font-family: 'Unbounded', sans-serif;
    font-size: 1.2rem;    
    font-weight: bold;
}

body.pw-protected-page  #qodef-page-outer {
    margin-top: 160px;
}

.post-password-form{
color: #fff !important;
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 100px;
}

    .post-password-form input[type=password] {
            max-width: 100%;
        border: 1px solid #fff;
        height: 60px;
        padding: 10px 20px;
        color:#fff!important;
    }
    
     .post-password-form input[type=password]:placeholder{
            color:#fff!important;
     }



.post-template #qodef-page-outer {
    margin-top: -250px!important;
}

.qodef-e-top-holder{
    display: none!important;
}

.post-template h1{
    font-size: 30px;
}


.start-project{
    font-weight: 700!important;
    text-transform: uppercase!important;
    color: #fff!important;
    background: none!important;
    border: 1px solid!important;
}


.footer-image img {
  filter: brightness(0) invert(1);
}


#qodef-page-comments{
    display: none!important;
}


/* SCOPED: Only homepage gets full height header */
.home #qodef-page-header {
    height: 100%;
}


/* SCOPED: Only homepage gets white logo */
.home #qodef-page-header-inner .qodef-header-logo-image {
  filter: brightness(0) invert(1);
}


/* STICKY HEADER: force the logo to white */
.qodef-header-sticky .qodef-header-sticky-inner
  .qodef-header-logo-link.qodef-source--image
  .qodef-header-logo-image {
  filter: brightness(0) invert(1) !important;
  -webkit-filter: brightness(0) invert(1) !important;
  width: 300px !important;
}

/* Safety: make sure no parent adds a counter-filter */
.qodef-header-sticky .qodef-header-logo-link.qodef-source--image {
  filter: none !important;
  -webkit-filter: none !important;
}


#qodef-page-header-inner .qodef-header-logo-image {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}


/* Clean, minimal logo animation styles */
.sxm-animated-logo {
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(0) invert(1);
  opacity: 0;
  transition: opacity 0.6s ease;
}

.sxm-animated-logo.sxm-visible {
  opacity: 1;
}

.sxm-animated-logo path {
  fill: transparent;
  stroke: #ffffff;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: fill 0.8s ease 0.3s;
}

.sxm-animated-logo.sxm-filled path {
  fill: #ffffff;
  stroke: transparent;
}

@keyframes sxm-draw {
  to { stroke-dashoffset: 0; }
}

.sxm-logo-animating .qodef-header-logo-image {
  display: none !important;
}


.home-services .qodef-m-item {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 45px!important;
}

.qodef-header--sticky-display #qodef-page-header .qodef-header-logo-link.qodef-source--textual{
    color:#ffffff!important;
}

.qodef-header--sticky-display #qodef-page-header .qodef-header-logo-link.qodef-source--textual {
    font-size: 45px;
    height: 90px;
    width: auto;
    top: 0%;
}


/* Running animations by default */
.qodef-opener-icon.qodef-source--predefined.qodef-rotating-opener--enabled 
  .qodef--open .qodef-svg--opener-rotate {
  overflow: visible;
  transform-origin: center;
  animation: qode-rotate 11s linear infinite;
  animation-play-state: running;
}

.qodef-opener-icon.qodef-source--predefined.qodef-rotating-opener--enabled 
  .qodef--open .qodef-svg--star-opener {
  transform-origin: center;
  animation: qode-rotate 13s linear infinite reverse;
  animation-play-state: running;
}

.qodef-opener-icon.qodef-source--predefined.qodef-rotating-opener--enabled 
  .qodef--open:hover .qodef-svg--opener-rotate,
.qodef-opener-icon.qodef-source--predefined.qodef-rotating-opener--enabled 
  .qodef--open:hover .qodef-svg--star-opener {
  animation-play-state: paused;
}


#qodef-fullscreen-area {
  position: relative;
}

#qodef-fullscreen-area::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  aspect-ratio: 1928 / 181;
  background: var(--wpr-bg-8c1766cf-1098-433a-8d09-c6a1de69f96f)
              no-repeat center bottom;
  background-size: 100% 100%;
  z-index: 999;
  opacity: 0;
  transition: opacity 1.2s cubic-bezier(0.77, 0, 0.175, 1);
  pointer-events: none;
}

.qodef-fullscreen-menu-animate--in #qodef-fullscreen-area::after {
    opacity: 1;
}

.qodef-fullscreen-menu-animate--out #qodef-fullscreen-area::after {
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(0.77, 0, 0.175, 1);
}


.qodef-fullscreen-menu-social-icons a{
    color:#000!important;
}


.qodef-fullscreen-contact-info {
  margin-top: 0rem;
}

.qodef-fullscreen-contact-info .qodef-contact-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #000;
  margin-bottom: 15px;
}

.qodef-fullscreen-contact-info .qodef-contact-item:last-child {
  margin-bottom: 0;
}

.qodef-fullscreen-contact-info .qodef-contact-item i {
  font-size: 1.5rem;
}

.qodef-fullscreen-contact-info .qodef-contact-text {
  font-family: 'Unbounded', sans-serif;
  font-size: 1rem;
}

.qodef-contact-icon {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}

.qodef-fullscreen-menu-social-icons{
     margin-top: 1rem;  
}


@media(min-width:968px){
  #qodef-fullscreen-area-inner {
      padding: 0 0 10% 0%;
  }
}


.footer-social.social-icons {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-social.social-icons li {
  margin-bottom: 1.5rem;
}

.footer-social.social-icons li a {
  display: inline-flex;
  align-items: center;
  font-family: 'Unbounded', sans-serif;
  font-size: 2.5rem;
  line-height: 1.2;
  color: #fff;
  text-decoration: none;
  overflow: visible;
  padding-right: 2.5rem;
  transition: all .3s ease;
}

.footer-social.social-icons li a i {
  font-size: 0;
  opacity: 0;
  margin-right: 0;
  transition: all .3s ease;
  color: currentColor;
}

.footer-social.social-icons li a span {
  display: inline-block;
  transition: transform .3s ease;
}

.footer-social.social-icons li a:hover span {
  transform: translateX(1rem);
}

.footer-social.social-icons li a:hover i {
  font-size: 2rem;
  opacity: 1;
  margin-right: 0.75rem;
}


#qodef-page-footer-bottom-area .qodef-grid.qodef-col-num--2>.qodef-grid-inner {
    --qode-columns: 1!important;
}

#qodef-page-footer-bottom-area-inner {
    padding-top: 0;
    padding-bottom: 0;
    border-top: 0 solid #000;
}


.fullbleed {
  position: relative;
  width: 100vw;               
  left: 50%;                  
  transform: translateX(-50%);
  text-transform: uppercase;
  font-family: 'Unbounded', sans-serif;
  font-size: 10.6vw;                 
  white-space: nowrap;        
  text-align: center;         
  overflow: visible;  
}

.fullbleed-middle {
  position: relative;
  width: 100vw;               
  left: 50%;                  
  transform: translateX(-50%);
  white-space: nowrap;        
  text-align: center;         
  font-family: 'Unbounded', sans-serif;
  font-size: 5vw;
  line-height: 1.2;
  overflow: visible;          
  text-transform: uppercase;
}

.fullbleed-top {
  position: relative;
  display: block;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  text-transform: uppercase;
  text-align: center;
  font-family: 'Unbounded', sans-serif;
  font-size: 3.6vw;
  margin: 2rem 0;
  white-space: nowrap;
  overflow: visible;
  text-overflow: unset !important;
}

@media(max-width:1200px){
    #qodef-page-mobile-header .qodef-mobile-header-logo-link.qodef-source--textual {
        font-size: 30px;
        line-height: 1.2em;
        color: #fff;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff;
        height: 35px;
    }
    
    #qodef-page-mobile-header{
        background-color: transparent!important;
    }
}


.qodef-header--sticky-display #qodef-page-header-inner .qodef-opener-icon{
    display: none!important;
}


/* Hide the star wrapper */
.qodef-opener-icon .qodef-m-icon.qodef--open .qodef-svg--star-wrapper {
  display: none !important;
}

.qodef-opener-icon .qodef-m-icon.qodef--open {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
}

.qodef-opener-icon .qodef-m-icon.qodef--open::before {
  content: '+';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Unbounded', sans-serif;
  font-size: 3rem;
  line-height: 1;
  color: currentColor;
  animation: plus-spin 4s linear infinite;
  pointer-events: none;
}

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


.qodef-header-sticky-inner .widget.widget_block{
    margin: 0px!important;
}

.qodef-header-sticky-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 40px;
}

.qodef-header-sticky-inner > a.qodef-header-logo-link.qodef-source--textual {
  position: absolute!important;
  left: 50%!important;
  transform: translateX(-50%)!important;
  margin: 0 auto !important;         
  width: auto;
  white-space: nowrap;
  text-align: center;
}


#menu-primary-3 .sub-menu {
  display: none;
  overflow: hidden;
}

#menu-primary-3 > li.expanded {
  order: -1;
}

.qodef-fullscreen-menu .qodef-drop-down-second-inner ul li>a {
  font-size: 45px;
  line-height: 1.1111111111em;
  text-transform: uppercase;
  color: #f2f2f2;
  font-weight: 400;
}

.qodef-fullscreen-menu ul.sub-menu {
    width: 100% !important;
}


#qodef-fullscreen-area {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow-x: hidden !important;
  z-index: 99;
  transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transform: translateY(-105%);
}

.qodef-fullscreen-menu-animate--in #qodef-fullscreen-area {
    transform: translateY(0%);
}


@media(max-width: 768px){
    .qodef-opener-icon .qodef-m-icon.qodef--open::before {
      content: '+';
      display: block;
      position: absolute;
      top: 42%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 2.5rem;
    }

    .qodef-fullscreen-menu>ul>li>a {
        font-size: 22px;
        line-height: 1.1428571429em;
    }
    
    #qodef-page-mobile-header {
      background-color: transparent;
    }

    .qodef-opener-icon.qodef-source--predefined.qodef-rotating-opener--enabled .qodef--open svg {
      overflow: visible;
      width: 40px;
      height: 40px;
    }

    #qodef-fullscreen-area .qodef-content-grid .qodef-fullscreen-menu {
        width: 80%;
    }

    .qodef-fullscreen-menu {
        left: 0%!important;
    }

    #qodef-fullscreen-area::after {
        font-size: 11.1vw;
    }
}


#qodef-fullscreen-area,
#qodef-fullscreen-area * {
  color: #000 !important;
}

.qodef-m-icon.qodef--close:hover svg,
.qodef-m-icon.qodef--close:hover svg * {
  stroke: #000 !important;
  fill: #000 !important;
  color:#000!important;
}

.qodef-svg--close {
    fill: #000;
}

.qodef--close *{
  stroke: #000 !important;
  fill: #000 !important;
  color:#000!important;
}


@media(min-width:992px){
   #qodef-fullscreen-area-inner .qodef-fullscreen-menu-image{
    width:50%;
  } 
}


/* NEW STYLES FOR FULL SCREEN MENU */
.qodef-fullscreen-menu {
    width: 50%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.qodef-fullscreen-menu-image {
    width: 50vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    min-width: 0;
}

.qodef-fullscreen-menu-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

#qodef-fullscreen-area .qodef-content-grid {
    height: 100%;
    width: 100%;
    padding: 0 !important;
}

.qodef-fullscreen-menu{
    left:10%;
}

@media only screen and (max-width: 1600px) {
    #qodef-fullscreen-area-inner .qodef-fullscreen-menu-image {
        max-width: 50%!important;
    }
}


#obj-3d-container {
  width: 100%;
  max-width: 100%;
  height: 280px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  overflow: hidden;
  padding: 0;
}

@media (max-width: 768px) {
  #obj-3d-container {
    height: 200px;
  }
}

canvas {
  display: block !important;
}


.menu-login a {
    border: 3px solid;
    padding: 6px 40px;
    display: inline-block;
    font-size: 25px !important;
}

.qodef-fullscreen-menu .qodef-drop-down-second-inner ul li>a {
  font-size: 35px;
  font-family: Unbounded, sans-serif;
}

.qodef-button.qodef-layout--circle .qodef-m-text {
    height: 90px;
}

.post-template #qodef-page-header{
    background-color: transparent!important;
}

#qodef-fullscreen-area-inner {
  padding-bottom: clamp(120px, 12vw, 200px);
}

#qodef-fullscreen-area .qodef-content-grid .qodef-fullscreen-menu {
    padding-top: clamp(60px, 8vh, 120px);
}

#qodef-fullscreen-area::after {
  font-size: 10.8vw;
}

.qodef-fullscreen-menu-animate--in #qodef-fullscreen-area::after {
  opacity: 1;
}

.qodef-fullscreen-menu-animate--out #qodef-fullscreen-area::after {
  opacity: 0;
  transition: opacity 1.2s cubic-bezier(0.77, 0, 0.175, 1);
}

.qodef-fullscreen-menu-social-icons .widget.widget_block{
    margin-bottom: 25px!important;
}

/* Smaller font on laptop screens */
@media (max-width: 1500px) {
  #qodef-fullscreen-area::after {
      display: block !important;
  }

  .qodef-fullscreen-menu > ul > li > a {
      font-size: 30px;
  }
  
  #qodef-fullscreen-area-inner {
      padding-bottom: 0 !important;
  }
}

.qodef-fullscreen-menu > ul > li > a {
    font-size: 26px!important;
}

@media (max-width: 992px) {
  .qodef-fullscreen-menu > ul > li > a {
      font-size: 24px;
  }
}

@media (max-width: 768px) {
  .qodef-fullscreen-menu > ul > li > a {
      font-size: 22px;
      line-height: 1.2;
  }
  
  #qodef-page-footer-top-area-inner {
      padding-top: 50px !important;
      padding-bottom: 50px !important;
      padding-left: 40px !important;
      padding-right: 40px !important;
  }
    
  #qodef-page-footer-top-area-inner .widget_media_image{
      margin-bottom: 0px!important;
  }
}
  

.gform-theme--foundation .gfield .ginput_password.large, 
.gform-theme--foundation .gfield input.large, 
.gform-theme--foundation .gfield select.large {
    inline-size: 100%;
    font-family: "Unbounded", Sans-serif!important;
    font-weight: 500;
    font-size: 20px;
    height: 60px;
    border: 1px solid #000 !important;
    outline: 0 !important;
}

.gform-theme--foundation .gfield textarea{
    font-family: "Unbounded", Sans-serif!important;
    font-weight: 500;
    font-size: 20px;
    height: 160px;
    border: 1px solid #000 !important;
    outline: 0 !important;
}

.gform-theme--foundation input[type=submit] {
    font-family: Unbounded, sans-serif;
    font-size: 12px;
    line-height: 2em;
    font-weight: 500;
    position: relative;
    display: inline-flex;
    vertical-align: middle;
    width: auto;
    margin: 0;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 0;
    outline: 0;
    transition: color .2s ease-out, background-color .2s ease-out, border-color .2s ease-out;
    padding: 11px 60px;
    cursor: pointer;
    background: #000 !important;
    width: 100% !important;
    font-family: "Unbounded", Sans-serif !important;
    font-weight: 500 !important;
    font-size: 30px !important;
    text-transform: uppercase !important;
    padding: 17px 40px !important;
}

.gform-theme--foundation .gfield textarea.large {
    min-block-size: 4rem!important;
}

.gform-theme--foundation .gform_fields {
    row-gap: 15px!important;
}

.gform_heading{
    display: none!important;
}

.footer-image{
    width: 70%!important;
    margin: 0 auto;
}


/* Footer full-width logo */
.footer-logo {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 1928 / 181;
  background: var(--wpr-bg-f8bf150a-de22-4bb0-80f8-97754ea29cb1)
              no-repeat center center;
  background-size: contain;
  filter: brightness(0) invert(1);
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

#qodef-page-footer-bottom-area-inner{
    width: 100%!important;
}

@media (max-width: 768px) {
  .footer-logo {
    width: 100vw;
  }
}


/* Fix the mobile header layout and make logo white */
#qodef-page-mobile-header-inner {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 15px !important;
}

#qodef-page-mobile-header .qodef-mobile-header-logo-link {
  position: relative !important;
  flex: 1 !important;
  max-width: calc(100% - 60px) !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

#qodef-page-mobile-header .qodef-header-logo-image {
  filter: brightness(0) invert(1) !important;
  width: 100% !important;
  height: auto !important;
  max-width: 160px !important;
  min-width: 160px !important;
}

#qodef-page-mobile-header .qodef-header-logo-image.qodef--dark,
#qodef-page-mobile-header .qodef-header-logo-image.qodef--light {
  display: none !important;
}

#qodef-page-mobile-header .qodef-opener-icon {
  flex-shrink: 0 !important;
  margin-left: 10px !important;
  width: 40px !important;
  height: 40px !important;
}


body.error404 #qodef-page-header{
    display: none!important;
}

.footer-logo-juan img{
    filter: brightness(0) invert(1);
}

footer .qodef-svg--menu-item, 
footer .qodef-svg--menu-item, 
#qodef-page-footer svg{
    display: none!important;
}


.sxm-mobile-contact-btn {
    font-family: 'Unbounded', sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #fff !important;
    text-decoration: none !important;
    border: 1.5px solid #fff;
    background: transparent;
    padding: 6px 12px;
    margin-right: 12px;
    display: inline-flex;
    align-items: center;
    transition: background 0.3s ease, color 0.3s ease;
    flex-shrink: 0;
}

.sxm-mobile-contact-btn:hover {
    background: #fff;
    color: #000 !important;
}

.qodef-mobile-header--sticky-display #qodef-page-mobile-header {
    background-color: #000 !important;
    top: 0 !important;
    position: fixed !important;
    width: 100% !important;
    z-index: 1000 !important;
}

.qodef-icon-with-text .qodef-m-icon-wrapper img {
    filter: brightness(0);
}

.qodef-svg-image .qodef-svg--title-decoration-3 path {
    stroke: #000 !important;
}

.menu-item-6172 > a {
    pointer-events: none;
    cursor: default;
}

.menu-item-6172:hover > a {
    pointer-events: none;
}

.elementor-widget-text-editor a{
    text-decoration: underline;
}

.start-project:hover{
    background:#fff!important;
    color:#000!important;
}

.start-project:hover span{
    color:#000!important;
}

.post-template.qodef-header--fixed-display #qodef-page-header,
.post-template.qodef-header--sticky-display #qodef-page-header {
    background: #000 !important;
}/* End custom CSS */