@font-face {
  font-family: "Muli";
  src: url("https://vet.trupanion.com/assets/fonts/muli/subset-Muli-Regular.woff2") format("woff2"), url("https://vet.trupanion.com/assets/fonts/muli/subset-Muli-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Muli";
  src: url("https://vet.trupanion.com/assets/fonts/muli/subset-Muli-Bold.woff2") format("woff2"), url("https://vet.trupanion.com/assets/fonts/muli/subset-Muli-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Muli";
  src: url("https://vet.trupanion.com/assets/fonts/muli/subset-Muli-Italic.woff2") format("woff2"), url("https://vet.trupanion.com/assets/fonts/muli/subset-Muli-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Mont";
  src: url("https://vet.trupanion.com/assets/fonts/mont/subset-Mont-Bold.woff2") format("woff2"), url("https://vet.trupanion.com/assets/fonts/mont/subset-Mont-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mont";
  src: url("https://vet.trupanion.com/assets/fonts/mont/subset-Mont-Heavy.woff2") format("woff2"), url("https://vet.trupanion.com/assets/fonts/mont/subset-Mont-Heavy.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mont";
  src: url("https://vet.trupanion.com/assets/fonts/mont/subset-Mont-BoldItalic.woff2") format("woff2"), url("https://vet.trupanion.com/assets/fonts/mont/subset-Mont-BoldItalic.woff") format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
.text--center {
  text-align: center;
}
.text--caps {
  text-transform: uppercase;
}
.text--bold {
  font-weight: 700;
  font-variation-settings: "wght" 700;
}
.text--semibold {
  font-weight: 600;
  font-variation-settings: "wght" 600;
}
.text--medium {
  font-weight: 500;
  font-variation-settings: "wght" 500;
}
.text--regular {
  font-weight: 400;
  font-variation-settings: "wght" 400;
}
.text--semilight {
  font-weight: 300;
  font-variation-settings: "wght" 300;
}
.text--light {
  font-weight: 200;
  font-variation-settings: "wght" 200;
}
.text--italic {
  font-style: italic;
}
.text--extended {
  letter-spacing: 0.1em;
}
.text--compressed {
  letter-spacing: -0.1em;
}

/*
 Partial: text-display
*/
.text-display__eyebrow {
  font-size: 0.85rem;
  line-height: 1.4;
  font-weight: 400;
  margin-bottom: 0.5em;
  opacity: 0.75;
  font-family: Muli, Mulish, sans-serif;
  text-transform: uppercase;
}
.text-display__header {
  font-size: 2.5rem;
  line-height: 1.2;
  font-weight: 700;
  font-family: Mont, sans-serif;
  margin-bottom: 0.25em;
}
.text-display__subheader {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 700;
  font-family: Mont, sans-serif;
  margin-bottom: 0.25em;
}
.text-display__subsubheader {
  font-size: 1.25rem;
  line-height: 1.4;
  font-family: Mont, sans-serif;
  font-weight: 700;
  margin-bottom: 0.25em;
}
.text-display__disclaimer {
  font-size: 0.8rem;
  line-height: 1.5;
  font-family: Muli, Mulish, sans-serif;
  font-weight: 400;
}
.text-display__ctas {
  margin-top: 2em;
  display: inline-block;
}
.text-display__cta {
  background-color: #3A65B0;
  color: #ffffff;
  padding: 1rem 2rem;
  border-radius: 3rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: 0.5s;
  text-decoration: none;
  text-align: center;
}

/*
  Component: Wrapper
*/
.wrapper__inner {
  margin: 0 auto;
  max-width: 1320px;
}
.wrapper__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding-top: 5em;
  padding-bottom: 5em;
  padding-left: 3em;
  padding-right: 3em;
  gap: 4em;
}
@media (max-width: 860px) {
  .wrapper__content {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 860px) {
  .wrapper__content {
    padding-top: 2em;
    padding-bottom: 2em;
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
}
.wrapper--theme--alt {
  background-color: #f4f4f4;
}
.wrapper--theme--alt a {
  color: #336699;
}
.wrapper--theme--alt a:visited {
  color: #336699;
}
.wrapper--theme--alt fancy-button {
  background-color: #3A65B0;
  color: #ffffff;
}
.wrapper--theme--alt fancy-button:hover {
  background-color: #403C65;
}
.wrapper--theme--inverse {
  background-color: #111111;
  color: #ffffff;
}
.wrapper--theme--inverse a {
  color: #ffffff;
}
.wrapper--theme--tdecu-dark {
  color: #ffffff;
}
.wrapper--theme--tdecu-dark a {
  color: #ffffff;
}
.wrapper--inset .wrapper__inner {
  background-color: transparent;
}
.wrapper--inset .wrapper__inner a {
  color: #336699;
}
.wrapper--inset .wrapper__inner a:visited {
  color: #336699;
}
.wrapper--inset .wrapper__inner fancy-button {
  background-color: #3A65B0;
  color: #ffffff;
}
.wrapper--inset .wrapper__inner fancy-button:hover {
  background-color: #403C65;
}
.wrapper--inset--theme--alt .wrapper__inner {
  background-color: #f4f4f4;
}
.wrapper--inset--theme--alt .wrapper__inner a {
  color: #336699;
}
.wrapper--inset--theme--alt .wrapper__inner a:visited {
  color: #336699;
}
.wrapper--inset--theme--alt .wrapper__inner fancy-button {
  background-color: #3A65B0;
  color: #ffffff;
}
.wrapper--inset--theme--alt .wrapper__inner fancy-button:hover {
  background-color: #403C65;
}
.wrapper--inset--theme--inverse .wrapper__inner {
  background-color: #111111;
  color: #ffffff;
}
.wrapper--inset--theme--inverse .wrapper__inner a {
  color: #ffffff;
}
.wrapper--inset--theme--tdecu-dark .wrapper__inner {
  color: #ffffff;
}
.wrapper--inset--theme--tdecu-dark .wrapper__inner a {
  color: #ffffff;
}
.wrapper--cols--1 .wrapper__content {
  display: grid;
  grid-template-columns: 1fr;
}
@media (max-width: 860px) {
  .wrapper--cols--1 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--1-1 .wrapper__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 860px) {
  .wrapper--cols--1-1 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--2-1 .wrapper__content {
  display: grid;
  grid-template-columns: 2fr 1fr;
}
@media (max-width: 860px) {
  .wrapper--cols--2-1 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--1-2 .wrapper__content {
  display: grid;
  grid-template-columns: 1fr 2fr;
}
@media (max-width: 860px) {
  .wrapper--cols--1-2 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--3-1 .wrapper__content {
  display: grid;
  grid-template-columns: 3fr 1fr;
}
@media (max-width: 860px) {
  .wrapper--cols--3-1 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--1-3 .wrapper__content {
  display: grid;
  grid-template-columns: 1fr 3fr;
}
@media (max-width: 860px) {
  .wrapper--cols--1-3 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--3-2 .wrapper__content {
  display: grid;
  grid-template-columns: 3fr 2fr;
}
@media (max-width: 860px) {
  .wrapper--cols--3-2 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--4-6 .wrapper__content {
  display: grid;
  grid-template-columns: 4fr 6fr;
}
@media (max-width: 860px) {
  .wrapper--cols--4-6 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--6-4 .wrapper__content {
  display: grid;
  grid-template-columns: 6fr 4fr;
}
@media (max-width: 860px) {
  .wrapper--cols--6-4 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--5-2 .wrapper__content {
  display: grid;
  grid-template-columns: 5fr 2fr;
}
@media (max-width: 860px) {
  .wrapper--cols--5-2 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--2-5 .wrapper__content {
  display: grid;
  grid-template-columns: 2fr 5fr;
}
@media (max-width: 860px) {
  .wrapper--cols--2-5 .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--golden-left .wrapper__content {
  display: grid;
  grid-template-columns: 1.618fr 1fr;
}
@media (max-width: 860px) {
  .wrapper--cols--golden-left .wrapper__content {
    grid-template-columns: 1fr;
  }
}
.wrapper--cols--golden-right .wrapper__content {
  display: grid;
  grid-template-columns: 1fr 1.618fr;
}
@media (max-width: 860px) {
  .wrapper--cols--golden-right .wrapper__content {
    grid-template-columns: 1fr;
  }
}

body {
  font-size: 1rem;
  line-height: 1.6;
  font-family: Muli, Mulish, sans-serif;
  font-weight: 400;
  margin: 0;
  background: #f4f4f4;
}

.img-wrapper--render--cover {
  height: 100%;
}
.img-wrapper--render--cover img {
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

video {
  max-width: 100%;
}

/*
 Partial: text-display
*/
.text-display__ctas {
  margin-top: 1.5em;
  display: grid;
  grid-auto-flow: column;
  gap: 1em;
  width: auto;
  grid-auto-columns: max-content;
}
@media (max-width: 860px) {
  .text-display__ctas {
    grid-auto-flow: row;
  }
}
.text-display__cta:hover, .auth__card__action:hover {
  background-color: #403C65;
}
.text-display__callout {
  max-width: fit-content;
  margin-top: 1.5em;
  padding: 2em;
  border-radius: 1em;
  background-color: #A2D786;
}
.text-display__callout .text-display__subsubheader {
  margin-top: unset;
}

.chiclet-display--render--as-course {
  border-radius: 0.5em;
  background: #fff;
  padding: 1.5em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-top: 1.5em solid #2f65b6;
}
.chiclet-display--render--as-course .text-display__header {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 700;
  font-family: Mont, sans-serif;
}
.chiclet-display--render--as-cert {
  border-radius: 0.5em;
  background: #95CC75;
  padding: 1.5em;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.chiclet-display--render--as-cert .text-display__header {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 700;
  font-family: Mont, sans-serif;
}
.chiclet-display--render--as-action {
  border-radius: 0.5em;
  background: #28396f;
  color: #fff;
  padding: 1.5em;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.chiclet-display--render--as-action .text-display__header {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 700;
  font-family: Mont, sans-serif;
}
.chiclet-display--render--as-action .text-display__cta:hover {
  background-color: #fff;
  color: #111;
}

.grid-display {
  display: grid;
  gap: 1em;
}

* {
  box-sizing: border-box;
}

.trupanion-auth {
  display: grid;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 860px) {
  .trupanion-auth {
    position: relative;
  }
}
.trupanion-auth__inner {
  display: grid;
  grid-template: "login splash"/1fr 1fr;
  align-items: center;
  overflow: auto;
  height: 100vh;
}
@media (max-width: 860px) {
  .trupanion-auth__inner {
    grid-template: "splash" "login";
  }
}
.trupanion-auth__intro {
  align-self: center;
  grid-area: login;
  display: grid;
  padding: 2em 4em;
  grid-template-rows: 100px 1fr;
  grid-template-rows: 1fr;
  height: 100%;
  align-items: center;
}
@media (max-width: 860px) {
  .trupanion-auth__intro {
    padding: 2em;
  }
}
.trupanion-auth__intro__logo {
  max-height: 100%;
  width: 300px;
}
.trupanion-auth__splashout {
  position: relative;
  display: grid;
  height: 100%;
  min-height: 75vh;
  grid-area: splash;
}
.trupanion-auth__splashout__background {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
}
.trupanion-auth__splashout__background__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}
.trupanion-auth__splash {
  background-color: #264da8;
  position: relative;
  display: grid;
  height: 100%;
  min-height: 75vh;
  grid-area: splash;
}
@media (max-width: 860px) {
  .trupanion-auth__splash {
    min-height: 50vh;
  }
}
.trupanion-auth__splash__background {
  display: grid;
  grid-template-rows: 50% 50%;
  grid-template-columns: 1fr;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  overflow: hidden;
  gap: 0;
}
.trupanion-auth__splash__background__logo {
  display: grid;
  align-items: center;
  justify-items: center;
  box-sizing: border-box;
  filter: drop-shadow(0.2em 0.2em 0.7em rgba(0, 0, 0, 0.3)) drop-shadow(0.1em 0.1em 1.7em rgba(0, 0, 0, 0.1));
}
.trupanion-auth__splash__background__logo svg {
  width: 80%;
  height: 80%;
  animation: logo-animation 2s ease-in-out forwards;
}
.trupanion-auth__splash__background__img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  display: block;
  object-position: center bottom;
  position: absolute;
  top: 0;
  left: 0;
}
.trupanion-auth__splash__background__img__holder {
  padding: 0 2em;
  position: relative;
  z-index: 10;
}
.trupanion-auth__login {
  background-color: #f8f8f8;
  align-self: center;
  overflow: auto;
  height: 100%;
  display: grid;
  align-items: center;
}
.trupanion-auth__login__inner {
  padding: 3em;
}
@media (max-width: 860px) {
  .trupanion-auth__login__inner {
    padding: 2em 1em;
  }
}
@media (max-width: 860px) {
  .trupanion-auth__login {
    overflow: unset;
  }
}
.trupanion-auth--id-complete .text-display__header {
  text-indent: -9999px;
  position: relative;
  padding: 1em 0;
}
.trupanion-auth--id-complete .text-display__header::after {
  content: "";
  background: url(/assets/img/trupanion-certification-blue.svg);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0px;
  left: 0px;
}
.trupanion-auth--id-complete.trupanion-auth--lang-fr .text-display__header::after {
  background-image: url(/assets/img/trupanion-certification-blue-fr.svg);
}
.trupanion-auth--id-complete .trupanion-auth__splash__background {
  grid-template-rows: 1fr;
}
.trupanion-auth--id-complete .trupanion-auth__splash__background__img {
  object-fit: cover;
}

@keyframes logo-animation {
  0% {
    opacity: 0;
    transform: scale(0.25) rotate(-120deg);
  }
  25% {
    opacity: 1;
    transform: scale(0.5) rotate(-120deg);
  }
  85% {
    opacity: 1;
    transform: scale(1.25);
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
}
.text-display__disclaimer {
  margin-top: 1.46em;
}

.confetti {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  position: absolute;
  top: -1rem;
  left: 0;
  z-index: 50;
}

.confetti .rotate {
  animation: driftyRotate 1s infinite both ease-in-out;
  perspective: 1000;
}

.confetti .askew {
  background: linear-gradient(var(--grad-direction, to bottom), hsl(63, 100%, 50%) 25%, hsl(23, 100%, 50%) 0% 66.667%, hsl(43, 100%, 100%) 0% 100%);
  transform: skewY(10deg);
  width: 2rem;
  height: 3.2rem;
  animation: drifty 1s infinite alternate both ease-in-out;
  perspective: 1000;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

.confetti:nth-of-type(7n) .askew {
  animation-delay: -0.6s;
  animation-duration: 2.25s;
}

.confetti:nth-of-type(7n + 1) .askew {
  animation-delay: -0.879s;
  animation-duration: 3.5s;
}

.confetti:nth-of-type(7n + 2) .askew {
  animation-delay: -0.11s;
  animation-duration: 1.95s;
}

.confetti:nth-of-type(7n + 3) .askew {
  animation-delay: -0.246s;
  animation-duration: 0.85s;
}

.confetti:nth-of-type(7n + 4) .askew {
  animation-delay: -0.43s;
  animation-duration: 2.5s;
}

.confetti:nth-of-type(7n + 5) .askew {
  animation-delay: -0.56s;
  animation-duration: 1.75s;
}

.confetti:nth-of-type(7n + 6) .askew {
  animation-delay: -0.76s;
  animation-duration: 1.5s;
}

.confetti:nth-of-type(9n) .rotate {
  animation-duration: 2s;
}

.confetti:nth-of-type(9n + 1) .rotate {
  animation-duration: 2.3s;
}

.confetti:nth-of-type(9n + 2) .rotate {
  animation-duration: 1.1s;
}

.confetti:nth-of-type(9n + 3) .rotate {
  animation-duration: 0.75s;
}

.confetti:nth-of-type(9n + 4) .rotate {
  animation-duration: 4.3s;
}

.confetti:nth-of-type(9n + 5) .rotate {
  animation-duration: 3.05s;
}

.confetti:nth-of-type(9n + 6) .rotate {
  animation-duration: 2.76s;
}

.confetti:nth-of-type(9n + 7) .rotate {
  animation-duration: 7.6s;
}

.confetti:nth-of-type(9n + 8) .rotate {
  animation-duration: 1.78s;
}

@keyframes drifty {
  0% {
    transform: skewY(10deg) translate3d(-250%, 0, 0);
  }
  100% {
    transform: skewY(-12deg) translate3d(250%, 0, 0);
  }
}
@keyframes driftyRotate {
  0% {
    transform: rotateX(0);
  }
  100% {
    transform: rotateX(359deg);
  }
}
[data-type=leaves] .confetti:nth-child(4n) {
  color: hsl(343, 80%, 30%);
}

[data-type=leaves] .confetti:nth-child(4n+1) {
  color: hsl(103, 80%, 30%);
}

[data-type=leaves] .confetti:nth-child(4n+2) {
  color: hsl(43, 80%, 40%);
}

[data-type=leaves] .confetti:nth-child(4n+3) {
  color: hsl(23, 70%, 40%);
}

[data-type=bookmarks] .confetti:nth-child(4n) {
  color: hsl(18, 100%, 50%);
}

[data-type=bookmarks] .confetti:nth-child(4n+1) {
  color: hsl(183, 100%, 50%);
}

[data-type=bookmarks] .confetti:nth-child(4n+2) {
  color: hsl(43, 100%, 50%);
}

[data-type=bookmarks] .confetti:nth-child(4n+3) {
  color: hsl(133, 100%, 90%);
}

[data-type=leaves] .confetti .askew {
  background: currentColor linear-gradient(to right, rgba(0, 0, 0, 0) 48%, rgba(0, 0, 0, 0.12) 0% 52%, rgba(0, 0, 0, 0) 92%);
  width: 2.5rem;
  height: 4.2rem;
  clip-path: polygon(50% 0%, 100% 20%, 80% 30%, 100% 45%, 74% 60%, 94% 80%, 82% 100%, 18% 100%, 6% 80%, 26% 60%, 0% 45%, 20% 30%, 0% 20%);
  clip-path: polygon(56% 0%, 56% 16%, 60% 20%, 85% 40%, 100% 60%, 85% 75%, 70% 90%, 50% 100%, 15% 75%, 0% 60%, 15% 40%, 40% 20%, 44% 16%, 44% 0%);
}

[data-type=snowflake] .confetti .askew {
  background: hsl(223, 40%, 96%);
  clip-path: polygon(evenodd, 20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%, 22% 2%, 78% 2%, 98% 22%, 98% 78%, 78% 98%, 22% 98%, 2% 78%, 2% 22%, 30% 10%, 70% 10%, 90% 30%, 90% 70%, 70% 90%, 30% 90%, 10% 70%, 10% 30%, 32% 12%, 68% 12%, 88% 32%, 88% 68%, 68% 88%, 32% 88%, 12% 68%, 12% 32%, 40% 20%, 60% 20%, 80% 40%, 80% 60%, 60% 80%, 40% 80%, 20% 60%, 20% 40%);
}

[data-type=bookmarks] .confetti .askew {
  background: currentColor;
  width: 1rem;
  height: 2rem;
  clip-path: polygon(evenodd, 0% 0%, 100% 0%, 100% 100%, 50% 90%, 0% 100%);
}

.button, .form-wrapper__action__next, .form-wrapper__action__prev, .form-wrapper__action__reset, .form-wrapper__action__submit {
  padding: 0.5em 1em;
  border-radius: 0.5em;
  border: 1px solid transparent;
  font-family: Mont, sans-serif;
  font-weight: 700;
  width: max-content;
  background-color: #3A65B0;
  color: #ffffff;
}
.button:hover, .form-wrapper__action__next:hover, .form-wrapper__action__prev:hover, .form-wrapper__action__reset:hover, .form-wrapper__action__submit:hover, .button:focus, .form-wrapper__action__next:focus, .form-wrapper__action__prev:focus, .form-wrapper__action__reset:focus, .form-wrapper__action__submit:focus {
  background-color: #403C65;
}

.form-container__section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1em;
  padding: 0 0 1em;
  display: none;
}
.form-container__section__header {
  font-weight: 700;
  font-size: 1.2em;
}
.form-container__section__body {
  background: #f4f4f4;
  border: 1px solid rgba(0, 0, 0, 0.15);
  padding: 1em;
  font-size: 0.9em;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1em;
  border-radius: 0.5em;
}
.form-container__section__body p {
  margin: 0;
}
.form-container__section--active {
  display: grid;
}

.form-wrapper {
  box-shadow: 0 0 8px rgba(0,0,0,0.05), 0 0 16px rgba(0,0,0,0.05);
  border-radius: 8px;
  background-color: #fff;
  padding: 2em;
}
@media (max-width: 860px) {
  .form-wrapper {
    padding: 0;
    box-shadow: none;
  }
}
.form-wrapper__actions {
  display: grid;
  gap: 1em;
}
.form-wrapper__action__next, .form-wrapper__action__prev, .form-wrapper__action__reset, .form-wrapper__action__submit {
  font-size: inherit;
}
.form-wrapper__action--submit {
  justify-self: end;
}
.form-wrapper__action__next:disabled, .form-wrapper__action__submit:disabled {
  background-color: #ddd;
  color: #666;
}
.form-wrapper__field--has-required .form-wrapper__field__data__label::after {
  content: "*";
}
.form-wrapper__field--has-conditional {
  display: none;
}
.form-wrapper__field__instructions {
  padding: 0.5em;
}
.form-wrapper__field__data {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  position: relative;
}
.form-wrapper__field__data__label {
  padding: 0 0.5em;
  font-size: 0.8em;
}
.form-wrapper__field__data__icon {
  position: absolute;
  top: 0.75em;
  left: 0.5em;
  z-index: 5;
}
.form-wrapper__field__data__control, .form-wrapper__field__data__select, .form-wrapper__field__data__textarea {
  box-shadow: 0 0 8px rgba(0,0,0,0.05), 0 0 16px rgba(0,0,0,0.05);
  border: 0;
  position: relative;
  border-bottom: 1px solid #ddd;
  font: inherit;
  padding: 0.5em 0.5em;
  font-weight: 700;
  line-height: 1.5;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-sizing: border-box;
}
.form-wrapper__field__data__control:required:placeholder-shown, .form-wrapper__field__data__control:placeholder-shown, .form-wrapper__field__data__select:required:placeholder-shown, .form-wrapper__field__data__select:placeholder-shown, .form-wrapper__field__data__textarea:required:placeholder-shown, .form-wrapper__field__data__textarea:placeholder-shown {
  background-color: inherit;
  color: inherit;
  font-weight: 400;
}
.form-wrapper__field__data__control:required:placeholder-shown, .form-wrapper__field__data__select:required:placeholder-shown, .form-wrapper__field__data__textarea:required:placeholder-shown {
  border-color: #aaa;
}
.form-wrapper__field__data__control:invalid:not(:placeholder-shown), .form-wrapper__field__data__textarea:invalid:not(:placeholder-shown) {
  background-color: #f50;
}
.form-wrapper__field__data__select {
  max-width: 90vw;
  text-overflow: ellipsis;
}
.form-wrapper__field__data__select:invalid {
  font-weight: 400;
  color: rgba(0, 0, 0, 0.6);
}
.form-wrapper__field__data__control:invalid {
  background: rgba(255, 0, 0, 0.2);
  border-color: #912;
}
.form-wrapper__field__data__textarea {
  box-shadow: 0 0 8px rgba(0,0,0,0.05), 0 0 16px rgba(0,0,0,0.05);
  border: 1px solid #eee;
}
.form-wrapper--is-wizard .form-wrapper__fields__fieldset {
  display: none;
}
.form-wrapper--is-wizard .form-wrapper__fields__fieldset--active {
  display: block;
}
.form-wrapper--is-wizard .form-wrapper__actions {
  display: grid;
  grid-auto-flow: column;
  gap: 1em;
  justify-items: end;
  padding: 1em 0;
}
.form-wrapper__action--prev {
  justify-self: start;
}
.form-wrapper__action__next, .form-wrapper__action__prev {
  font-size: inherit;
}
@media (max-width: 860px) {
  .form-wrapper__field {
    max-width: 360px;
  }
}
.form-wrapper__field__instructions {
  font-size: 0.8em;
  margin-bottom: 0.5em;
}
.form-wrapper__field--type-checkbox .form-wrapper__field__data {
  display: grid;
  gap: 0.5em;
  grid-template-areas: "checkbox label";
  grid-template-columns: auto 1fr;
  align-items: start;
}
.form-wrapper__field--type-checkbox .form-wrapper__field__data__control {
  grid-area: checkbox;
}
.form-wrapper__field--type-checkbox .form-wrapper__field__data__label {
  grid-area: label;
  display: block;
}
.form-wrapper__field--type-image-display img {
  max-width: 100%;
}
.form-wrapper__field--type-file .form-wrapper__field__data {
  display: grid;
  gap: 0.5em;
  grid-template-areas: "label" "file";
  grid-template-columns: auto 1fr;
  align-items: start;
}
.form-wrapper__field--type-file .form-wrapper__field__data__control {
  grid-area: file;
}
.form-wrapper__field--type-file .form-wrapper__field__data__label {
  grid-area: label;
  display: block;
}
.form-wrapper__fields__fieldset {
  border: 1px solid #ddd;
  padding: 1.5em;
  max-width: 100%;
  margin-bottom: 1em;
  border-radius: 0.5em;
}
@media (max-width: 860px) {
  .form-wrapper__fields__fieldset {
    border: none;
    padding: 0;
  }
}

.auth {
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.auth__back {
  cursor: pointer;
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  position: relative;
  z-index: 1;
}
.auth__back svg {
  max-width: 15px;
  padding: 1.5em;
}
.auth__grid {
  align-self: center;
}
.auth__card {
  display: grid;
  align-self: center;
  grid-template-columns: 1fr;
  margin: 0px auto;
  box-sizing: border-box;
  background: #fff;
  padding: 2em;
  width: 400px;
}
@media (max-width: 860px) {
  .auth__card {
    width: 100%;
    padding: 1.5em;
  }
}
.auth__card__error {
  color: red;
}
.auth__card__Easheader {
  font-size: 1.5em;
  font-weight: 700;
}
.auth__card__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1em;
  margin-top: 1em;
}
.auth__card__frm {
  display: contents;
}
.auth__card__frm__field {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  position: relative;
}
.auth__card__frm__field__header {
  padding: 0 0.5em;
  font-size: 0.8em;
}
.auth__card__frm__field__input-wrapper input {
  width: 100%;
}
.auth__card__frm__field__input-wrapper input[type=text], .auth__card__frm__field__input-wrapper input[type=email], .auth__card__frm__field__input-wrapper input[type=password] {
  box-sizing: border-box;
  border-radius: 8px 8px 0 0;
  border: 0;
  border-bottom: 1px solid #848484;
  border-color: #aaa;
  background-color: inherit;
  color: inherit;
  font-weight: 400;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05), 0 0 16px rgba(0, 0, 0, 0.05);
  border: 0;
  position: relative;
  border-bottom: 1px solid #ddd;
  font: inherit;
  padding: 0.5em 0.5em;
  line-height: 1.5;
}

.auth__card__action {
  font-family: Muli;
  font-size: 1.2em;
  font-weight: 700;
  border: none;
  border-radius: 2em;
  padding: 0.75em 2em;
  margin: 0;
  line-height: 1;
  cursor: pointer;
  background-color: #3A65B0;
  color: #fff;
  transition: all 0.5s;
  width: 100%;
}
.auth__card__action:hover {
  background-color: #403C65;
  color: #fff;
}
.auth__card__header {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 700;
  font-family: Mont, sans-serif;
}
.auth__card-post {
  font-size: 1.15em;
  text-align: center;
}
.auth__card-post .text-display__callout {
  margin: 0 auto;
}
.auth__card__frm {
  display: contents;
}
.auth__card__footer {
  display: grid;
  grid-auto-flow: column;
  gap: 1em;
  justify-items: end;
  padding: 1em 0;
}
.auth__card__footer button {
  padding: 0.5em 1em;
  border-radius: 0.5em;
  border: 1px solid transparent;
  font-family: Mont, sans-serif;
  font-weight: 700;
  width: max-content;
  background-color: #3A65B0;
  color: #ffffff;
}

.wrapper--identifier--user-header {
  background: #28396f;
  color: #fff;
}
.wrapper--identifier--user-header .wrapper__content {
  padding: 0;
  align-items: center;
  grid-template-columns: 1fr auto;
  grid-template-columns: auto max-content max-content;
}
@media (max-width: 860px) {
  .wrapper--identifier--user-header .wrapper__content {
    grid-template-columns: 1fr;
    gap: 0;
    align-items: center;
    grid-template: "branding actions" "right right";
    grid-template-columns: auto min-content;
  }
}

.userbar__header__branding {
  padding: 1em 1.5em;
}
.userbar__header__branding__logo svg {
  max-height: 50px;
  display: block;
}
.userbar__header__branding__text {
  text-transform: uppercase;
}
@media (max-width: 860px) {
  .userbar__header__branding {
    padding: 1em;
    grid-area: branding;
  }
}
.userbar__header__right {
  padding: 1em 1.5em;
  display: grid;
  grid-auto-flow: column;
  gap: 1em;
  align-items: center;
}
@media (max-width: 860px) {
  .userbar__header__right {
    padding: 1em;
    background: #403C65;
    grid-auto-flow: row;
    grid-area: right;
  }
}
.userbar__actions {
  padding: 1em 1.5em;
  gap: 0.5em;
}
@media (max-width: 860px) {
  .userbar__actions {
    padding: 1em;
  }
}
.userbar__actions .text-display__cta {
  font-size: 0.8em;
  padding: 0.75rem 1.5rem;
}
.userbar__actions .text-display__cta:hover {
  background: #fff;
}
.userbar__actions .text-display__cta:hover a {
  color: #000;
}
.userbar__actions a {
  color: #fff;
  align-items: center;
  text-decoration: none;
}
.userbar__minicard {
  display: grid;
  grid-template: "icon name" "icon hospital" "icon actions"/auto 1fr;
  grid-gap: 0 1em;
  align-items: center;
}
.userbar__minicard__initials {
  grid-area: icon;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  width: 72px;
  font-size: 1.5em;
  display: grid;
  align-content: center;
  justify-content: center;
  aspect-ratio: 1;
  color: #fff;
}
.userbar__minicard__name {
  font-size: 1.25rem;
  line-height: 1.4;
  font-family: Mont, sans-serif;
  font-weight: 700;
  grid-area: name;
}
.userbar__minicard__actions {
  grid-area: actions;
  margin-top: 0.5em;
}
.userbar__minicard__hospital {
  font-size: 0.8rem;
  line-height: 1.5;
  font-family: Muli, Mulish, sans-serif;
  font-weight: 400;
  grid-area: hospital;
}

#user-profile .fui-FluentProvider {
  background: transparent;
}

#user-profile .user-profile {
  color: #fff;
  display: grid;
  grid-template: "icon name" "icon hospital" "icon actions"/auto 1fr;
  grid-gap: 0 1em;
  align-items: center;
}

.form-container-react .form-container__header__header {
  font-size: 1.5em;
  font-weight: 600;
  font-family: "Mont", sans-serif;
}

.form-container-react .form-container__body {
  width: 100%;
  display: grid;
  gap: 1em;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0px auto;
  background: #fff;
  align-items: start;
}

@media (min-width: 861px) and (max-width: 1024px) {
  .form-container-react .form-container__body {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 860px) {
  .form-container-react .form-container__body {
    grid-template-columns: 1fr;
  }
}
.form-container-react .form-container__body .form-wrapper__field__data__label {
  font-size: 1em;
}

.form-container-react .form-container__section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1em;
  align-items: start;
  padding: 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5em;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
}

.form-container-react .form-container__section__text__header {
  font-size: 1.1em;
  font-weight: 600;
  font-family: "Mont", sans-serif;
}

.form-container-react .form-container__hospital {
  padding: 0.75em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.5em;
  border-bottom-width: 4px;
  cursor: pointer;
  background-color: #fff;
}

.form-container-react .form-container__hospital:hover {
  border-color: 1px solid rgba(0, 0, 0, 0.2);
  background-color: #f4f4f4;
  border-bottom-color: 1px solid rgba(0, 0, 0, 0.4);
}

.form-container-react .form-container__hospital__eyebrow {
  font-size: 0.75em;
  text-transform: uppercase;
}

.form-container-react .form-container__hospital__name {
  font-size: 1.15em;
  font-weight: 600;
}

.form-container-react .form-container__hospital__description {
  text-align: right;
  font-style: italic;
  font-size: 0.85em;
}

.form-wrapper__field__data__instructions {
  font-style: italic;
  color: #666;
  padding-left: 0.5em;
}

.form-wrapper__field__data__instructions__inner {
  font-size: 0.85em;
}

.form-wrapper__field__data__select {
  text-overflow: ellipsis;
  width: 100%;
}

.hospital-search {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1em;
  padding: 0.5em;
  max-height: 80vh;
}

.hospital-search__results {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5em;
}

.hospital-search__result {
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 1em;
  border-radius: 0.5em;
}

.hospital-search__result__text__name {
  font-size: 1.15em;
  font-weight: 600;
}

.hospital-search__result__info__distance {
  text-align: right;
}

.hospital-search__result:hover {
  border: 1px solid rgba(0, 0, 0, 0.25);
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.1), 0 0 2em rgba(0, 0, 0, 0.1);
}

.hospital-search__result--is--selected, .hospital-search__result--is--selected:hover {
  border: 2px solid #f50;
}

.hospital-search__fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5em;
}

.hospital-search__field__data {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.2em;
}

.dialog__actions {
  padding-top: 0.5em;
}

.wrapper--id--review .wrapper__content {
  grid-template-columns: 1fr;
}
.wrapper--id--review .review__video {
  margin: 1em 0;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 1em;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: 1fr 400px;
}
@media (min-width: 861px) and (max-width: 1024px) {
  .wrapper--id--review .review__video {
    grid-template-columns: 1fr;
  }
}
.wrapper--id--review .review__video .text-display {
  padding: 1em;
}
.wrapper--id--review .review__video .text-display--id-header {
  grid-column: 1/span 2;
}
.wrapper--id--review .review__video .video-display video {
  border-radius: 1em;
  display: block;
  width: 100%;
}