:root {
    --body-background-color: #051a15; /* Darker background */
    --text: #b0b0b0; /* Slightly dimmer text for less contrast */
    --text-strong: #e0e0e0; /* Dimmed strong text */
    --title-color-bright: lawngreen;
    --title-color: #0e9a59; /* Even darker green for H1 */
    --subtitle-color: #155d3e; /* Darker green for subtitles */
    --background: #051a15; /* Matching body background */
    --scheme-main: #051a15; /* Matching body background */
    --scheme-main-bis: #0c2b23; /* Darker scheme */
    --scheme-main-ter: #0a3c2f; /* Darker tertiary scheme */
    --link: #2980b9; /* Darker blue for links */
    --link-hover: #3498db; /* Original blue for link hover */
    --code-background: #000000; /* Darker code background */
    --code-text: #00b277; /* Darker, more muted green for code text */
    --font-family: 'LatoWeb', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;    
}

@font-face {
    font-family: 'LatoWeb';
    src: url('fonts/Lato/fonts/Lato-Regular.eot'); /* IE9 Compat Modes */
    src: url('fonts/Lato/fonts/Lato-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('fonts/Lato/fonts/Lato-Regular.woff2') format('woff2'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Regular.woff') format('woff'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Regular.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

@font-face {
    font-family: 'LatoWebBlack';
    src: url('fonts/Lato/fonts/Lato-Black.eot'); /* IE9 Compat Modes */
    src: url('fonts/Lato/fonts/Lato-Black.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('fonts/Lato/fonts/Lato-Black.woff2') format('woff2'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Black.woff') format('woff'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Black.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

@font-face {
    font-family: 'LatoWebBold';
    src: url('fonts/Lato/fonts/Lato-Bold.eot'); /* IE9 Compat Modes */
    src: url('fonts/Lato/fonts/Lato-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('fonts/Lato/fonts/Lato-Bold.woff2') format('woff2'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Bold.woff') format('woff'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Bold.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

@font-face {
    font-family: 'LatoWebHairline';
    src: url('fonts/Lato/fonts/Lato-Hairline.eot'); /* IE9 Compat Modes */
    src: url('fonts/Lato/fonts/Lato-Hairline.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('fonts/Lato/fonts/Lato-Hairline.woff2') format('woff2'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Hairline.woff') format('woff'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Hairline.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

@font-face {
    font-family: 'LatoWebHeavy';
    src: url('fonts/Lato/fonts/Lato-Heavy.eot'); /* IE9 Compat Modes */
    src: url('fonts/Lato/fonts/Lato-Heavy.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('fonts/Lato/fonts/Lato-Heavy.woff2') format('woff2'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Heavy.woff') format('woff'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Heavy.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

@font-face {
    font-family: 'LatoWebLight';
    src: url('fonts/Lato/fonts/Lato-Light.eot'); /* IE9 Compat Modes */
    src: url('fonts/Lato/fonts/Lato-Light.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('fonts/Lato/fonts/Lato-Light.woff2') format('woff2'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Light.woff') format('woff'), /* Modern Browsers */
         url('fonts/Lato/fonts/Lato-Light.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}

body {
    background-color: var(--body-background-color);
    color: var(--text);
    font-family: var(--font-family);    
}

.title, .subtitle {
    color: var(--title-color);
}

h1.title {
    color: var(--title-color-bright);
}

.navbar, .footer {
    background-color: var(--scheme-main-bis);
}

.navbar-item, .navbar-link {
    color: var(--text);
}

.navbar-item:hover, .navbar-link:hover {
    background-color: var(--scheme-main-ter) !important;
    color: var(--text-strong);
}

.hero {
    background-color: var(--scheme-main-bis);
}

.box {
    background-color: var(--scheme-main);
    color: var(--text);
}

.gen-link, a {
    color: var(--link);
}

.gen-link:hover, a:hover {
    color: var(--link-hover);
}

.button.is-light {
    background-color: var(--scheme-main-ter);
    color: var(--text);
}

.button.is-light:hover {
    background-color: var(--scheme-main-bis);
    color: var(--text-strong);
}

.dynamic-text {
    display: inline-block;
    position: relative;
    overflow: hidden;
    height: 1.2em;
    min-width: 200px; /* Adjust based on your longest word */
    vertical-align: baseline; /* Align with the text baseline */
}

.dynamic-text.slide-out {
    animation: slide-out 0.5s forwards;
}

.dynamic-text.slide-in {
    animation: slide-in 0.5s forwards;
}

@keyframes slide-in {
    0% { transform: translateY(100%); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}

@keyframes slide-out {
    0% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(-100%); opacity: 0; }
}


pre, code {
    background-color: var(--code-background) !important;
    color: var(--code-text);
    border-radius: 4px;
    padding: 0.2em 0.4em;
}

pre {
    padding: 1em;
    overflow-x: auto;
}

pre code {
    background-color: transparent;
    padding: 0;
}
