:root {
    --mft-brand-proper: #EB5B00;
    --mft-brand-off: #c84e02;
    --mft-terminal-proper: #ffbf00;
    --mft-white-proper: #ffffff;
    --mft-white-off: #F1F1F1;
    --mft-black-proper: #030303;
    --mft-black-off: #1e1e1e;
}

html,
body {
    background-color: var(--mft-white-off);
    color: var(--mft-black-proper);
    font-family: Helvetica, sans-serif;
    height: 100%;
    margin: 0;
    overflow: hidden;
    overflow-y: scroll;
}

    .mft-full-site {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
    }

        .mft-header-container {
            height: 5%;
        }

            .mft-header-contents {
                padding: 20px 10px;
                margin: 10px;
                overflow: hidden;
                display: flex;
                justify-content: space-between;
                align-items: center;
                border-bottom: 2px solid var(--mft-black-off);
            }

                .mft-header-right a {
                    text-align: center;
                    padding: 12px;
                    text-decoration: none;
                    color: var(--mft-black-proper);
                    border: 1px solid var(--mft-white-off)
                }

                .mft-header-right a:hover {
                    text-align: center;
                    padding: 12px;
                    text-decoration: none;
                    background: var(--mft-black-off);
                    color: var(--mft-white-proper);
                    border: 1px solid var(--mft-black-proper);
                }

                .mft-logo {
                    height: 5%;
                    width: 5%;
                    filter: invert(100%);
                }

            /* END OF MFT-HEADER-CONTENTS */

        /* END OF MFT-HEADER-CONTAINER */

        .mft-content-container {
            flex: 1 0 auto; /* This makes content grow and push footer down */
            padding: 10px;
        }

        .mft-footer-container {
            flex-shrink: 0;
            padding: 10px;
        }

            .mft-footer {
                color: var(--mft-black-proper);
                padding: 0;
                border-top: 2px solid var(--mft-black-proper);
                font-size: 1rem;
            }

                .mft-footer-top {
                    display: flex;
                    justify-content: space-between;
                    align-items: flex-start;
                    padding: 24px 0 12px 0;
                    gap: 2rem;
                }

                    .mft-footer-table {
                        flex: 1 1 0;
                        padding: 0 1rem;
                    }

                    .mft-footer-table a {
                        text-decoration: none;
                        color: var(--mft-black-proper);
                        border-bottom: 1px solid var(--mft-white-off);
                    }

                    .mft-footer-table a:hover {
                        text-decoration: none;
                        color: var(--mft-black-proper);
                        border-bottom: 1px solid var(--mft-brand-off);
                    }

                    .mft-footer-table table {
                        width: 100%;
                        border-collapse: collapse;
                        background: transparent;
                        color: var(--mft-black-proper);
                    }

                    .mft-footer-table th {
                        text-align: left;
                        font-size: 1.1rem;
                        padding-bottom: 0.5rem;
                        color: var(--mft-black-proper);
                        border-bottom: 1px solid var(--mft-black-proper);
                    }

                    .mft-footer-table td {
                        padding: 0.3rem 0;
                        border: none;
                    }

                /* END OF MFT-FOOTER-TOP */
                    
                .mft-footer-bottom {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    padding: 10px;
                    border-top: 1px solid var(--mft-black-off);
                    gap: 2rem;
                }

                    .mft-footer-left {
                        flex: 1 1 0;
                        text-align: left;
                        font-size: 0.95rem;
                        color: var(--mft-black-off);
                    }

                    .mft-footer-middle {
                        flex: 1 1 0;
                        text-align: center;
                    }

                        .mft-license {
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            gap: 0.3rem;
                        }

                        .mft-license-img {
                            width: 15%;
                            height: auto;
                            margin-top: 0.2rem;
                            border-radius: 4px;
                            background: var(--mft-white-off);
                            padding: 5px;
                        }

                        .mft-license svg {
                            height: 1rem;
                            width: 1rem;
                            filter: invert(100%);
                        }
                        .mft-license a {
                            border-bottom: 1px solid var(--mft-black-off); 
                            text-decoration: none;
                            color: var(--mft-black-off);
                        }

                        .mft-license a:hover {
                            border-bottom: 1px solid var(--mft-brand-proper); 
                            text-decoration: none;
                            color: var(--mft-brand-proper);
                        }

                    /* END OF MFT-FOOTER-MIDDLE */

                    .mft-footer-right {
                        flex: 1 1 0;
                        text-align: right;
                        display: flex;
                        justify-content: flex-end;
                        gap: 1rem;
                    }

                        .mft-social-icon {
                            display: inline-block;
                            color: var(--mft-black-proper);
                            transition: color 0.2s;
                            vertical-align: middle;
                        }

                        .mft-social-icon:hover {
                            color: var(--mft-black-proper);
                        }

                    /* END OF MFT-FOOTER-RIGHT */

                /* END OF MFT-FOOTER-BOTTOM */

            /* END OF MFT-FOOTER */

        /* END OF FOOTER-CONTAINER */

    /* END OF MFT-FULL-SITE */

/* END OF INDEX,HTML */


/* Responsive adjustments */
@media (max-width: 900px) {
    .mft-footer-top {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }
    .mft-footer-bottom {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        text-align: center;
    }
    .mft-footer-left,
    .mft-footer-middle,
    .mft-footer-right {
        text-align: center;
        justify-content: center;
    }
}

@keyframes blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

.mft-blinking-cursor {
  font-family: 'Fira Mono', 'Consolas', monospace;
  animation: blink 1s steps(1) infinite;
}