body {
    background: #2d2d2d;
    color: #F0EAD6;
    margin-left: 2.5em;

}
h1 {
    font-size: 5em;
    font-family: Montserrat, sans-serif;
    color: floralwhite;
    margin-bottom: 0.1em;
}


/*
Source - https://stackoverflow.com/a
Posted by vsync, modified by community. See post 'Timeline' for change history
Retrieved 2025-12-03, License - CC BY-SA 4.0
*/

body {
  min-height: 98vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

header {
  min-height: 50px;
}

footer {
  min-height: 50px;
  display: flex;
  align-items: left;
  font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  margin-top: 1em;
}
footer small {
    margin-right: 2em;
}

a {
    color: #F0EAD6;
}

nav {
    display: flex;
    flex-direction: column;
    margin-left: 2em;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

h2 {
    font-family: "Noto Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
}

.project-card {
    background-color:rgb(85, 85, 85);
    padding: 2em;
    border-radius: 1em;
    margin-right: 2em;
}
.noto-sans-normal {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

/* --------------------------------------------------- */
/*  Snippflow Status Indicators with Pulsing Animation */
/* --------------------------------------------------- */

.sf-indicator {
  --sf-indicator-size: 8px;
  --sf-indicator-green: #0bbf0b;
  --sf-indicator-red: #ff2a2a;
  --sf-indicator-orange: #ffa938;
}

.sf-indicator {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0;
}

.sf-indicator .status-dot {
  width: var(--sf-indicator-size);
  height: var(--sf-indicator-size);
  border-radius: 50%;
  position: relative;
}

.sf-indicator .status-dot::before,
.sf-indicator .status-dot::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: sf-indicator-pulse 2s infinite linear;
  opacity: 0.3;
}

.sf-indicator .status-dot::after {
  animation-delay: 2s;
}

@keyframes sf-indicator-pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(3);
    opacity: 0;
  }
}

.status-green { background-color: var(--sf-indicator-green); }
.status-red { background-color: var(--sf-indicator-red); }
.status-orange { background-color: var(--sf-indicator-orange); }

.status-text {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: bold;
}

.flex-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
}

.project-info-link {
    font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
    margin: 0;
    font-size: 2em;
}

img {
    max-width: 100%;
    height: auto;
}