
body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         flex;
  flex-direction: column;
  height: 100%;
}

html {
  height: 100%;
}


.content {
  flex: 1 0 auto;
}

.base-font {
  font-family: 'Montserrat', cursive;
  font-weight: 200;
  color: #333333;
}

.base-font-bold {
  font-family: 'Montserrat', cursive;
  font-weight: 300;
}

.page-header {
  font-size:60px;
  font-family: 'Great Vibes', cursive;
  margin-top:30px;
  margin-bottom:20px;
}

.page-container {
  padding-top:50px;
  max-width: 970px;
}

.padded-row {
  margin-top:20px;
}

.half-width-image {
  max-width: 50%;
  margin: 0 auto;
}

.half-height-image {
  max-height: 100px;
}

.main-header-text {
  font-size: 10vw;
  font-family: 'Great Vibes', cursive;
  text-shadow:
  1px 1px 1px #333333,
  -1px 1px 1px #333333,
  1px -1px 1px #333333,
  -1px -1px 1px #333333;
}

.wedding-text {
  font-family: 'Great Vibes', cursive;
}

.venue-date-text {
  font-size:3vw;
  margin-top:24px;
  text-shadow:
  1px 1px 1px #333333,
  -1px 1px 1px #333333,
  1px -1px 1px #333333,
  -1px -1px 1px #333333;
}

.hr-bar {
  margin-top:40px;
}

.responsive-map {
  position: relative;
  overflow: hidden;
  padding-bottom: 100%;
  margin-bottom: 50px;
  margin-top: 50px;
}

.wedding-map {
  height:300px;
  margin-bottom: 50px;
  margin-top: 50px;
}


.vertical-aligned-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}

.login-box {
  padding-top:10px;
  padding-bottom:10px;
}

.login-text {
  padding-right: 10px;
}

.rsvp-box {
  padding-top:10px;
  padding-bottom:10px;
  padding-left:5px;
  padding-right:5px;
  width:100px;
  text-align:center;
}

.login-button {
  margin-top:10px;
  margin-bottom:10px;
  padding-top:10px;
  padding-bottom:10px;
  padding-left:20px;
  padding-right:20px;
}

.account-create-text {
  width: 50%;
}

.rsvp-text {
  padding-bottom: 20px;
}

.footer {
  padding-top: 10px;
  padding-bottom: 5px;
  background-color: #f5f5f5;
}

.footer-container {
  padding-top: 50px;
}

.footer-credit {
  padding-left: 20px;
}

.footer-help {
  padding-right: 20px;
  text-align: right;
}

.flex-display {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         flex;
  flex-wrap: wrap;
}

.flex-col {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         flex;
  flex-direction: column;
}

.contact-fill {
  flex-grow: 1;
}

.contact-item {
  padding-right: 15px;
}

.nowrap {
  white-space: nowrap;
}

#id_rsvp-comment {
  width: 80%;
  height: 100px;
}

.hotel-td {
    padding: 5px 0px 0px 20px;
}
