@font-face {
  font-family: 'Fixedsys';
  src: url('fixedsys.ttf') format('truetype');
}

* {
    font-family: 'Fixedsys', monospace;
}

body {
    background-color: black;
    color: green;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    margin: 0;
    text-align: center;
    padding: 20px 0;
}

.container {
    width: 95%;
    max-width: 800px;
    padding: 20px;
    margin-top: 60px;
}

h1 {
    font-size: 3em;
    margin-bottom: 1.5em;
    text-align: center;
}

@media (max-width: 480px) {
    body {
        padding: 10px 0;
    }
    
    .container {
        width: 90%;
        padding: 15px;
        margin-top: 30px;
    }
    
    h1 {
        font-size: 2.2em;
        margin-bottom: 1em;
    }
}

.cursor {
    display: inline-block;
    background-color: green;
    animation: blink 1s step-end infinite;
    /*vertical-align: middle; /* Align cursor with text */
}

@keyframes blink {
    0%, 100% {
        opacity: 1; /* Fully visible */
    }
    50% {
        opacity: 0; /* Invisible */
    }
}

h2 {
    font-size: 1.5em;
    margin-bottom: 2em;
}

@media (max-width: 480px) {
    h2 {
        font-size: 1.3em;
        margin-bottom: 1.5em;
    }
}

.portfolio {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 100%;
}

@media (max-width: 480px) {
    .portfolio {
        flex-direction: column;
        align-items: center;
    }
}

.portfolio-item {
    margin: 10px;
    width: calc(33.33% - 20px); /* Three items per row with margin */
    max-width: 250px;
    text-align: center;
}

/* Media query for tablets */
@media (max-width: 768px) {
    .portfolio-item {
        width: calc(50% - 20px); /* Two items per row on tablets */
    }
}

/* Media query for mobile devices */
@media (max-width: 480px) {
    .portfolio-item {
        width: 100%; /* Single column on mobile */
        max-width: 100%;
    }
}

.portfolio-item a {
    text-decoration: none;
    color: green;
    display: block;
}

.portfolio-item img {
    width: 100%; /* Make image fill the container */
    max-width: 150px; /* Maintain previous size limit */
    height: auto;
    border: none;
    transition: transform 0.2s;
}

@media (max-width: 480px) {
    .portfolio-item img {
        max-width: 120px; /* Slightly smaller on mobile */
    }
}

.portfolio-item img[src$="nanovm/nano.gif"] {
    max-width: 220px;
}

.portfolio-item img:hover {
    transform: scale(1.1);
}

.portfolio-item h3 {
    margin: 10px 0 5px;
    font-size: 1.2em;
}

.portfolio-item p {
    margin: 0;
    font-size: 0.9em;
}

.portfolio-item .under-construction {
    margin-top: 6px;
    font-size: 0.85em;
    color: red;
}

@media (max-width: 480px) {
    .portfolio-item h3 {
        font-size: 1.1em;
        margin: 8px 0 4px;
    }
    
    .portfolio-item p {
        font-size: 0.85em;
    }
}

img {
    border: none; /* Remove any border from images */
}

.under-construction {
    margin-top: 6px;
    font-size: 0.85em;
    color: red;
}

/* AskTheLady blob icon (scoped to that single portfolio item) */
.portfolio-item--askthelady .askthelady-blob {
    width: 100%;
    max-width: 150px;
    margin: 0 auto;
}

.askthelady-blob-svg {
    width: 100%;
    height: auto;
    display: block;
}

.askthelady-blob-shape {
    transform-origin: 50% 50%;
    animation: askthelady-blob-spin 22s linear infinite;
}

@keyframes askthelady-blob-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
