.invite {
  font-size: 1.2rem;
  text-align: justify;
}

.invite .flex-column {
  align-items: flex-start;
}

.invite .flex-row {
  align-items: center;
}

.invite > * {
  margin: 5%;
}

.invite {
  color: var(--wedding-color-black);
}

.invite .em {
  color: var(--wedding-color-grey-dark);
}

.invite .hr {
  width: 50%;
  margin: 10px;
  display: block;
  align-self: center;
}

.invite button {
  
  /*padding: 2.5vw;*/
  
  font-size: 1.2em;

  border: outset 2px var(--wedding-color-grey-light);
  border-radius: 2px;
  
  background-color: var(--wedding-color-grey-light);
  
  color: var(--wedding-color-black);
  
  font-family: var(--wedding-font-heading);
}

.invite button:focus {
  
  border-style: inset;
  outline: none;
}

.invite select {
  
  border-style: solid;
  border-width: 1vw;
  border-radius: 1.25vw;
  border-color: var(--wedding-color-green);
  
  padding: 1.25vw;
  
  background-color: var(--wedding-color-white);
  
  color: var(--wedding-color-black);
}

.invite select option {
  
  border-radius: 0.675vw;
  
  margin: 1.25vw;
  padding: 1.25vw;
  
  font-size: 2em;
  
  color: var(--wedding-color-black);
}

.invite input[type="radio"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  border-radius: 50%;
  border-width: 25%;
  border-style: solid;
  background-color: var(--wedding-color-grey-light);
  border-color: var(--wedding-color-grey-dark);
}

.invite input[type="radio"]:checked {
  border-color: var(--wedding-color-green);
  background-color: var(--wedding-color-grey-dark);
}

.invite div.pending input[type="radio"]:checked {
  border-color: var(--wedding-color-grey-light);
}

.invite div.error input[type="radio"]:checked {
  border-color: var(--wedding-color-rose);
  background-color: var(--wedding-color-grey-light);
}