body {
  margin: 0;
  background-color:#000033;
  /*background-image: url(background-image.jpg);
  background-size: cover;
  background-position: center;*/
}

.photofloat {float:left; width:32%;}

.headshot {width:100%; max-width:100%;}

.contactfloat {float:right; width:62%;}

p {
    display: block;
    -webkit-margin-before: 0em;
    -webkit-margin-after: 0em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    font-family: 'Roboto', sans-serif;
}

ul {font-family: 'Roboto', sans-serif;}

a {
  color: #000033;
}

.viewport {
  display: flex;
  width: 100vw;
  justify-content: center;
  align-items: center;
}

.text-box {
  height: auto;
  width: 65%;
  margin: 1vh;
  background-color: white;
  border-radius: 1vh;
  justify-content: center;
  align-items: center;
  border: 0.25vh solid #808080;
  padding:2rem;
}

.title {
  font-size: 4vh;
  text-align: left;
  font-family: 'Roboto', sans-serif;
  padding: 0 1vh 0vh 1vh;
}

.subtitle {
  font-size: 2vh;
  text-align: left;
  font-family: 'Roboto', sans-serif;
  padding: 0 1vh 1vh 1vh;
}

.footer {
  font-size: 1vh;
  text-align: center;
  font-family: 'Roboto', sans-serif;
  padding: 0 1vh 1vh 1vh;
  color: white;
  position: absolute;
  bottom: 0;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 840px) {
.photofloat {float:none; width:80%;}

.contactfloat {float:none; width:80%;}

.title {  font-size: 20pt;}

}