.header{
    position: sticky;
    background-color: transparent;
    display: grid;
    grid-template-areas: "l r";
    grid-template-columns: 30% 70%;
    top: 0;
    z-index: 1;
}

.header-button{
    color: white;
    font-family: inter;
    font-size: 2vh;
    cursor: pointer;
    padding-top: 2vh;
    padding-bottom: 2vh;
    text-align: center;
    text-decoration: none;
    float: left;
    display: block;
    border: none;
    background-color: transparent;
    min-width: 15vh;
    min-height: 0.5vh;
    z-index: 2;
    border-radius: 5px;
}

.header-button:hover{
    color: gray;
    background-color: rgb(44, 44, 44);
}

.header-button:active{
    background-color: white;
    color: black;
}

.large-graphic-button{
    border: gray solid 1px;
    border-radius: 20px;
    box-shadow: 10px 10px 10px black;
    color: white;
    transition-duration: 500ms;
    background-color: rgb(17, 17, 17);
    cursor: pointer;
    text-decoration: none;
    font-family: Arial, Helvetica, sans-serif;
}

.large-graphic-button:hover{
    border: 1px solid white;
}

.button-contact{
    color: white;
    font-family: inter;
    background-color: transparent;
    text-align: center;
    cursor: pointer;
    transition-duration: 500ms;
    text-decoration: none;
    border: none;
    text-decoration: underline 3px white;
    font-size: 3vh;
    overflow: hidden;
    transition: color 0.3s ease;
    position: relative;
    border-radius: 5px;
}

.button-contact:hover{
    background-color: rgb(44, 44, 44);
}

.button{
    color: white;
    font-family: inter;
    text-align: center;
    cursor: pointer;
    transition-duration: 500ms;
    text-decoration: none;
    border: 1px solid white;
    background-color: black;
    font-size: 3vh;
    overflow: hidden;
    transition: color 0.3s ease;
    position: relative;
    border-radius: 999px;
}

.button:active{
    background-color: white;
    color: black;
}

.button:hover{
    background-color: black;
    color: black;
}

.button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: #9004fc; /* Viridian or any hover color */
  z-index: 0;
  transition: left 0.4s ease;
}

.button:hover::before {
  left: 0;
}

.button span {
  position: relative;
  z-index: 1;
}


.progress-bar{
    border-radius: 20px;
    border: solid gray 1px;
}

.legend{
    width: 15px;
    height: 15px;
    border: solid white 1px;
}

.legend-text{
    color: lightgray;
    font-family: Arial, Helvetica, sans-serif;
    display: inline;
    position: relative;
    left: 35px;
}

.project-card{
    border: 1px solid white;
    border-radius: 5px;
    padding: 1vw;
    margin: 5px;
    background-color: rgb(17, 17, 17);
    text-align: center;
    color: white;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
}

.logo{
    display: block;
}

.blinking-cursor {
  display: inline-block;
  width: 10px;
  background-color: white;
  animation: blink 1s step-end infinite;
  vertical-align: bottom;
}

@keyframes blink {
  50% { opacity: 0; }
}

.title-container{
    color: rgb(0, 0, 0); 
    z-index: 2; 
    margin-top: 5vw; 
    font-family: inter; 
    font-size: 8vh; 
    margin-left: 1vw; 
    letter-spacing: 2px;
    display: flex; 
    flex-direction: row;
}

@media(max-width: 650px){
    .title-container{
        flex-direction: column;
    }

    .logo{
        display: none;
    }

    .header{
        position: relative;
        margin: 0;
    }
}

.trending-card{
    text-align: left;
    font-family: inter;
    font-size: 3vh;
    padding: 8vh;
    letter-spacing: 2px;
    background: gray;
    min-width: 20vh;
    max-width: 40vh;
    color: whitesmoke;
    border-radius: 10px;
    margin-top: 2vh;
    border-bottom: black 1px solid;
    border-top: gray 1px solid;
}

