/*
 * Legal Disclaimer
 *
 * These Fonts are licensed only for use on these domains and their subdomains:
 * sydneyoperahouse.com
 *
 * It is illegal to download or use them on other websites.
 *
 * While the @font-face statements below may be modified by the client, this
 * disclaimer may not be removed.
 *
 * Lineto.com, 2021
 */
@font-face {
  font-family: "LL Circular Pro Book Web";
  src: url("../fonts/lineto-circular-pro-book.eot");
  src: url("../fonts/lineto-circular-pro-book.eot?#iefix") format("embedded-opentype"), url("../fonts/lineto-circular-pro-book.woff2") format("woff2"), url("../fonts/lineto-circular-pro-book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "LL Circular Pro Bold Web";
  src: url("../fonts/lineto-circular-pro-bold.eot");
  src: url("../fonts/lineto-circular-pro-bold.eot?#iefix") format("embedded-opentype"), url("../fonts/lineto-circular-pro-bold.woff2") format("woff2"), url("../fonts/lineto-circular-pro-bold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "LL Circular Pro Black Web";
  src: url("../fonts/lineto-circular-pro-black.eot");
  src: url("../fonts/lineto-circular-pro-black.eot?#iefix") format("embedded-opentype"), url("../fonts/lineto-circular-pro-black.woff2") format("woff2"), url("../fonts/lineto-circular-pro-black.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/* Scaffolding */
html,
body,
div,
span,
h1,
h2,
h3,
p,
a,
ul,
li,
footer,
header {
  border: 0;
  font-size: 100%;
  font: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

footer,
header,
main {
  display: block;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  font-size: 10px;
  font-size: 62.5%; /* This is just for easier calculation for rem usage! 1rem=10px */
  height: 100%;
}

body {
  background-color: #997937;
  color: #fff;
  font-family: "LL Circular Pro Book Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 100%;
}

.invitation-header {
  align-items: center;
  background: rgb(153, 121, 55);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 8.1rem;
  justify-content: center;
  padding-block: 3rem;
}
.invitation-header .invitation-header-logo {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 100%;
  width: 83px;
}
.invitation-header .invitation-header-logo svg {
  fill: #fff;
}

.invitation-container {
  background: linear-gradient(111deg, #b89142 2.21%, #997937 100.61%);
  min-height: 100%;
}
@media screen and (min-width: 768px) {
  .invitation-container {
    padding-block: 3.2rem;
  }
}

.invitation-main-content {
  margin: 0 auto;
  max-width: 67.2rem;
  padding-inline: 1.6rem;
}
.invitation-main-content img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.invitation-main-content.invitation-main-content__form, .invitation-main-content.invitation-main-content__thank-you {
  background-color: #fff;
  box-shadow: 0px 10px 30px -10px #997937;
  color: #000;
  height: 100%;
  padding: 3.2rem 1.6rem;
}
.invitation-main-content.invitation-main-content__form h1, .invitation-main-content.invitation-main-content__thank-you h1 {
  font-size: 3.2rem;
}
.invitation-main-content.invitation-main-content__form h2, .invitation-main-content.invitation-main-content__thank-you h2 {
  font-family: "LL Circular Pro Book Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 2.8rem;
  font-weight: 400;
  margin-bottom: 1em;
}
.invitation-main-content.invitation-main-content__thank-you {
  align-items: center;
  justify-content: flex-start;
}
.invitation-main-content.invitation-main-content__thank-you h1 {
  margin-bottom: 2em;
}
.invitation-main-content.invitation-main-content__thank-you p a {
  color: #000;
}
.invitation-main-content.invitation-main-content__thank-you p a:hover {
  color: #fff;
}
.invitation-main-content > * {
  margin: 0;
}
.invitation-main-content > * + * {
  margin-top: 1.5em;
}
.invitation-main-content h1,
.invitation-main-content h2,
.invitation-main-content h3 {
  font-family: "LL Circular Pro Black Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  margin-inline: auto;
}
.invitation-main-content .surtitle {
  font-size: 2rem;
  font-family: "LL Circular Pro Bold Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  margin-bottom: 1.6rem;
}
.invitation-main-content .title {
  font-size: 4.8rem;
  margin-top: 1.6rem;
  line-height: 1.25;
}
.invitation-main-content .title span {
  display: block;
}
.invitation-main-content h2 {
  font-size: 2.8rem;
}
.invitation-main-content h3 {
  font-family: "LL Circular Pro Book Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 2.4rem;
  font-weight: 400;
}
.invitation-main-content p {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-right: auto;
  margin-left: auto;
}
.invitation-main-content p + .button__primary {
  margin-top: 4.8rem;
}
.invitation-main-content p a {
  color: #fff;
  display: block;
  padding: 0.2rem;
  text-decoration: underline;
}
.invitation-main-content p a:hover {
  text-decoration: none;
  background-color: #997937;
}
@media screen and (min-width: 768px) {
  .invitation-main-content p a {
    display: inline;
  }
}
.invitation-main-content .date-time {
  font-family: "LL Circular Pro Book Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.25;
  margin-top: 1.6rem;
}
.invitation-main-content .fine-print {
  line-height: 1.5;
  margin-top: 3.2rem;
}

.invitation__section {
  margin-top: 4.8rem;
}
.invitation__section.invitation__section--signatures, .invitation__section.invitation__section--partners {
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  gap: 4rem;
}
.invitation__section.invitation__section--signatures .signature-image,
.invitation__section.invitation__section--signatures .partner-image, .invitation__section.invitation__section--partners .signature-image,
.invitation__section.invitation__section--partners .partner-image {
  display: block;
  margin: 2rem 0;
  max-width: 200px;
}
.invitation__section.invitation__section--signatures .signature p,
.invitation__section.invitation__section--signatures .partner p, .invitation__section.invitation__section--partners .signature p,
.invitation__section.invitation__section--partners .partner p {
  line-height: 1.5;
}
.invitation__section.invitation__section--signatures {
  margin-top: 2.4rem;
}
.invitation__section.invitation__section--details p {
  margin-top: 0.75em;
  font-size: 1.6rem;
}
.invitation__section.invitation__section--details h2,
.invitation__section.invitation__section--details h3 {
  font-family: "LL Circular Pro Bold Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  margin-top: 1.5em;
}

.button__primary {
  appearance: none;
  background-color: transparent;
  border-radius: 0.4rem;
  border: 2px solid #fff;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: "LL Circular Pro Black Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  margin-inline: auto;
  max-width: 30rem;
  overflow: hidden;
  padding: 1.6rem 2.4rem;
  text-align: center;
  text-decoration: none;
  text-underline-offset: 4px;
  transition-duration: 0.4s;
  transition-property: background-color, border-color, color;
  transition-timing-function: ease-in-out;
}
@media (hover: hover) {
  .button__primary:not(:disabled, .disabled):hover {
    background: #000;
    border-color: #000;
    color: #fff;
    text-decoration: underline;
  }
}

.soh-form {
  color: #000;
  text-align: left;
}
.soh-form .form-item {
  max-width: 100%;
  margin-top: 1.6rem;
  position: relative;
}
.soh-form .form-item input,
.soh-form .form-item textarea {
  border: 0;
  border-bottom: 2px solid #000;
  outline: none;
  padding: 1em 0.5em 0.5em;
  width: 100%;
}
.soh-form .form-item textarea {
  min-height: 37.5px;
  width: 100% !important;
}
.soh-form .form-item:focus-within input,
.soh-form .form-item:focus-within textarea {
  border-color: #ffae14;
}
.soh-form .form-item label {
  display: block;
}
.soh-form .form-item.form-item--accept {
  font-size: 2.8rem;
  margin: 1.6rem auto 1em;
}
.soh-form .form-item:not(.form-disabled).required legend span::after,
.soh-form .form-item:not(.form-disabled) label.form-required::after {
  color: #c00;
  content: " *";
}
.soh-form .form-item .form-item.error .fieldset-wrapper,
.soh-form .form-item .form-item--error input,
.soh-form .form-item .form-item--error select,
.soh-form .form-item .form-item--error label,
.soh-form .form-item .form-item--error-message {
  color: #c00;
}
.soh-form .form-item .form-item.error .fieldset-wrapper *,
.soh-form .form-item .form-item--error input *,
.soh-form .form-item .form-item--error select *,
.soh-form .form-item .form-item--error label *,
.soh-form .form-item .form-item--error-message * {
  color: inherit;
}
.soh-form .form-item .form-item--error-message {
  font-size: 1.4rem;
  margin-block-start: 5px;
}
.soh-form .form-item .form-item--error input,
.soh-form .form-item .form-item--error select {
  border-color: #c00;
}
.soh-form .form-item.form-item--checkbox label {
  align-items: center;
  display: flex;
  position: relative;
  font-size: 1em;
}
.soh-form .form-item.form-item--checkbox input {
  appearance: none;
  border: 2px solid #000;
  background-color: #fff;
  flex-shrink: 0;
  height: 1.5em;
  margin-left: 0;
  margin-right: 16px;
  padding: 0;
  width: 1.5em;
}
.soh-form .form-item.form-item--checkbox input:not(:hover, :checked) {
  border-color: #757575;
}
.soh-form .form-item.form-item--checkbox input:checked::before {
  background-image: url("../images/streamline-icon-interface-validation-check.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 14px;
  content: "";
  height: 1.5em;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.5em;
}
.soh-form .form-item.form-item--button__submit {
  margin-top: 3.2rem;
}
.soh-form .form-item .form-item-help-text {
  display: block;
  font-size: 1.4rem;
  line-height: 1.2;
  margin-top: 0.5rem;
  max-width: 100%;
}
.soh-form .form-section--attending {
  display: none;
  transition: height 0.4s ease-out;
  height: 0;
}
.soh-form .form-section__active {
  display: block;
  height: auto;
}
.soh-form .button__primary {
  border-color: #000;
  color: #000;
  display: block;
  margin: 0 auto;
}