/* styles from www.govt.nz */
h1, h2, h3, h4, h5, h6 {
  font-family: "Fira-Bold", Helvetica, Arial, sans-serif;
  font-weight: bold; }
h1 {
  font-size: 1.62em;
  line-height: 1.85;
  margin: 0.5em 0 0.8em;
  padding: 0; }
h2 {
  border: none;
  margin: 0;
  padding: 0;
  margin: 36px 0 16px;
  font-size: 1.44em;
  line-height: 1.2; }
h3 {
  font-size: 1.167em;
  padding: 0;
  margin: 2em 0 1em 0;
  line-height: 1.2; }
h4 {
  font-size: 1em;
  margin-top: 22px; }
h5 {
  font-size: 0.9em; }
h6 {
  font-size: 0.8em; }
strong {
  font-family: "Fira-Bold", Helvetica, Arial, sans-serif;
  font-weight: bold; }
.inline-details {
  font-family: "Fira", Helvetica, Arial, sans-serif;
  font-weight: normal;
  color: #4C4C4C;
  font-size: 0.78em; }
p.page-description {
  font-family: "Fira", Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-size: 1.44em;
  padding: 0;
  margin: 0;
  margin-top: 36px; }
p.page-description a {
  text-decoration: underline; }
p.page-description a:hover {
  color: #1A4D80; }
.uppercase {
  text-transform: uppercase; }
.lowercase {
  text-transform: lowercase; }
a {
  color: #369; }
a:hover {
  color: #1A4D80; }
a:visited {
  color: #936; }
a:visited:hover {
  color: #6a2347; }
a.external {
  color: #369; }
a.external .external-text {
  content: "Opens in new tab";
  display: inline-block;
  font-size: 1px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 0; }
a.external:visited {
  color: #936; }
a.external:visited:hover {
  color: #6a2347; }
a.external::after {
  content: "\f08e";
  font-family: FontAwesome;
  margin-left: 0.33em;
  display: inline-block; }

/* header and footer text */
header h1 {
  font-size: 1.5em; }
  header h1 a, header h1 a:visited {
    color: white; }
header .logo img {
  width: 240px; }

footer {
  padding-bottom: 1.33rem;
  padding-top: 1.33rem; }
  footer a, footer a:visited {
    color: white;
    text-decoration: underline; }
  footer p {
    font-size: 0.9em;
    margin-bottom: 0.5rem; }
  footer .container {
    overflow: hidden; }
  footer .left {
    float: left;
    width: 67%; }
    footer .left img {
      width: 13em; }
  footer .left, footer .right {
    border-top: 2px solid white;
    padding: 1em 0 0;
    margin-top: 0.67em; }
  footer .right {
    float: right;
    width: 25%; }

@media (max-width: 767px) {
  footer .left {
    width: 60%; }
  footer .right {
    width: 30%; } }
input:required {
  box-shadow: none; }
p.h2 {
  font-size: 1.6em;
  line-height: 1.2;
  margin: 3rem 0 2.33rem; }

/* page max width */
.container {
  max-width: 960px; }

/* validation block */
#validation-block ul {
  list-style: none;
  padding: 0; }
#validation-block li {
  color: #369;
  cursor: pointer;
  text-decoration: underline; }

#live-area {
  color: white;
  display: block;
  font-size: 1px;
  height: 0;
  overflow: hidden;
  width: 0; }

/* form field components */
.asterisk {
  color: #D34322;
  font-family: Fira, sans-serif;
  font-weight: normal;
  margin-left: 0.1em; }
input[type='text'], .typeahead input {
  color: black;
  font-family: Fira, Arial, Helvetica, sans-serif;
  margin-top: 0.2rem;
  padding: 0.65rem 0.75rem 0.5rem;
  width: 100%; }
dia-textfield p {
  margin-bottom: 0; }
app-typeahead-celebrant .form-group p {
  margin-bottom: 0; }
app-typeahead-registries .form-group p {
  line-height: 1.2em;
  margin: 0.3rem 0; }
app-typeahead-registries label {
  margin-top: 0.5rem; }
input#contactNumber, input#alternativePhone {
  max-width: 10em; }
input#contactEmail, input#confirmEmail {
  max-width: 15em; }

textarea {
  border-radius: 4px;
  color: black !important;
  font-family: Fira, Arial, Helvetica, sans-serif;
  height: 5.8em;
  padding: 0.7rem 0.75rem;
  width: 100%; }

legend {
  font-family: Fira-Bold, sans-serif;
  font-weight: bold; }

dia-radio-group {
  display: block; }
  dia-radio-group legend {
    font-size: 1em;
    margin-bottom: 0.33rem; }
  dia-radio-group .form-group p {
    margin-bottom: 0.5rem; }
  dia-radio-group .btn-group {
    display: inline-block;
    margin-bottom: 1.33rem;
    width: auto; }
  dia-radio-group .btn-group > .btn {
    border-color: black;
    width: auto; }
  dia-radio-group .btn-group.focused label {
    outline: none;
    box-shadow: #78aeda 0 0 2.5px;
    border-color: #78aeda;
    border-radius: 4px; }
  dia-radio-group label {
    line-height: 1em;
    padding: 0.75rem 1rem 0.65rem !important; }
  dia-radio-group .form-group > label {
    line-height: 2em;
    padding: 0.2em 0 0 !important; }
  dia-radio-group .alert:first-child {
    margin-top: 1rem; }

.indented-group > label {
  margin: 0.66em 0 0.5em; }
.form-group.indented-group {
  margin-bottom: 1.5em; }
.form-group p.indented-group-heading {
  margin-bottom: 0.66em; }

dia-dropdown .btn-outline-primary {
  border-radius: 3px;
  font-family: Fira, Arial, Helvetica, sans-serif;
  margin-top: 0.3rem !important;
  padding: 0.65rem 0.75rem 0.5rem !important; }
dia-dropdown button {
  border-color: black !important;
  padding-top: 0.15rem !important; }
dia-dropdown button.focused {
  outline: none;
  box-shadow: #78aeda 0 0 2.5px;
  border-color: #78aeda;
  border-radius: 4px; }
dia-dropdown .show > .dropdown-menu {
  max-height: 13.8em;
  overflow-y: scroll; }

dia-country ngb-typeahead-window.dropdown-menu {
  max-height: 20em;
  overflow-y: auto; }

label {
  font-family: 'Fira-Bold', Arial, Helvetica, sans-serif;
  font-weight: bold;
  line-height: 1.5em;
  margin-bottom: 0;
  position: relative;
  width: 100%; }
  label span {
    display: block;
    margin: 0; }
  label span.asterisk {
    display: inline;
    margin-left: 0.1em; }
  label span.input-wrapper {
    margin: 0; }
  label p {
    font-family: Fira, Arial, Helvetica, sans-serif !important;
    font-weight: normal !important; }
  label .alert {
    margin-bottom: 1em; }

.feedback textarea {
  border-radius: 3px;
  font: 1rem/1.25rem Fira, Arial, Helvetica, sans-serif;
  height: 5.8em;
  padding: 0.7rem 0.75rem; }
.feedback label {
  line-height: 2em;
  margin-top: 1em; }
.feedback #feedback {
  display: inline; }
  .feedback #feedback label {
    border-color: black;
    padding: 0.75rem 1rem 0.65rem;
    line-height: 1rem;
    margin-top: 0;
    width: auto; }
.feedback .characterCounter {
  margin-top: 0.33em; }
@media (max-width: 767px) {
  .feedback #feedback label {
    border-radius: 3px;
    display: block;
    margin-bottom: 0.33em !important;
    width: 50%; } }
