.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-kit-7 e-page-transition{background-color:#FFBC7D;}.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 */.elementor-heading-title {
    font-family: Unbounded, sans-serif !important;
}


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



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

#qodef-page-header-inner{
    padding:0px!important;
}


#qodef-page-header{
    height: 100%;
}



#qodef-page-header > #qodef-page-header-inner 
  > a.qodef-header-logo-link.qodef-source--textual {
  
  /* keep it in flow, no absolute/relative offset */
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  
  /* fill the full width of its parent */
  width: 100%;
  max-width: 100%;
  
  /* match your 20px gutter on both sides */
  padding: 0 20px;
  box-sizing: border-box;
  
  /* keep your other text styles */
  white-space: nowrap;
  text-align: center;
  font-family: 'Unbounded', sans-serif;
  font-size: 10.5vw;
  line-height: 0.9;
  margin: 0 auto;
  height: 100%;
}



.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;
}

/* Pause both when hovering the parent .qodef--open */
.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;
}



/* make sure the container is positioning context */



#qodef-fullscreen-area::after {
    content: "SPEEDXMEDIA";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-family: 'Unbounded', sans-serif;
    font-size: 10.8vw;
    line-height: 1;
    color: #000;
    z-index: 999;
    font-weight: 700;
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(0.77, 0, 0.175, 1);
    pointer-events: none;
    letter-spacing: -2px;

    text-align: left; /* Ensure left alignment */
    padding-left: 0;  /* Remove any default left spacing */
    margin: 0;  
     text-align: center;
     
}

.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;  /* adjust spacing above if needed */
}

.qodef-fullscreen-contact-info .qodef-contact-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;       /* space between icon & text */
  color: #000;        /* white text & icons */
  margin-bottom: 15px;
}

.qodef-fullscreen-contact-info .qodef-contact-item:last-child {
  margin-bottom: 0;   /* no extra gap after the last one */
}

.qodef-fullscreen-contact-info .qodef-contact-item i {
  font-size: 1.5rem;  /* icon size, tweak as desired */
}

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


.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%;
}



/* make the header‐inner a positioning context */
  .qodef-header--minimal-centered #qodef-page-header-inner {
    position: relative;
  }

  /* position the opener icon just below the logo */
  .qodef-header--minimal-centered 
    #qodef-page-header-inner 
    .qodef-opener-icon {
      position: absolute;
      top: 110%;               /* exactly below the header-inner’s height */
      left: 49%;
      transform: translateX(-46%);
      z-index: 999;
  }
  
 

}

    
    .qodef-header--minimal-centered #qodef-page-header-inner .qodef-opener-icon.qodef--opened{
         

    position: absolute;
    top: 20%;
    right: 30px;
    transform: none;
    left: auto;

    
    }
    
    



}



.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;         /* added line-height */
  color: #fff;
  text-decoration: none;
  overflow: visible;        /* allow the icon to slide in */
  padding-right: 2.5rem;    /* space to the right so text won’t be cut off */
  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;             /* or your preferred size */
  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;         /* <- important */
  text-overflow: unset !important; /* <- override any inherited ellipsis */
}

@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;
}



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

/* 1) Give the open‐icon container a definite box and centering */
.qodef-opener-icon .qodef-m-icon.qodef--open {
  position: relative;
  display: inline-flex;        /* inline box with flex centering */
  justify-content: center;
  align-items: center;
  width: 3rem;                 /* match your + font-size */
  height: 3rem;                /* same as width for a square */
}

/* 2) Center & spin the + inside */
.qodef-opener-icon .qodef-m-icon.qodef--open::before {
  content: '+';
  display: block;              /* block-level for correct centering */
  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;
}

/* keep your keyframes */
@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;
}



/* Make the sticky-inner a positioning context */
.qodef-header-sticky-inner {
  position: relative;       /* allow absolutely‐positioned children */
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 40px;          /* your side gutters */
}

/* Absolutely center the logo inside that bar */
.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;               /* don’t force full-width here */
  white-space: nowrap;
  text-align: center;
}

/* (Optional) Ensure it doesn’t overlap the side widgets when space is tight */
@media (max-width: 768px) {
  .qodef-header-sticky-inner > a.qodef-header-logo-link.qodef-source--textual {
    left: auto;
    right: auto;
    transform: none;
    margin: 0 auto;
  }
  



}





#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; /* smaller than header, bigger than content */
    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; /* Always half the viewport width */
    height: 100vh; /* Always full viewport height */
    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;   /* Cover the container, cropping if needed */
    object-position: center center; /* Center the image */
    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: none !important;
  }



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


}


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




@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; /* or whatever size you prefer */
    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;
}/* End custom CSS */