.gradient-text{
    background: linear-gradient(to top, rgb(10, 10, 10), rgb(82, 82, 82));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.dropdown-container {
  position: relative;
}

.dropdown {
  color: white;
  font-family: inter;
  font-size: 2vh;
  cursor: pointer;
  padding: 2vh 0;
  text-align: center;
  text-decoration: none;
  border: none;
  background-color: transparent;
  min-width: 15vh;
  overflow: visible;
  z-index: 10;
  border-radius: 5px;
}

.dropdown:hover{
    color: gray;
    background-color: rgb(44, 44, 44);
}

.dropdown-content {
  display: none;
  position: absolute;
  font-size: 2.5vh;
  top: 100%;
  left: 0;
  color: white;
  background-color: transparent;
  box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
  z-index: 100;
  overflow: visible;
  font-family: inter;
  transition-duration: 500ms;
}

.dropdown-content-button{
    background-color: black;
    color: white;
    border: none;
    font-family: inter;
    font-size: 2.5vh;
    width: 100%;
    text-align: left;
}

.dropdown-content-button:hover{
    background-color: rgb(44, 44, 44);
    cursor: pointer;
}

.dropdown-container:hover .dropdown-content {
  display: block;
}

@media(max-width: 600px) {
    .header-button{
        min-width: 10vh;
        font-size: 1.5vh;
    }

    .dropdown{
        min-width: 10vh;
        font-size: 1.5vh;
    }
}

.arrow {
  border: solid white;
  border-width: 0 3px 3px 0;
  display: inline-block;
  padding: 3px;
}

.down {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.right {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.motd{
    text-align: left;
    margin-top: 5vh;
    background-color: black;
    border: 1px solid gray;
    color: white;
    border-radius: 999px;
    padding: 5px;
    font-family: plex;
}

.green-dot {
    display: inline-block;
    width: 0.5vw;
    height: 0.5vw;
    background-color: #00ff00; /* or use limegreen, or custom */
    border-radius: 50%; /* makes it a circle */
    margin-right: 5px;
}

@media(max-width: 600px){
    .green-dot{
        display: none;
    }

    .motd{
        text-align: center;
    }
}

.video{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 20%;
    z-index: -1;
}

.photo-card{
    border: 3vw solid whitesmoke;
    background-color: whitesmoke;
    display: block;
}

.story{
    font-size: 2vh; 
    font-family: plex; 
    color: white;
    margin-left: 2vh; 
    width: 60vw; 
    min-width: 60vw; 
}

@media(max-width: 600px){
    .story{
        width: 90vw;
    }
}

.footer{
    color: whitesmoke;
    border-top: 1px solid white;
    background-color: black;
    font-family: inter;
    padding: 1vw;
    display: grid;
    grid-template-areas: "l r";
}

.project-card{
    text-align: left;
    border-top: 1px solid gray;
    border-right: 1px solid gray;
    border-bottom: none;
    border-left: none;
    background: linear-gradient(to top right, rgb(10, 10, 10), rgb(53, 53, 53));
    min-width: 50vw;
    padding: 1.5vh;
    font-family: inter;
    display: grid;
    grid-template-areas: 'l r';
    grid-template-columns: 70% 30%;
}

@media(max-width: 600px){
    .project-card{
        min-width: 90vw;
    }
}

.viewer-title{
    font-family: inter;
    font-size: 5vh;
    color: whitesmoke;
}

.languages-grid{
    display: grid; 
    row-gap: 5vh; 
    column-gap: 10vw; 
    grid-template-columns: auto auto auto;
}

@media(max-width: 600px) {
    .languages-grid{
        column-gap: 20vw;
    }
}

.statistics-text{
    font-size: 7vh;
    font-family: plex;
    color: whitesmoke;
    text-align: center;
}

.gallery{
    z-index: 2; 
    position: absolute; 
    width: 100vw; 
    height: 100vh; 
    background-color: rgba(0, 0, 0, 0.527); 
    border: solid rgb(155, 155, 155) 1px; 
    border-radius: 5px;
    display: grid;
    grid-template-areas: "l c r";
    grid-template-columns: 10% 80% 10%;
}

.gallery-button{
    background-color: rgba(0, 0, 0, 0.651);
    border: solid 1px white;
    height: 8vw;
    width: 5vw;
    margin-top: auto;
    margin-bottom: auto;
    display: block;
}

.gallery-button:hover{
    background-color: rgba(58, 58, 58, 0.651);
}

.image{
    display: block;
    margin: auto;
    grid-area: "c";
    max-width: 50vw;
    max-height: auto;
}

.gallery-exit{
    background-color: rgba(0, 0, 0, 0.651);
    border: solid 1px white;
    height: 8vw;
    width: auto;
    margin-top: 0;
    margin-bottom: auto;
    display: block;
}

.gallery-exit:hover{
    background-color: rgba(58, 58, 58, 0.651);
}