:root {
  --buffer: max(5vw, 5vh);
}

div#link-flex {
  display: flex;
}

a.desktop-link {
  text-align: center;
}

/* HORIZONTAL FALLBACK */
@media only screen and (min-aspect-ratio: 1/1) {
  div#link-flex {
    min-height: calc(100vh - (3 * var(--buffer)));
    max-height: calc(100vh - (3 * var(--buffer)));

    min-width: calc(100vw - (3 * var(--buffer)));
    max-width: calc(100vw - (3 * var(--buffer)));
    
    padding: calc(1.5 * var(--buffer));

    flex-direction: row;
    flex-wrap: wrap;
    
    align-items: center;
    justify-content: center;
  }

  a.desktop-link {
    margin: var(--buffer);
  }
}

/* VERTICAL FALLBACK */
@media only screen and (max-aspect-ratio: 1/1) {
  div#link-flex {
    min-height: calc(100vh - (2 * var(--buffer)));
    max-height: calc(100vh - (2 * var(--buffer)));

    min-width: calc(100vw - (2 * var(--buffer)));
    max-width: calc(100vw - (2 * var(--buffer)));
    
    padding: var(--buffer);

    flex-direction: column;
    justify-content: space-evenly;
  }
}