.elementor-2059 .elementor-element.elementor-element-c038a01{--display:flex;--min-height:100vh;--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;--overlay-opacity:0.75;--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-2059 .elementor-element.elementor-element-c038a01:not(.elementor-motion-effects-element-type-background), .elementor-2059 .elementor-element.elementor-element-c038a01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-772cea2 );background-image:url("https://ctrlaltinfiltrate.com/wp-content/uploads/2025/06/ChatGPT-Image-Jun-10-2025-01_57_09-PM.png");}.elementor-2059 .elementor-element.elementor-element-c038a01::before, .elementor-2059 .elementor-element.elementor-element-c038a01 > .elementor-background-video-container::before, .elementor-2059 .elementor-element.elementor-element-c038a01 > .e-con-inner > .elementor-background-video-container::before, .elementor-2059 .elementor-element.elementor-element-c038a01 > .elementor-background-slideshow::before, .elementor-2059 .elementor-element.elementor-element-c038a01 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2059 .elementor-element.elementor-element-c038a01 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-772cea2 );--background-overlay:'';}.elementor-2059 .elementor-element.elementor-element-42b1134{--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-2059 .elementor-element.elementor-element-bd7c96f{text-align:center;}.elementor-2059 .elementor-element.elementor-element-bd7c96f .elementor-heading-title{font-family:"JetBrains Mono", Sans-serif;font-size:28px;color:var( --e-global-color-text );}.elementor-2059 .elementor-element.elementor-element-4968226{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2059 .elementor-element.elementor-element-03a6f1d .elementor-button:hover, .elementor-2059 .elementor-element.elementor-element-03a6f1d .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-772cea2 );}.elementor-2059 .elementor-element.elementor-element-03a6f1d .elementor-button{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-style:solid;border-color:var( --e-global-color-primary );border-radius:2px 2px 2px 2px;}.elementor-2059 .elementor-element.elementor-element-03a6f1d .elementor-button:hover svg, .elementor-2059 .elementor-element.elementor-element-03a6f1d .elementor-button:focus svg{fill:var( --e-global-color-772cea2 );}.elementor-2059 .elementor-element.elementor-element-737577a .elementor-button:hover, .elementor-2059 .elementor-element.elementor-element-737577a .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-772cea2 );}.elementor-2059 .elementor-element.elementor-element-737577a .elementor-button{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-style:solid;border-color:var( --e-global-color-primary );border-radius:2px 2px 2px 2px;}.elementor-2059 .elementor-element.elementor-element-737577a .elementor-button:hover svg, .elementor-2059 .elementor-element.elementor-element-737577a .elementor-button:focus svg{fill:var( --e-global-color-772cea2 );}.elementor-2059 .elementor-element.elementor-element-f6f830e{--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-2059 .elementor-element.elementor-element-4d64903{text-align:center;}.elementor-2059 .elementor-element.elementor-element-4d64903 .elementor-heading-title{font-family:"JetBrains Mono", Sans-serif;font-size:24px;color:var( --e-global-color-primary );}.elementor-2059 .elementor-element.elementor-element-0003597 .elementor-icon-list-icon i{color:#00FFFF;transition:color 0.3s;}.elementor-2059 .elementor-element.elementor-element-0003597 .elementor-icon-list-icon svg{fill:#00FFFF;transition:fill 0.3s;}.elementor-2059 .elementor-element.elementor-element-0003597{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-2059 .elementor-element.elementor-element-0003597 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2059 .elementor-element.elementor-element-0003597 .elementor-icon-list-item > a{font-family:"Inter", Sans-serif;font-size:16px;}.elementor-2059 .elementor-element.elementor-element-0003597 .elementor-icon-list-text{color:#EEEEEE;transition:color 0.3s;}.elementor-2059 .elementor-element.elementor-element-090f39d{--divider-border-style:solid;--divider-color:#FF00FF;--divider-border-width:2px;}.elementor-2059 .elementor-element.elementor-element-090f39d .elementor-divider-separator{width:50%;}.elementor-2059 .elementor-element.elementor-element-090f39d .elementor-divider{padding-block-start:15px;padding-block-end:15px;}@media(max-width:1024px){.elementor-2059 .elementor-element.elementor-element-4968226{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-2059 .elementor-element.elementor-element-42b1134{--width:50%;}.elementor-2059 .elementor-element.elementor-element-f6f830e{--width:50%;}}@media(max-width:767px){.elementor-2059 .elementor-element.elementor-element-4968226{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for image, class: .elementor-element-1de51bb *//* target only the widget you marked */
.hologram-img img {
  border: 2px solid #00FFFF !important;
  box-shadow: 
    0 0 8px #00FFFF inset,
    0 0 16px #00FFFF;
  transform: perspective(600px) rotateY(-3deg);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.hologram-img img:hover {
  transform: perspective(600px) rotateY(0deg);
  box-shadow:
    0 0 16px #00FFFF inset,
    0 0 24px #00FFFF;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-648e7aa */#bio-typing { font-family:'JetBrains Mono'; color:#EEEEEE; min-height:3em; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-42b1134 *//* 1. Portrait “Hologram” Container */
.elementor-widget-image .elementor-image img {
  border: 2px solid #00FFFF;
  box-shadow: 0 0 8px #00FFFF inset, 0 0 16px #00FFFF;
  transform: perspective(600px) rotateY(-3deg);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.elementor-widget-image .elementor-image:hover img {
  transform: perspective(600px) rotateY(0deg);
  box-shadow: 0 0 16px #00FFFF inset, 0 0 24px #00FFFF;
}

/* 2. Neon Terminal Buttons */
.elementor-button {
  font-family: 'JetBrains Mono', monospace;
  border: 2px solid #00FFFF;
  background: transparent;
  color: #00FFFF;
  position: relative;
  overflow: hidden;
}
.elementor-button::after {
  content: '';
  position: absolute; top:0; left:0;
  width: 0%; height:100%;
  background: rgba(0,255,255,0.1);
  transition: width 0.3s ease;
  z-index:0;
}
.elementor-button:hover::after { width:100%; }
.elementor-button span { position: relative; z-index:1; }

/* 3. Timeline Glow & Hover */
.cert-academy-timeline .timeline-marker {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cert-academy-timeline .timeline-item:hover .timeline-marker {
  transform: scale(1.2);
  box-shadow: 0 0 8px #FF00FF;
}

/* 4. Divider Accent */
.your-divider-class {
  border-top: 2px solid #FF00FF;
  width: 60%;
  margin: 12px auto;
}

/* 5. “Show More” Toggle */
.cert-academy-timeline.collapsed .timeline-item:nth-child(n+6) {
  display: none;
}
.show-more-toggle {
  font-family: 'JetBrains Mono', monospace;
  color: #FF00FF;
  cursor: pointer;
  text-align: center;
  margin-top: 8px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-81dbd69 *//* keep the fill from covering the text */
.neon-btn .elementor-button-text {
  position: relative;
  z-index: 1;
  white-space: nowrap;       /* no wrapping mid-word */
}

/* your existing fill effect */
.neon-btn {
  position: relative;
  overflow: hidden;
  /* …your border / background CSS… */
}
.neon-btn::after {
  /* …your fill pseudo-element… */
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-90f94a5 *//* ─ Vertical timeline ─ */
.cert-academy-timeline {
  position: relative;
  padding-left: 30px;
}
.timeline-list {
  list-style: none;
  margin: 0; padding: 0;
  position: relative;
}
.timeline-list:before {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  left: 10px;
  width: 2px;
  background: #444;
}
.timeline-item {
  position: relative;
  margin-bottom: 24px;
}
.timeline-marker {
  position: absolute;
  left: 2px; top: 0;
  width: 16px; height: 16px;
  border-radius: 50%;
  border: 2px solid #FF00FF;
  background: #111;
}
/* Marker colors by status */
.timeline-item.completed   .timeline-marker { background: #00FF00; }
.timeline-item.in-progress .timeline-marker { background: #FF00FF; }
.timeline-item.planned     .timeline-marker { background: #888888; }

.timeline-content {
  margin-left: 30px;
  font-family: Inter, sans-serif;
  color: #EEEEEE;
}
.timeline-date {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  color: #FF00FF;
  font-size: 14px;
  margin-bottom: 4px;
}
.timeline-title {
  font-size: 16px;
}

/* Fallback box */
.no-certs {
  font-family: 'JetBrains Mono', monospace;
  color: #00FFFF;
  background: #111111;
  border: 1px solid #333333;
  padding: 16px;
  border-radius: 8px;
  box-shadow: 0 0 8px #0ff2 inset;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7acc067 *//* — Toggle “?” Bubble — */
#help-toggle {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 5rem;
  height: 5rem;
  display: flex; align-items: center; justify-content: center;
  background: #111; color: #f0f; font-size: 2.5rem;
  border: 2px solid #0ff; border-radius: 50%;
  cursor: pointer; z-index: 9999;
  transition: background 0.2s, transform 0.2s;
}
#help-toggle:hover {
  transform: scale(1.1);
  background: rgba(0,255,255,0.1);
}

/* — Terminal Overlay Container — */
#help-terminal {
  position: fixed; bottom: 0; left: 50%;
  transform: translateX(-50%) translateY(100%);
  width: 90vw; max-width: 90%; max-height: 60vh;
  background: radial-gradient(circle at top, #001100 0%, #000 80%);
  border: 2px solid #0f0; border-radius: 6px 6px 0 0;
  box-shadow: 0 0 20px rgba(0,255,0,0.6), inset 0 0 15px rgba(0,255,0,0.3);
  font-family: 'JetBrains Mono', monospace;
  color: #0f0;
  overflow: hidden; z-index: 9998;
  transition: transform 0.3s ease-out;
  animation: flicker 0.15s infinite alternate;
}
#help-terminal.open {
  transform: translateX(-50%) translateY(0);
}

/* — CRT Scanlines + Vignette — */
#help-terminal::before {
  content: '';
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  background:
    radial-gradient(ellipse at center, transparent 60%, rgba(0,0,0,0.5) 100%),
    repeating-linear-gradient(
      to bottom,
      rgba(0,255,0,0.02) 0,
      rgba(0,255,0,0.02) 1px,
      transparent 1px,
      transparent 2px
    );
}

/* — Window Chrome — */
.term-header {
  display: flex; align-items: center;
  background: #111; padding: 0.3rem 0.6rem;
  border-bottom: 1px solid #030; cursor: move;
  position: relative;
}
.dots i {
  display: inline-block; width: 0.6rem; height: 0.6rem;
  border-radius: 50%; margin-right: 0.3rem;
}
.dots .red    { background: #e74c3c; }
.dots .yellow { background: #f1c40f; }
.dots .green  { background: #2ecc71; }
.title {
  margin: 0 auto; font-weight: bold; color: #0ff;
}
.cursor {
  margin-left: 0.3rem;
  animation: blink 1s step-end infinite;
}
/* Magenta “LED” Close Button */
#help-close {
  position: absolute; top: 0.4rem; right: 0.6rem;
  width: 0.8rem; height: 0.8rem;
  background: #f0f; border: none; border-radius: 2px;
  cursor: pointer; box-shadow: 0 0 4px #f0f;
}

/* — Usage & Commands — */
.term-body {
  padding: 0.8rem 1rem; margin: 0;
}
.commands-container {
  max-height: calc(60vh - 5rem);
  overflow-y: auto;
}
.commands-container::-webkit-scrollbar {
  width: 6px;
}
.commands-container::-webkit-scrollbar-thumb {
  background: #0f0;
}
.commands-table {
  width: 100%; border-spacing: 0;
  font-family: 'JetBrains Mono', monospace;
}
.commands-table td {
  padding: 0.2rem 0.5rem;
}
.commands-table .cmd-col {
  width: 12ch; color: #0ff; cursor: pointer;
}
.commands-table .cmd-col:hover {
  text-decoration: underline;
}
.commands-table .desc-col {
  color: #0f0;
}

/* — Prompt Line — */
.prompt-line {
  display: flex; align-items: center;
  padding: 0.2rem 1rem;
  border-top: 1px solid rgba(0,255,0,0.3);
}
.prompt-symbol {
  color: #0f0; margin-right: 0.5rem;
  font-family: 'JetBrains Mono', monospace;
}
.prompt-line .cmd-input {
  flex: 1;
  background: transparent; border: none;
  border-bottom: 1px solid #0f0;
  color: #0f0; font-family: inherit;
  font-size: 1rem; padding: 0.2rem 0;
  outline: none;
}

/* — Status Bar — */
.term-status {
  background: #010; border-top: 1px solid rgba(0,255,0,0.3);
  padding: 0.3rem 1rem; text-align: center;
  font-size: 0.8rem; color: #0f0;
}

/* — Animations — */
@keyframes flicker {
  0%   { filter: brightness(1); }
  50%  { filter: brightness(0.95); }
  100% { filter: brightness(1); }
}
@keyframes blink {
  50% { opacity: 0; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c038a01 *//* Container & vertical line */
.cert-academy-timeline { position: relative; padding-left: 30px; }
.timeline-list {
  list-style: none;
  margin: 0; padding: 0;
  position: relative;
}
.timeline-list:before {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  left: 10px;
  width: 2px;
  background: #444;
}

/* Each item */
.timeline-item {
  position: relative;
  margin-bottom: 24px;
}

/* The circular marker */
.timeline-marker {
  position: absolute;
  left: 2px; top: 0;
  width: 16px; height: 16px;
  border-radius: 50%;
  border: 2px solid #FF00FF;  /* default accent */
  background: #111;           /* default bg */
}
/* Marker colors by status */
.timeline-item.completed   .timeline-marker { background: #00FF00; }
.timeline-item.in-progress .timeline-marker { background: #FF00FF; }
.timeline-item.planned     .timeline-marker { background: #888888; }

/* Content */
.timeline-content {
  margin-left: 30px;
  font-family: Inter, sans-serif;
  color: #EEEEEE;
}
.timeline-date {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  color: #FF00FF;
  font-size: 14px;
  margin-bottom: 4px;
}
.timeline-title {
  font-size: 16px;
}

/* Fallback “no certs” box */
.no-certs {
  font-family: 'JetBrains Mono', monospace;
  color: #00FFFF;
  background: #111111;
  border: 1px solid #333333;
  padding: 16px;
  border-radius: 8px;
  box-shadow: 0 0 8px #0ff2 inset;
}
/* container must be position:relative */
.neon-btn {
  position: relative;
  overflow: hidden;
  font-family: 'JetBrains Mono', monospace;
  border: 2px solid #00FFFF !important;
  background: transparent !important;
  color: #00FFFF !important;
}
/* background fill on hover */
.neon-btn::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 0;
  height: 100%;
  background: rgba(0,255,255,0.15);
  transition: width 0.3s ease;
  z-index: 0;
}
.neon-btn:hover::after {
  width: 100%;
}
/* ensure your text always sits above the fill */
.neon-btn .elementor-button-text {
  position: relative;
  z-index: 1;
  transition: color 0.3s ease;
}
/* optional: invert text color on hover for extra pop */
.neon-btn:hover .elementor-button-text {
  color: #111 !important;
}
/* 1) Parallax Container (behind everything) */
.parallax-scanlines {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
}

/* 2) Base styles for both layers */
.scanline-layer {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 200%; /* extra tall for movement */
  background-image: url('https://ctrlaltinfiltrate.com/wp-content/uploads/2025/06/ChatGPT-Image-Jun-10-2025-01_57_09-PM.png');
  background-repeat: repeat;
  background-size: cover;
  will-change: transform;     /* hints smooth animation */
}

/* 3) Slow-moving layer (further back) */
.scanline-layer.layer1 {
  opacity: 0.06;
  transform: translateY(calc(var(--scrollY, 0px) * 0.2));
}

/* 4) Fast-moving layer (closer to viewer) */
.scanline-layer.layer2 {
  opacity: 0.10;
  transform: translateY(calc(var(--scrollY, 0px) * 0.5));
}/* End custom CSS */