.elementor-2456 .elementor-element.elementor-element-c8e200c{--display:flex;--min-height:100vh;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;--margin-top:-11px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-2456 .elementor-element.elementor-element-c8e200c::before, .elementor-2456 .elementor-element.elementor-element-c8e200c > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-c8e200c > .e-con-inner > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-c8e200c > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-c8e200c > .e-con-inner > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-c8e200c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:radial-gradient(at center center, #FFFFFF00 0%, #000000 82%);}.elementor-2456 .elementor-element.elementor-element-30a9a92{--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:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-2456 .elementor-element.elementor-element-98c8961{--display:flex;--justify-content:center;--overlay-opacity:0.5;--border-radius:20px 20px 20px 20px;}.elementor-2456 .elementor-element.elementor-element-98c8961::before, .elementor-2456 .elementor-element.elementor-element-98c8961 > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-98c8961 > .e-con-inner > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-98c8961 > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-98c8961 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-98c8961 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #FFFFFF00 0%, #020202 100%);}.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-2456 .elementor-element.elementor-element-36da673 .elementor-button{background-color:#39FF1400;font-family:"Bruno Ace", Sans-serif;font-size:22px;font-weight:500;fill:#FFFFFFB8;color:#FFFFFFB8;}.elementor-2456 .elementor-element.elementor-element-36da673 .elementor-button:hover, .elementor-2456 .elementor-element.elementor-element-36da673 .elementor-button:focus{color:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-36da673 .elementor-button:hover svg, .elementor-2456 .elementor-element.elementor-element-36da673 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-b6df8b6{--display:flex;--justify-content:center;--overlay-opacity:0.5;--border-radius:20px 20px 20px 20px;}.elementor-2456 .elementor-element.elementor-element-b6df8b6::before, .elementor-2456 .elementor-element.elementor-element-b6df8b6 > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-b6df8b6 > .e-con-inner > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-b6df8b6 > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-b6df8b6 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-b6df8b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #FFFFFF00 0%, #000000 100%);}.elementor-2456 .elementor-element.elementor-element-e4dbc78 .elementor-button{background-color:#39FF1400;font-family:"Bruno Ace", Sans-serif;font-size:22px;font-weight:500;fill:#FFFFFFB8;color:#FFFFFFB8;}.elementor-2456 .elementor-element.elementor-element-e4dbc78 .elementor-button:hover, .elementor-2456 .elementor-element.elementor-element-e4dbc78 .elementor-button:focus{color:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-e4dbc78 .elementor-button:hover svg, .elementor-2456 .elementor-element.elementor-element-e4dbc78 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-7b08edc{--display:flex;--justify-content:center;--overlay-opacity:0.5;--border-radius:20px 20px 20px 20px;}.elementor-2456 .elementor-element.elementor-element-7b08edc::before, .elementor-2456 .elementor-element.elementor-element-7b08edc > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-7b08edc > .e-con-inner > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-7b08edc > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-7b08edc > .e-con-inner > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-7b08edc > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #FFFFFF00 0%, #000000 100%);}.elementor-2456 .elementor-element.elementor-element-8e27eaf .elementor-button{background-color:#39FF1400;font-family:"Bruno Ace", Sans-serif;font-size:22px;font-weight:500;fill:#FFFFFFB8;color:#FFFFFFB8;}.elementor-2456 .elementor-element.elementor-element-8e27eaf .elementor-button:hover, .elementor-2456 .elementor-element.elementor-element-8e27eaf .elementor-button:focus{color:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-8e27eaf .elementor-button:hover svg, .elementor-2456 .elementor-element.elementor-element-8e27eaf .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-2259c81{--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;--justify-content:center;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-2456 .elementor-element.elementor-element-f8c445c{--display:flex;--justify-content:center;--overlay-opacity:0.5;--border-radius:20px 20px 20px 20px;}.elementor-2456 .elementor-element.elementor-element-f8c445c::before, .elementor-2456 .elementor-element.elementor-element-f8c445c > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-f8c445c > .e-con-inner > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-f8c445c > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-f8c445c > .e-con-inner > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-f8c445c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #FFFFFF00 0%, #000000 100%);}.elementor-2456 .elementor-element.elementor-element-7fe1dad .elementor-button{background-color:#39FF1400;font-family:"Bruno Ace", Sans-serif;font-size:22px;font-weight:500;fill:#FFFFFFB8;color:#FFFFFFB8;}.elementor-2456 .elementor-element.elementor-element-7fe1dad .elementor-button:hover, .elementor-2456 .elementor-element.elementor-element-7fe1dad .elementor-button:focus{color:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-7fe1dad .elementor-button:hover svg, .elementor-2456 .elementor-element.elementor-element-7fe1dad .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-57eb045{--display:flex;--justify-content:center;--overlay-opacity:0.5;--border-radius:20px 20px 20px 20px;}.elementor-2456 .elementor-element.elementor-element-57eb045::before, .elementor-2456 .elementor-element.elementor-element-57eb045 > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-57eb045 > .e-con-inner > .elementor-background-video-container::before, .elementor-2456 .elementor-element.elementor-element-57eb045 > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-57eb045 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2456 .elementor-element.elementor-element-57eb045 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #FFFFFF00 0%, #000000 100%);}.elementor-2456 .elementor-element.elementor-element-ec627fb .elementor-button{background-color:#39FF1400;font-family:"Bruno Ace", Sans-serif;font-size:22px;font-weight:500;fill:#FFFFFFB8;color:#FFFFFFB8;}.elementor-2456 .elementor-element.elementor-element-ec627fb .elementor-button:hover, .elementor-2456 .elementor-element.elementor-element-ec627fb .elementor-button:focus{color:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-ec627fb .elementor-button:hover svg, .elementor-2456 .elementor-element.elementor-element-ec627fb .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2456 .elementor-element.elementor-element-f93fef2{--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;--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;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-2456 .elementor-element.elementor-element-f8c445c{--width:33%;}.elementor-2456 .elementor-element.elementor-element-57eb045{--width:33%;}}@media(max-width:767px){.elementor-2456 .elementor-element.elementor-element-c8e200c{--margin-top:-137px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2456 .elementor-element.elementor-element-36da673 .elementor-button{font-size:20px;}.elementor-2456 .elementor-element.elementor-element-e4dbc78 .elementor-button{font-size:20px;}.elementor-2456 .elementor-element.elementor-element-8e27eaf .elementor-button{font-size:20px;}.elementor-2456 .elementor-element.elementor-element-7fe1dad .elementor-button{font-size:20px;}.elementor-2456 .elementor-element.elementor-element-ec627fb .elementor-button{font-size:20px;}}/* Start custom CSS for container, class: .elementor-element-98c8961 *//* Initial state - compact height, hide video and overlay */
.elementor-2456 .elementor-element.elementor-element-98c8961 {
    height: 10vh !important;
    min-height: 10vh !important;
    max-height: 10vhpx !important;
    overflow: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hide video initially */
.elementor-2456 .elementor-element.elementor-element-98c8961 .elementor-background-video-container {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hide overlay initially */
.elementor-2456 .elementor-element.elementor-element-98c8961 .elementor-background-overlay {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hover state - expand vertically */
.elementor-2456 .elementor-element.elementor-element-98c8961:hover {
    height: 20vh !important;
    min-height: 20vh !important;
    max-height: 20vh !important;
}

/* Show video on hover */
.elementor-2456 .elementor-element.elementor-element-98c8961:hover .elementor-background-video-container {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Show overlay on hover */
.elementor-2456 .elementor-element.elementor-element-98c8961:hover .elementor-background-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix video sizing and positioning */
.elementor-2456 .elementor-element.elementor-element-98c8961 .elementor-background-video-container {
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
}

.elementor-2456 .elementor-element.elementor-element-98c8961 .elementor-background-video-hosted {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b6df8b6 *//* Initial state - compact height, hide video and overlay */
.elementor-2456 .elementor-element.elementor-element-b6df8b6 {
    height: 10vh !important;
    min-height: 10vh !important;
    max-height: 10vhpx !important;
    overflow: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hide video initially */
.elementor-2456 .elementor-element.elementor-element-b6df8b6 .elementor-background-video-container {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hide overlay initially */
.elementor-2456 .elementor-element.elementor-element-b6df8b6 .elementor-background-overlay {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hover state - expand vertically */
.elementor-2456 .elementor-element.elementor-element-b6df8b6:hover {
    height: 20vh !important;
    min-height: 20vh !important;
    max-height: 20vh !important;
}

/* Show video on hover */
.elementor-2456 .elementor-element.elementor-element-b6df8b6:hover .elementor-background-video-container {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Show overlay on hover */
.elementor-2456 .elementor-element.elementor-element-b6df8b6:hover .elementor-background-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix video sizing and positioning */
.elementor-2456 .elementor-element.elementor-element-b6df8b6 .elementor-background-video-container {
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
}

.elementor-2456 .elementor-element.elementor-element-b6df8b6 .elementor-background-video-hosted {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7b08edc *//* Initial state - compact height, hide video and overlay */
.elementor-2456 .elementor-element.elementor-element-7b08edc {
    height: 10vh !important;
    min-height: 10vh !important;
    max-height: 10vhpx !important;
    overflow: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hide video initially */
.elementor-2456 .elementor-element.elementor-element-7b08edc .elementor-background-video-container {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hide overlay initially */
.elementor-2456 .elementor-element.elementor-element-7b08edc .elementor-background-overlay {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hover state - expand vertically */
.elementor-2456 .elementor-element.elementor-element-7b08edc:hover {
    height: 20vh !important;
    min-height: 20vh !important;
    max-height: 20vh !important;
}

/* Show video on hover */
.elementor-2456 .elementor-element.elementor-element-7b08edc:hover .elementor-background-video-container {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Show overlay on hover */
.elementor-2456 .elementor-element.elementor-element-7b08edc:hover .elementor-background-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix video sizing and positioning */
.elementor-2456 .elementor-element.elementor-element-7b08edc .elementor-background-video-container {
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
}

.elementor-2456 .elementor-element.elementor-element-7b08edc .elementor-background-video-hosted {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f8c445c *//* Initial state - compact height, hide video and overlay */
.elementor-2456 .elementor-element.elementor-element-f8c445c {
    height: 10vh !important;
    min-height: 10vh !important;
    max-height: 10vhpx !important;
    overflow: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hide video initially */
.elementor-2456 .elementor-element.elementor-element-f8c445c .elementor-background-video-container {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hide overlay initially */
.elementor-2456 .elementor-element.elementor-element-f8c445c .elementor-background-overlay {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hover state - expand vertically */
.elementor-2456 .elementor-element.elementor-element-f8c445c:hover {
    height: 20vh !important;
    min-height: 20vh !important;
    max-height: 20vh !important;
}

/* Show video on hover */
.elementor-2456 .elementor-element.elementor-element-f8c445c:hover .elementor-background-video-container {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Show overlay on hover */
.elementor-2456 .elementor-element.elementor-element-f8c445c:hover .elementor-background-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix video sizing and positioning */
.elementor-2456 .elementor-element.elementor-element-f8c445c .elementor-background-video-container {
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
}

.elementor-2456 .elementor-element.elementor-element-f8c445c .elementor-background-video-hosted {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-57eb045 *//* Initial state - compact height, hide video and overlay */
.elementor-2456 .elementor-element.elementor-element-57eb045 {
    height: 10vh !important;
    min-height: 10vh !important;
    max-height: 10vhpx !important;
    overflow: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hide video initially */
.elementor-2456 .elementor-element.elementor-element-57eb045 .elementor-background-video-container {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hide overlay initially */
.elementor-2456 .elementor-element.elementor-element-57eb045 .elementor-background-overlay {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.5s ease !important;
}

/* Hover state - expand vertically */
.elementor-2456 .elementor-element.elementor-element-57eb045:hover {
    height: 20vh !important;
    min-height: 20vh !important;
    max-height: 20vh !important;
}

/* Show video on hover */
.elementor-2456 .elementor-element.elementor-element-57eb045:hover .elementor-background-video-container {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Show overlay on hover */
.elementor-2456 .elementor-element.elementor-element-57eb045:hover .elementor-background-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix video sizing and positioning */
.elementor-2456 .elementor-element.elementor-element-57eb045 .elementor-background-video-container {
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
}

.elementor-2456 .elementor-element.elementor-element-57eb045 .elementor-background-video-hosted {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}/* End custom CSS */
/* Start custom CSS *//* CURSOR */
#cursor {
  position: fixed;
  z-index: 9999;
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.9); /* Pure white */
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: width .15s, height .15s, background .2s;
  mix-blend-mode: screen;
}

#cursor-ring {
  position: fixed;
  z-index: 9998;
  width: 38px;
  height: 38px;
  border: 1.5px solid rgba(255, 255, 255, 0.5); /* White ring */
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: width .22s cubic-bezier(.25,.46,.45,.94),
              height .22s cubic-bezier(.25,.46,.45,.94),
              border-color .2s;
}

/* Hover state - brighter white glow */
body.hovering #cursor {
  width: 16px;
  height: 16px;
  background: rgba(255, 255, 255, 1); /* Full white */
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.8); /* White glow */
}

body.hovering #cursor-ring {
  width: 60px;
  height: 60px;
  border-color: rgba(255, 255, 255, 0.8); /* Brighter white ring */
}

/* Hide default cursor */
body {
  cursor: none;
}

a, button, .elementor-button, input, textarea {
  cursor: none;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Bruno Ace';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://gknectdigital.co.za/wp-content/uploads/2026/02/BrunoAce-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Bruno Ace';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: ;
}
/* End Custom Fonts CSS */