/* ***************************
   * Link Styles
   *************************** */
a {
    color: var(--text-color);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* ***************************
   * Main Flex Alignment
   *************************** */
body {
    /* Font variables */
    --font-size-title: 5rem;

    height: 100vh;
}

div#content {
    align-items: center;
    display: flex;
    height: 100%;
    flex-flow: column nowrap;
    justify-content: center;
}

div#content > .item {
    flex: 0 1 auto;
}

/* ***************************
   * Content: Main Title
   *************************** */
div#content > span.title {
    --corner-spacing: calc(var(--font-size-title) / 2);

    font-family: "JetBrains Mono", monospace, ui-monospace;
    font-size: var(--font-size-title);

    border: 8px solid var(--text-color); 
    padding: var(--spacing-large);
    mask: 
        conic-gradient(var(--bg-color) 0 0) content-box,
        conic-gradient(at var(--corner-spacing) var(--corner-spacing), #0000 75%, var(--bg-color) 0) 
        0 0/calc(100% - var(--corner-spacing)) calc(100% - var(--corner-spacing));
}

/* ***************************
   * Content: Menu Items
   *************************** */
div#content > div.menu {
    max-width: 448px;
    width: 100%;
}

div#content > div.menu > div {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

/* ***************************
   * Content: Separator
   *************************** */
div#content > .separator:before {
    content: "----";
}

div#content > .separator {
    font-size: 1.8rem;
}

/* ***************************
   * Helpers
   *************************** */
.margin-bottom-large {
    margin-bottom: var(--spacing-large) !important;
}

.margin-bottom-standard {
    margin-bottom: var(--spacing-standard) !important;
}

.margin-top-large {
    margin-top: var(--spacing-large) !important;
}

.margin-top-standard {
    margin-top: var(--spacing-standard) !important;
}

/* Hacky CSS to get centered item actually centered */
.item-greedy {
    flex: 1 !important;
}

.text-align-left {
    text-align: left;
}

.text-align-right {
    text-align: right;
}