@font-face {
  font-family: 'HackTheFlag';
  src: url('HackTheFlag-Regular.otf') format('opentype');
}

/* Dark mode (default) */
:root {
    --bs-body-bg: #121212;
    --bs-body-color-rgb: 224, 224, 224;
    --bs-body-color: #e0e0e0;
    --bs-primary: #79282c;
    --bs-link-color: #dc3545;
    --bs-link-hover-color: #79282c;
    --bs-dark: #1e1e1e;
    --bs-border-color: #333;
}

*{
    box-sizing: border-box;
    margin: 0;
}
.htf-font{
    font-family: "HackTheFlag", "Share Tech Mono", monospace;
}
.body{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    flex-direction: column;
    background-color: black;
}
h1{
    color: white;
    margin-bottom: 15px;
}



@import url(https://fonts.googleapis.com/css?family=Share+Tech+Mono);
 .decode-text {
	 width: 100%;
	 font-size: 30px;
	 text-align: center;
}
 .space {
	 display: inline-block;
	 width: 10px;
}
.rolling-title {
  font-family: "HackTheFlag", "Share Tech Mono", monospace;

    font-size: 3em;
}
.h2{
  font-family: "HackTheFlag", "Share Tech Mono", monospace;

  font-size: 5em;
}
.h3{
  font-family: "HackTheFlag", "Share Tech Mono", monospace;

  font-size: 4em;
}
.h4{
  font-family: "HackTheFlag", "Share Tech Mono", monospace;

  font-size: 3em;
}
 .text-animation {
	 display: inline-block;
	 position: relative;
	 color: transparent;
	 text-transform: uppercase;
}
 .text-animation:before {
	 content: "";
	 color: white;
	 position: absolute;
	 top: 50%;
	 left: 50%;
	 background: white;
	 width: 0;
	 height: 1.2em;
	 -webkit-transform: translate(-50%, -55%);
	 -ms-transform: translate(-50%, -55%);
	 transform: translate(-50%, -55%);
}
 .text-animation.state-1:before {
	 width: 1px;
}
 .text-animation.state-2:before {
	 width: 0.5em;
}
 .text-animation.state-3 {
	 color: white;
}
 .text-animation.state-3:before {
	 width: 0;
}
 #refresh {
	 position: absolute;
	 top: 20px;
	 left: 20px;
	 cursor: pointer;
}



.animation-wrapper {
    width: 35%;
    padding-bottom: 20%;
  }

  .sphere-animation {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 580px;
    height: 580px;
    margin: -290px 0 0 -290px;
  }

  .sphere path {
    fill: url(#sphereGradient);
    backface-visibility: hidden;
  }

  @media (min-width: 500px) {
    .sphere path {
      stroke-width: .4px;
    }
  }
  @media screen and (max-width: 500px) {
    .space {
      display: block;
    }
    .animation-wrapper {
      width: 90%;
      padding-bottom: 40%;
    }
    .nr-hide{
        display: none;
    }
  }


.dark-content{
  background-color: black;
  position: relative;
  min-height: 100vh;
  width: 100%;
}

.light-content{
  background-color: #161b22;
  color: #d2d7df;
  position: relative;
  width: 100%;
}

.wave{
  position: relative;
  height: 200px;
}

@media screen and (max-width: 500px){
  .wave{
    height: 100px;
  }
}

.wave img{
  position: absolute;
  max-width: 100%;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}



::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #000;
}
::-webkit-scrollbar-thumb {
  background: #0F0F0F;
  border-radius: 2px;
}

.text-content{
  width: 60%;
  margin: 0 auto;
  z-index: 100000;
  font-size: 1em;
  overflow: hidden;
  font-family: 'Share Tech Mono', monospace;
}

.btn {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
    background-color: rgba(220, 53, 69, 0.1);
    border-radius: 10px;
    text-decoration: none;
    color: white;
    font-size: 1.2em;
}

blockquote {
    border-left: 4px solid var(--bs-primary);
    padding-left: 1rem;
    margin-left: 0;
    margin-bottom: 1.5rem;
    font-style: italic;
    color: rgba(var(--bs-body-color-rgb), 0.8);
}

.text-subtle {
    color: rgba(var(--bs-body-color-rgb), 0.8);
}

/* Styles for alternating content sections */
.content-section {
    position: relative;
    padding: 2rem 0 10rem 0;
    overflow: hidden;
}

.content-section .svg-icon {
    max-width: 300px;
    height: auto;
    opacity: 0.8;
}

.content-section.left-content .svg-icon {
    float: right;
    margin-left: 2rem;
}

.content-section.right-content .svg-icon {
    float: left;
    margin-right: 2rem;
}

.content-section .section-content {
    padding: 1rem;
}

.mention {
    background-color: rgba(220, 53, 69, 0.1);
    border-left: 4px solid var(--bs-primary);
    padding: 1rem;
    margin: 1.5rem 0;
    border-radius: 0.25rem;
}

@media (max-width: 768px) {
    .content-section .svg-icon {
        display: block;
        margin: 0 auto 1.5rem auto;
        float: none;
    }
    .text-content {
        width: 90%;
    }
}

.prevent-select {
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}