.btn-group label {
  font-family: Fira, Arial, Helvetica, sans-serif !important;
  font-weight: normal !important; }
.form-group p {
  line-height: 1.5em;
  margin-bottom: 0.2em; }

.input-wrapper {
  display: inline-block;
  margin-bottom: 1rem;
  position: relative;
  width: 100%; }
  .input-wrapper input, .input-wrapper textarea {
    border: 1px solid #444;
    border-radius: 3px; }
  .input-wrapper.focused input, .input-wrapper.focused textarea {
    outline: none;
    box-shadow: #78aeda 0 0 2.5px;
    border-color: #78aeda;
    border-radius: 4px; }
  .input-wrapper.date {
    width: auto; }

.btn-group .btn.active:not(.disabled) {
  cursor: default; }
.btn-group .btn:not(.active), .btn-group .btn:not(.disabled) {
  cursor: pointer; }
.btn-primary {
  background-color: transparent;
  border-color: #444;
  color: black;
  font-family: 'Fira-Bold', Arial, Helvetica, sans-serif;
  font-weight: bold;
  padding: 0.7em 1em 0.6em;
  border-radius: 3px; }
.btn-primary:hover {
  background-color: #ebebeb; }
.btn {
  padding: 0 1rem; }
.dropdown-item {
  font-family: Fira, Arial, Helvetica, sans-serif; }
.dropdown-item.active, .dropdown-item:active {
  background-color: #369; }
app-landing-page .btn-primary, app-before-you-begin-page .btn-primary {
  background-color: white;
  color: black;
  line-height: 1em;
  padding: 0.75rem 0.75rem 0.65rem; }
app-landing-page .btn-primary:hover, app-before-you-begin-page .btn-primary:hover {
  background: #1A4D80;
  color: white; }

dia-datepicker {
  position: relative; }
  dia-datepicker small {
    display: block;
    margin: 0.5em 0 2em; }
  dia-datepicker .input-wrapper {
    width: auto;
    margin-bottom: 1.33rem; }
  dia-datepicker label span {
    margin-top: 0; }
  dia-datepicker ngb-datepicker {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 5px;
    box-shadow: #999 1px 2px 5px;
    padding: 8px 8px 5px;
    position: absolute;
    top: 110px;
    z-index: 3; }
  dia-datepicker ngb-datepicker.hidden {
    display: none !important; }
  dia-datepicker input[ngbdatepicker] {
    margin-right: 5px;
    line-height: 1em;
    padding: 0.55rem 0.75rem 0.45rem; }
  dia-datepicker input[ngbdatepicker].invalid {
    border-color: #D34322;
    margin-bottom: 0.5em; }
  dia-datepicker span.fa-calendar {
    cursor: pointer;
    font-size: 1.3em;
    margin-left: 0.33em; }
  dia-datepicker .ngb-dp-navigation-chevron {
    color: #369; }
  dia-datepicker .bg-primary.text-white.btn-secondary {
    background-color: #369 !important; }
  dia-datepicker .ngb-dp-weekday {
    color: #369 !important; }
  dia-datepicker .ngb-highlight {
    font-family: Fira, Arial, Helvetica, sans-serif; }

.indented .input-wrapper {
  margin-bottom: 0; }
.indented label {
  margin-top: 0.5rem; }

.form-group.typeahead {
  position: relative;
  margin-bottom: 8px; }
  .form-group.typeahead .form-control {
    width: 100%; }
  .form-group.typeahead .icon {
    position: absolute;
    top: 10px;
    right: 12px; }
  .form-group.typeahead .icon.searching::after {
    content: "\f110";
    color: #369; }
  .form-group.typeahead .icon.valid::after {
    content: "\f00c"; }
  .form-group.typeahead .icon.invalid::after {
    color: #D34322;
    content: "\f071"; }

.form-group p#helpMarriageDate {
  margin-bottom: 0.33em; }
.form-group {
  margin-bottom: 0; }
.alert, .address {
  border: none;
  border-left: 5px solid black;
  border-radius: 0;
  color: black;
  margin: 0.6em 0;
  padding: 0.66em 1em 1em; }
.alert.grey {
  background: #e8e8e8;
  border-left: 0.5rem solid #444;
  padding: 1.33rem 1rem; }
app-landing-page .alert {
  background: #e8e8e8;
  border-left: 8px solid #369;
  padding: 1.25em; }
.address, .alert {
  margin: 0 0 1.66em 0; }
.address-wrapper {
  position: relative; }
  .address-wrapper dia-address .input-wrapper {
    position: relative;
    padding-right: 9em; }
  .address-wrapper dia-address input {
    width: 100%; }
  .address-wrapper a {
    position: absolute;
    right: 0;
    bottom: 1.5em; }
app-partner-details .address {
  margin-bottom: 1em; }
.alert:first-child {
  margin-top: 0; }
.alert p:last-child {
  margin-bottom: 0; }
.alert:not(.alert-danger) {
  margin-bottom: 2em; }
.alert-danger {
  border-left: 0.625em solid #D34322;
  margin-top: 0;
  margin-bottom: 1em;
  padding-bottom: 0.7em; }
.alert-blue {
  border-color: #369 !important; }
.inline-error {
  color: #D34322;
  font-family: Fira-Bold, Arial, Helvetica, sans-serif;
  font-weight: bold;
  margin: 0.5em 0 0.2em; }
.inline-error::before {
  color: #D34322;
  content: "\f071";
  font-family: FontAwesome;
  margin-right: 0.33em; }
.error-wrapper {
  border-left: 0.625em solid #D34322 !important;
  padding-left: 1em; }
  .error-wrapper input {
    border-color: #D34322; }

/* placeholder */
::-webkit-input-placeholder {
  color: #757575;
  font-family: Fira, sans-serif; }
:-moz-placeholder, ::-moz-placeholder {
  color: #757575;
  font-family: Fira, sans-serif; }
:-ms-input-placeholder, ::-ms-input-placeholder {
  color: #757575;
  font-family: Fira, sans-serif; }
::placeholder, .placeholder {
  color: #757575 !important;
  font-family: Fira, sans-serif; }

/* indentation */
.indented {
  border-left: 5px solid black;
  padding-left: 1em; }

.search-result {
  border-bottom: 1px solid gray;
  border-left: 1px solid gray;
  border-right: 1px solid gray;
  width: 195px;
  height: 20px;
  padding: 5px;
  background-color: white;
  cursor: pointer; }

#search-box {
  width: 200px;
  height: 20px;
  border: 1px solid lightgray; }

/* summary page */
.card-header {
  margin-bottom: 1.4rem; }
dl.summary {
  padding: 0 1.2rem; }

/* next steps page */
app-confirmation-page a.btn-primary, app-confirmation-page button.btn-primary {
  background-color: #369;
  border: none;
  color: white;
  margin-bottom: 2rem; }
app-confirmation-page a.btn-primary:hover, app-confirmation-page button.btn-primary:hover {
  background-color: #1A4D80; }
app-confirmation-page p.large {
  font-size: 1.4rem;
  line-height: 1.4em; }
app-confirmation-page legend {
  font-size: 1em; }

#map-container {
  overflow: hidden; }
  #map-container img {
    border: 1px solid #333;
    float: left;
    margin-right: 1.66em;
    margin-bottom: 2em;
    max-width: 100%;
    width: 480px; }
  #map-container p {
    float: left;
    margin-bottom: 0.66em;
    max-width: 100%;
    width: 420px; }

@media (max-width: 991px) and (min-width: 768px) {
  #map-container img {
    width: 382px;
    height: auto;
    margin-right: 1em; }
  #map-container p {
    width: 290px; } }
@media (max-width: 767px) {
  img {
    margin-right: 0 !important; }

  p {
    width: auto !important; } }
/* popover */
h1 span.fa {
  font-size: 30px; }

#submit-overlay {
  position: fixed;
  background: white;
  height: 100%;
  opacity: 0.85;
  width: 100%;
  text-align: center;
  top: 0;
  z-index: 1; }
  #submit-overlay img {
    display: inline-block;
    margin-top: 37vh;
    width: 10em; }
  #submit-overlay p {
    font-weight: bold;
    margin-top: 0;
    width: 100%;
    text-align: center; }

h1 {
  margin-bottom: 3.33rem;
}

a {text-decoration: underline}

a.btn-primary {
    background-color: #369;
    border-color: #369;
    color: white;
    cursor: pointer;
    padding: 0 2.66rem;
    text-decoration: none;
}
a.btn-primary:visited {
  color: white;
}
a.btn-primary:hover {
    background-color: #1A4D80;
}
footer a.external:visited {
  color: #fff;
}
