.vcenter-box {
  /* To align children vertically. */
  display: flex;
  align-items: center;
  justify-content: center;    
}

.bigfont {
  align-items: center;
}

#problem {
  flex: 1 70%;
}

#problem-line {
  float: right;
  flex: 1 1;
}

#result {
  display: inline-block;
  min-width: 30vmin;
  background-color: #D0D0D0;
}

/* Landscape */
@media screen and (orientation: landscape) {
  .bigfont {
    font-size: 12vw;
    line-height: 12vw;
    align-items: center;
  }

}

/* Portrait */
@media screen and (orientation: portrait) {
  .bigfont {
    font-size: 20vw;
    line-height: 20vw;
    align-items: center;
  }
}

