@import 'https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap';
* {
  box-sizing: border-box;
}
@keyframes horizontal-pulse-left {
  0% {
    transform: translateX(0);
  }
  30% {
    transform: translateX(0.5em);
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(0.25em);
  }
  80% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(0);
  }
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-RegularItalic-97637a10.eot");
  src: local("Mirador Regular Italic"), local("Mirador-RegularItalic"), url("/assets/Mirador-RegularItalic-97637a10.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-RegularItalic-1bf4a2c0.woff2") format("woff2"), url("/assets/Mirador-RegularItalic-096ea823.woff") format("woff"), url("/assets/Mirador-RegularItalic-84e3d13d.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-SemiBoldItalic-59e9bc92.eot");
  src: local("Mirador SemiBold Italic"), local("Mirador-SemiBoldItalic"), url("/assets/Mirador-SemiBoldItalic-59e9bc92.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-SemiBoldItalic-b77828f6.woff2") format("woff2"), url("/assets/Mirador-SemiBoldItalic-6a784cc3.woff") format("woff"), url("/assets/Mirador-SemiBoldItalic-fcf20001.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-BlackItalic-63e4387b.eot");
  src: local("Mirador Black Italic"), local("Mirador-BlackItalic"), url("/assets/Mirador-BlackItalic-63e4387b.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-BlackItalic-cf4c0ee0.woff2") format("woff2"), url("/assets/Mirador-BlackItalic-2d5fdf26.woff") format("woff"), url("/assets/Mirador-BlackItalic-37aafaed.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-Light-8d7c560d.eot");
  src: local("Mirador Light"), local("Mirador-Light"), url("/assets/Mirador-Light-8d7c560d.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-Light-9e16984f.woff2") format("woff2"), url("/assets/Mirador-Light-cfc991f3.woff") format("woff"), url("/assets/Mirador-Light-c33af80a.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Mirador Book";
  src: url("/assets/Mirador-BookItalic-a840e271.eot");
  src: local("Mirador Book Italic"), local("Mirador-BookItalic"), url("/assets/Mirador-BookItalic-a840e271.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-BookItalic-a0c06f9e.woff2") format("woff2"), url("/assets/Mirador-BookItalic-098e1864.woff") format("woff"), url("/assets/Mirador-BookItalic-3ad8ddd7.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Mirador Book";
  src: url("/assets/Mirador-Book-15f26064.eot");
  src: local("Mirador Book"), local("Mirador-Book"), url("/assets/Mirador-Book-15f26064.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-Book-c39de6d1.woff2") format("woff2"), url("/assets/Mirador-Book-2c82909e.woff") format("woff"), url("/assets/Mirador-Book-d6e94fb5.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-LightItalic-ac50bbce.eot");
  src: local("Mirador Light Italic"), local("Mirador-LightItalic"), url("/assets/Mirador-LightItalic-ac50bbce.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-LightItalic-bded8c94.woff2") format("woff2"), url("/assets/Mirador-LightItalic-d3a5e652.woff") format("woff"), url("/assets/Mirador-LightItalic-d12bced4.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-ExtraBoldItalic-d6ef5914.eot");
  src: local("Mirador ExtraBold Italic"), local("Mirador-ExtraBoldItalic"), url("/assets/Mirador-ExtraBoldItalic-d6ef5914.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-ExtraBoldItalic-fc7f6492.woff2") format("woff2"), url("/assets/Mirador-ExtraBoldItalic-b32ddf7d.woff") format("woff"), url("/assets/Mirador-ExtraBoldItalic-4f55657a.ttf") format("truetype");
  font-weight: 800;
  font-style: italic;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-SemiBold-fa3f87a6.eot");
  src: local("Mirador SemiBold"), local("Mirador-SemiBold"), url("/assets/Mirador-SemiBold-fa3f87a6.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-SemiBold-b9e74026.woff2") format("woff2"), url("/assets/Mirador-SemiBold-c651bab4.woff") format("woff"), url("/assets/Mirador-SemiBold-5a16bb24.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-ExtraLightItalic-704293bf.eot");
  src: local("Mirador ExtraLight Italic"), local("Mirador-ExtraLightItalic"), url("/assets/Mirador-ExtraLightItalic-704293bf.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-ExtraLightItalic-bb21db5b.woff2") format("woff2"), url("/assets/Mirador-ExtraLightItalic-245eb0e4.woff") format("woff"), url("/assets/Mirador-ExtraLightItalic-8077b340.ttf") format("truetype");
  font-weight: 200;
  font-style: italic;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-Black-584c8f49.eot");
  src: local("Mirador Black"), local("Mirador-Black"), url("/assets/Mirador-Black-584c8f49.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-Black-11257a73.woff2") format("woff2"), url("/assets/Mirador-Black-feda27c0.woff") format("woff"), url("/assets/Mirador-Black-0ba4e938.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-Bold-f07b6d13.eot");
  src: local("Mirador Bold"), local("Mirador-Bold"), url("/assets/Mirador-Bold-f07b6d13.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-Bold-4a286e4e.woff2") format("woff2"), url("/assets/Mirador-Bold-0efe6618.woff") format("woff"), url("/assets/Mirador-Bold-40a2270a.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-ExtraLight-0caf0612.eot");
  src: local("Mirador ExtraLight"), local("Mirador-ExtraLight"), url("/assets/Mirador-ExtraLight-0caf0612.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-ExtraLight-5ad66e99.woff2") format("woff2"), url("/assets/Mirador-ExtraLight-714326d1.woff") format("woff"), url("/assets/Mirador-ExtraLight-989e18dd.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-BoldItalic-639abc8e.eot");
  src: local("Mirador Bold Italic"), local("Mirador-BoldItalic"), url("/assets/Mirador-BoldItalic-639abc8e.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-BoldItalic-80899828.woff2") format("woff2"), url("/assets/Mirador-BoldItalic-892eb045.woff") format("woff"), url("/assets/Mirador-BoldItalic-4eb1b882.ttf") format("truetype");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-MediumItalic-ff968da8.eot");
  src: local("Mirador Medium Italic"), local("Mirador-MediumItalic"), url("/assets/Mirador-MediumItalic-ff968da8.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-MediumItalic-c14d74ea.woff2") format("woff2"), url("/assets/Mirador-MediumItalic-48b51e93.woff") format("woff"), url("/assets/Mirador-MediumItalic-14c5a47d.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-ExtraBold-c1f27af6.eot");
  src: local("Mirador ExtraBold"), local("Mirador-ExtraBold"), url("/assets/Mirador-ExtraBold-c1f27af6.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-ExtraBold-aed40309.woff2") format("woff2"), url("/assets/Mirador-ExtraBold-2bc8444c.woff") format("woff"), url("/assets/Mirador-ExtraBold-2725e94b.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-Regular-d0c0a161.eot");
  src: local("Mirador Regular"), local("Mirador-Regular"), url("/assets/Mirador-Regular-d0c0a161.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-Regular-830e845a.woff2") format("woff2"), url("/assets/Mirador-Regular-d7a51bd8.woff") format("woff"), url("/assets/Mirador-Regular-5d08c96a.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-HeavyItalic-2d54013c.eot");
  src: local("Mirador Heavy Italic"), local("Mirador-HeavyItalic"), url("/assets/Mirador-HeavyItalic-2d54013c.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-HeavyItalic-b69a35af.woff2") format("woff2"), url("/assets/Mirador-HeavyItalic-b1375b39.woff") format("woff"), url("/assets/Mirador-HeavyItalic-37f68390.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-Heavy-9de09159.eot");
  src: local("Mirador Heavy"), local("Mirador-Heavy"), url("/assets/Mirador-Heavy-9de09159.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-Heavy-f87ab05a.woff2") format("woff2"), url("/assets/Mirador-Heavy-6cdb8d18.woff") format("woff"), url("/assets/Mirador-Heavy-385aae67.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Mirador";
  src: url("/assets/Mirador-Medium-774a2af2.eot");
  src: local("Mirador Medium"), local("Mirador-Medium"), url("/assets/Mirador-Medium-774a2af2.eot?#iefix") format("embedded-opentype"), url("/assets/Mirador-Medium-aabf1943.woff2") format("woff2"), url("/assets/Mirador-Medium-b2bad873.woff") format("woff"), url("/assets/Mirador-Medium-870efeac.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
.ArticleHtml h1 {
  margin-bottom: 1rem;
}
.ArticleHtml .markdown {
  margin-top: 1rem;
}
.ArticleHtml .markdown .table-wrapper {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  overflow: auto;
}
.ArticleHtml .markdown table {
  width: 100%;
  border-collapse: collapse;
}
.ArticleHtml .markdown table thead {
  background: #755773;
  color: #ffffff;
}
.ArticleHtml .markdown table tr:nth-of-type(2n) {
  background: color-mix(in srgb, #755773 5%, transparent);
}
.ArticleHtml .markdown table th,
.ArticleHtml .markdown table td {
  padding: 1em 0.5em;
}
@media only screen and (max-width: 540px) {
  .ArticleHtml .markdown table th,
  .ArticleHtml .markdown table td {
    max-width: 50dvw;
    min-width: 50dvw;
  }
}
.ArticleHtml .markdown > *:first-child {
  margin-top: 0;
}
.ArticleHtml .markdown img,
.ArticleHtml .markdown iframe {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
.ArticleHtml .markdown audio {
  width: "100%";
}
.ArticleHtml .markdown blockquote {
  background: #d4c4d3;
  margin: 0.75rem 0;
  padding: 0.75rem;
}
.ArticleHtml .markdown blockquote > * {
  margin: 0;
  padding: 0;
}
.ArticleHtml .meta {
  display: flex;
  gap: 1.25rem;
  font-size: 10.7692307692px;
  margin: 1rem 0;
}
@media only screen and (max-width: 540px) {
  .ArticleHtml .meta .published-date {
    display: none;
  }
}
.ArticleHtml .meta > span:before {
  display: block;
  font-size: 10.7692307692px;
  font-weight: bold;
}
.ArticleHtml .meta .author {
  flex-grow: 1;
  grid-area: author;
}
.ArticleHtml .meta .author:before {
  content: "Author";
}
.ArticleHtml .meta .published-date {
  flex-grow: 0;
  grid-area: published;
}
.ArticleHtml .meta .published-date:before {
  content: "Published ";
}
.ArticleHtml .meta .last-updated-date {
  flex-grow: 0;
  grid-area: updated;
  justify-self: flex-end;
}
.ArticleHtml .meta .last-updated-date:before {
  content: "Last updated ";
}
.Avatar {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: center;
}
.Avatar.primary {
  --color: #755773;
  --text-color: #ffffff;
}
.Avatar.secondary {
  --color: #f6f3f6;
  --text-color: #1b0d1a;
}
.Avatar.accent-1 {
  --color: #006d77;
  --text-color: #ffffff;
}
.Avatar.accent-2 {
  --color: #006d77;
  --text-color: #ffffff;
}
.Avatar.brand-1 {
  --color: #a88aa6;
  --text-color: #1b0d1a;
}
.Avatar.brand-2 {
  --color: #d4c4d3;
  --text-color: #1b0d1a;
}
.Avatar.success {
  --color: #006d77;
  --text-color: #ffffff;
}
.Avatar.warning {
  --color: #f0a202;
  --text-color: #1b0d1a;
}
.Avatar.error {
  --color: #f52d00;
  --text-color: #ffffff;
}
.Avatar.success {
  --color: #006d77;
  --text-color: #ffffff;
}
.Avatar .image {
  position: relative;
  border-radius: 50%;
  border: 2px solid var(--color);
  overflow: hidden;
  box-sizing: content-box;
}
.Avatar .image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.Avatar .image > svg {
  stroke: var(--color);
}
.Avatar .image .upload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  color: var(--text-color);
  cursor: pointer;
}
.Avatar .image .upload::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color);
  opacity: 0.8;
}
.Avatar .image .upload > div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-size: 10.7692307692px;
}
.Avatar .image .upload > div > svg {
  width: unset;
  height: unset;
}
.Avatar .image .upload > .Loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.Avatar .image .upload > .Loading > svg {
  stroke: var(--text-color);
}
.Avatar .image .upload > div {
  align-self: flex-start;
  text-align: center;
  font-size: 10.7692307692px;
}
.Avatar .image:hover .upload, .Avatar .image.loading .upload {
  display: block;
}
.Button.loading {
  line-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}
.Button.BackButton {
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.Button.BackButton svg {
  height: 1.5em;
  width: 1.5em;
}
.Button.BackButton:hover, .Button.BackButton:focus, .Button.BackButton:active {
  cursor: pointer;
}
.Button.BackButton:hover svg, .Button.BackButton:focus svg, .Button.BackButton:active svg {
  -webkit-animation-name: horizontal-pulse-left;
  animation-name: horizontal-pulse-left;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: ease-out;
  animation-duration: ease-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.Cart {
  width: 100%;
}
.Cart .line {
  width: 100%;
  display: table-row;
}
.Cart .line p {
  margin: 0;
}
.Cart .line .sub-description {
  white-space: pre-wrap;
  font-weight: normal;
}
.Cart .line.total, .Cart .line.subtotal, .Cart .line.discount, .Cart .line.product {
  font-weight: bold;
}
.Cart .line.programme {
  font-size: 0.9em;
  color: #a88aa6;
}
.Cart .line.programme > *:first-child:before {
  content: "- ";
}
.Cart .line.total > *, .Cart .line.subtotal > *, .Cart .line.discount > * {
  padding-top: 1.5em;
}
.Cart .line > * {
  width: 100%;
  display: table-cell;
  padding: 0.4rem;
}
.Cart .line > *:last-child {
  text-align: right;
}
.Cart .line.discount {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 540px) {
  .Cart .line.discount.input-visible {
    flex-direction: column;
  }
}
.Cart .line.discount .price Button {
  margin-right: 1.25rem;
}
.Cart .line.discount .discount-input {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.4rem;
}
.Cart .line.discount .discount-input input {
  margin: 0;
}
.Cart .line.discount .discount-input input::placeholder {
  color: #a88aa6;
}
.Cart .line.discount .discount-input .error {
  margin-top: 0;
}
.Center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100%;
}
.Checkbox {
  position: relative;
  width: min-content;
  display: flex;
}
.Checkbox .tabler-icon-check {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  stroke: #f6f3f6;
  pointer-events: none;
  transition: opacity 60ms ease-in-out;
}
.Checkbox.checked .tabler-icon-check {
  opacity: 1;
}
.FileInput .ImagePreview {
  position: relative;
}
.FileInput .ImagePreview .icon-tabler-photo {
  stroke: #755773;
  opacity: 0.5;
}
.FileInput .ImagePreview .icon-tabler-x {
  position: absolute;
  top: 0.4rem;
  right: 0.4rem;
  cursor: pointer;
  color: #755773;
  background-color: #f6f3f6;
  border-radius: 50%;
  padding: 4px;
  border: 1px solid transparent;
}
.FileInput .ImagePreview .icon-tabler-x:hover {
  border: 1px solid #f6f3f6;
  color: #f6f3f6;
  background-color: #755773;
}
.FormControl {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.4rem;
  flex-grow: 1;
  flex-shrink: 1;
}
.FormControl .error {
  color: #f52d00;
  font-size: 10.7692307692px;
}
.FormControl.invalid.submitted input {
  border-color: #f52d00;
}
.FormControl.boolean {
  display: grid;
  grid-template-areas: "input label" "error error";
  grid-template-columns: auto 1fr;
  align-items: center;
}
.FormControl.boolean > * {
  grid-area: input;
}
.FormControl.boolean > label {
  grid-area: label;
}
.FormControl.boolean > .error {
  grid-area: error;
}
button.IconButton {
  padding: 0 !important;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
button.IconButton > .tabler-icon {
  scale: 0.8;
  width: unset;
  height: unset;
}
button.IconButton.quiet {
  background: #f6f3f6;
}
button.IconButton.quiet:hover {
  background: var(--hover-color);
}
button.IconButton.quiet:hover > .tabler-icon {
  stroke: var(--text-color);
}
@keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.Loading {
  vertical-align: middle;
  --color: $color-primary;
}
.Loading.primary {
  --color: $color-primary;
}
.Loading.secondary {
  --color: $color-secondary;
}
.Loading.white {
  --color: $color-white;
}
.Loading.success {
  --color: $color-success;
}
.Loading.accent-1 {
  --color: $color-accent-1;
}
.Loading.accent-2 {
  --color: $color-accent-2;
}
.Loading.brand-1 {
  --color: $color-brand-1;
}
.Loading.brand-2 {
  --color: $color-brand-2;
}
.Loading.warning {
  --color: $color-warning;
}
.Loading.error {
  --color: $color-error;
}
.Loading.success {
  --color: $color-success;
}
.Loading .tabler-icon {
  width: unset;
  height: unset;
  animation: rotating 700ms linear infinite;
}
.Loading .tabler-icon path {
  color: var(--color);
}
span.Loading {
  display: inline-block;
  padding-left: 0.75rem;
}
.Modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  z-index: 10;
}
@keyframes modal-overlay-transition-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.5;
  }
}
@keyframes modal-overlay-transition-out {
  from {
    opacity: 0.5;
  }
  to {
    opacity: 0;
  }
}
@keyframes modal-content-transition-in {
  from {
    scale: 0.1;
  }
  to {
    scale: 1;
  }
}
@keyframes modal-content-transition-out {
  from {
    scale: 1;
  }
  to {
    scale: 0.1;
  }
}
.Modal .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(27, 13, 26, 0.5);
  animation-name: modal-overlay-transition-in;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-duration: 60ms;
  z-index: 10;
  pointer-events: none;
}
.Modal .inner {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: min(320px, 100dvw);
  max-width: min(860px, 100dvw);
  max-height: 95dvh;
  flex-direction: column;
  overflow: auto;
  width: max-content;
  z-index: 11;
  display: grid;
  grid-template-rows: 1fr;
}
@media only screen and (max-width: 540px) {
  .Modal .inner {
    min-width: unset;
    max-width: 100dvw;
    min-height: unset;
    max-height: 100dvh;
    width: 100dvw;
  }
}
.Modal .content {
  border: 4px solid #755773;
  box-shadow: rgba(27, 13, 26, 0.3) 1px 1px 3px 0px;
  animation-name: modal-content-transition-in;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-duration: 60ms;
  scale: 1;
  padding: 2.5rem 2rem;
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: auto;
}
.Modal .header {
  margin-bottom: 2.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 2px solid #755773;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  align-items: flex-start;
  flex-grow: 0;
  flex-shrink: 0;
}
.Modal .header h4 {
  color: #755773;
  margin: 0;
  font-weight: 700;
  font-family: "Mirador", "Times New Roman", Times, serif;
  font-size: 23.66px;
  flex-grow: 1;
}
.Modal .header .tabler-icon-x {
  color: #755773;
  cursor: pointer;
  flex-shrink: 0;
}
.Modal .header .tabler-icon-x:hover {
  border-radius: 0.5rem;
  background: #f6f3f6;
}
.Modal .header .tabler-icon-x:active {
  background: #755773;
  color: #f6f3f6;
}
.Modal .body {
  padding: 0;
  overflow: auto;
  flex-shrink: 1;
  flex-grow: 1;
  min-height: 36px;
  padding: 5px;
  box-sizing: content-box;
  justify-self: center;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #755773 #a88aa6;
}
.Modal .body::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.Modal .body::-webkit-scrollbar-thumb {
  background: #755773;
}
.Modal .body::-webkit-scrollbar-track {
  background: #a88aa6;
}
.Modal .body {
  scrollbar-face-color: #755773;
  scrollbar-track-color: #a88aa6;
}
.Modal.closing .overlay {
  animation-name: modal-overlay-transition-out;
  transition-delay: 60ms;
  opacity: 0;
}
.Modal.closing .content {
  animation-name: modal-content-transition-out;
  transition-delay: 60ms;
  scale: 0.1;
}
.PoweredByStripe {
  margin: 0 auto 0 0;
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.PoweredByStripe svg {
  fill: #755773;
  width: 128px;
}
.PoweredByStripe span {
  font-size: 10.7692307692px;
}
.ProductCheckoutModal {
  color: #755773;
}
.ProductCheckoutModal .footnote {
  text-align: right;
  font-size: 10.7692307692px;
  color: #a88aa6;
}
.ProductCheckoutModal .powered-by-stripe {
  margin: 0 auto 0 0;
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.ProductCheckoutModal .powered-by-stripe svg {
  fill: #755773;
  width: 128px;
}
.ProductCheckoutModal .powered-by-stripe span {
  font-size: 10.7692307692px;
}
.quote-style {
  position: relative;
  margin-bottom: 0.5em;
  font-size: 1rem;
  font-style: italic;
}
.quote-style:before, .quote-style:after {
  content: "";
  position: absolute;
  top: -1rem;
  z-index: 1;
  height: 2rem;
  width: 2rem;
  background-image: url(/images/quote-light_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.quote-style:before {
  left: -1.5rem;
}
.quote-style:after {
  right: -1.5rem;
  transform: rotate(180deg);
}
.quote-container {
  margin-left: auto;
  width: calc(100% - 8rem);
  margin-right: auto;
}
.quote-source {
  font-weight: 600;
}
.quote-source a {
  font-style: italic;
  margin-left: 0.5em;
}
.quote-container,
.quote-style,
.quote-source {
  font-size: 0.8rem;
}
.dark-bg .quote-style:before, .dark-bg .quote-style:after {
  background-image: url(/images/quote-dark_bg.png);
}
.SearchInput {
  position: relative;
}
.SearchInput input {
  padding-right: calc(20px + 1rem);
  width: 100%;
}
.SearchInput .tabler-icon {
  position: absolute;
  top: 1.4em;
  right: 0.75rem;
  transform: translateY(-50%);
}
.SearchInput .tabler-icon.tabler-icon-search, .SearchInput .tabler-icon.tabler-icon-x {
  stroke: #755773;
}
.SearchInput .tabler-icon.tabler-icon-x:hover, .SearchInput .tabler-icon.tabler-icon-x:focus, .SearchInput .tabler-icon.tabler-icon-x:active {
  cursor: pointer;
  stroke: #006d77;
}
.social-share-buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.social-share-buttons .subtext {
  font-size: 10.7692307692px;
}
.social-share-buttons .icons-container {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
}
@media only screen and (max-width: 1000px) {
  .social-share-buttons .icons-container {
    gap: 20px;
  }
}
.social-share-buttons .icons-container button,
.social-share-buttons .icons-container a {
  background: none;
  border: 2px solid transparent;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  scale: 0.8;
  color: inherit;
}
@media only screen and (max-width: 1000px) {
  .social-share-buttons .icons-container button,
  .social-share-buttons .icons-container a {
    scale: 1;
  }
}
.social-share-buttons .icons-container button .tabler-icon,
.social-share-buttons .icons-container a .tabler-icon {
  width: unset;
  height: unset;
}
.SubscriptionComparison p {
  text-align: center;
}
.SubscriptionComparison p.footnote {
  font-size: 10.7692307692px;
}
.SubscriptionComparison table {
  margin: 3rem 0;
  width: 100%;
  border-spacing: 0;
}
.SubscriptionComparison table tr.selected {
  background: #a88aa6;
}
.SubscriptionComparison table td {
  padding: 1rem;
  height: 64px;
  text-align: center;
}
.SubscriptionComparison table td:first-child > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.SubscriptionComparison table td:last-child > div {
  display: flex;
  justify-content: center;
  align-items: center;
}
.SubscriptionComparison table td:last-child .Button {
  padding: 0;
  font-weight: bold;
}
.SubscriptionComparison .discount {
  background: #755773;
  color: #f6f3f6;
  padding: 0.5rem 1rem;
  text-transform: uppercase;
  font-size: 10.7692307692px;
  min-width: 96px;
}
@media only screen and (max-width: 670px) {
  .SubscriptionComparison p {
    margin: 0.75rem 0;
  }
  .SubscriptionComparison table {
    margin: 1.25rem 0 0 0;
  }
  .SubscriptionComparison table thead {
    display: none;
  }
  .SubscriptionComparison table tbody {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
  .SubscriptionComparison table tr {
    padding: 1rem;
    border: 2px solid #755773;
    display: grid;
    gap: 0.5rem;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "header header" "total perDay" "renewal renewal";
  }
  .SubscriptionComparison table tr td:nth-child(1) {
    grid-area: header;
  }
  .SubscriptionComparison table tr td:nth-child(2) {
    grid-area: perDay;
    text-align: right;
  }
  .SubscriptionComparison table tr td:nth-child(3) {
    grid-area: renewal;
    font-size: 10.7692307692px;
  }
  .SubscriptionComparison table tr td:nth-child(4) {
    grid-area: total;
    text-align: left;
    font-size: 18.2px;
  }
  .SubscriptionComparison table tr td:last-child {
    display: none;
  }
  .SubscriptionComparison table tr.selected td:last-child:after {
    content: "Selected";
    font-weight: bold;
    font-size: 0.9em;
    vertical-align: middle;
    padding-left: 0.625rem;
  }
  .SubscriptionComparison table tr.selected td:last-child > * {
    vertical-align: middle;
  }
  .SubscriptionComparison table td {
    width: 100%;
    padding: 0;
    height: auto;
    text-align: center;
  }
  .SubscriptionComparison table td:first-child {
    font-weight: bold;
  }
  .SubscriptionComparison table td:first-child > div {
    justify-content: space-between;
  }
  .SubscriptionComparison table td:nth-child(2):after {
    content: "/day";
  }
  .SubscriptionComparison table td:nth-child(3):before {
    content: "Renews after ";
  }
  .SubscriptionComparison table td:nth-child(4) {
    font-weight: bold;
  }
  .SubscriptionComparison table td:last-child > .Button {
    width: 100%;
  }
}
.SubscriptionType {
  padding: 1.5em;
  border: 2px solid #755773;
  text-align: center;
}
.SubscriptionType:hover, .SubscriptionType:focus, .SubscriptionType:active {
  background: color-mix(in srgb, #755773 10%, transparent);
  cursor: pointer;
}
.SubscriptionType span {
  display: block;
}
.SubscriptionType .name {
  display: block;
  font-size: 18.2px;
}
.SubscriptionType .price {
  font-weight: bold;
  font-size: 2.5em;
  margin: 0.5em 0 0.25em;
}
.SubscriptionType .price .currency {
  font-size: 0.35em;
  display: inline-block;
  padding-left: 0.5em;
}
.SubscriptionType .duration {
  font-size: 1em;
}
.SubscriptionType .description {
  display: block;
  font-size: 0.8em;
  margin-top: 1.5em;
}
.Tabs {
  width: 100%;
}
.Tabs .tab-list {
  display: flex;
  border-bottom: 2px solid #755773;
  margin-bottom: 1.25rem;
}
.Tabs .tab-list .tab {
  padding: 1.25rem;
  border-bottom: 2px solid transparent;
  font-weight: bold;
}
.Tabs .tab-list .tab:hover {
  background-color: #a88aa6;
  cursor: pointer;
}
.Tabs .tab-list .tab.active {
  border-bottom-color: #755773;
}
.testimonial-section {
  --testimonial-quote-count: 3;
  text-align: center;
  background-size: cover;
  background-position: center;
  position: relative;
}
@media only screen and (min-width: 90rem) {
  .testimonial-section {
    --testimonial-quote-count: 3;
  }
}
@media only screen and (max-width: 90rem) {
  .testimonial-section {
    --testimonial-quote-count: 2;
  }
}
@media only screen and (max-width: 1000px) {
  .testimonial-section {
    --testimonial-quote-count: 1;
    min-height: unset;
  }
}
.testimonial-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}
.testimonial-section .testimonial-container {
  display: flex;
  justify-content: center;
  padding: 0;
  position: relative;
}
.testimonial-section .testimonial-container .carousel-btn {
  position: absolute;
  top: calc(50% - (3rem / 2));
  background-color: transparent;
  color: #ffffff;
  border: none;
  cursor: pointer;
  z-index: 12;
  width: 3rem;
  height: 3rem;
  padding: 0;
}
.testimonial-section .testimonial-container .carousel-btn svg {
  height: 100%;
  width: 100%;
}
.testimonial-section .testimonial-container .carousel-btn:hover, .testimonial-section .testimonial-container .carousel-btn:focus, .testimonial-section .testimonial-container .carousel-btn:active {
  -webkit-animation-name: horizontal-pulse-left;
  animation-name: horizontal-pulse-left;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: ease-out;
  animation-duration: ease-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.testimonial-section .testimonial-container .carousel-btn.prev-btn {
  right: calc(100% + (3rem / 4));
}
.testimonial-section .testimonial-container .carousel-btn.next-btn {
  left: calc(100% + (3rem / 4));
}
.testimonial-section .testimonial-carousel {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
  gap: 4rem;
  position: relative;
}
.testimonial-section .testimonial-carousel::-webkit-scrollbar {
  display: none;
}
.testimonial-section .testimonial-item {
  flex: 0 0 calc((100% - (4rem * (var(--testimonial-quote-count) - 1))) / var(--testimonial-quote-count));
  flex-direction: column;
  padding: 0 2rem;
  gap: 2rem;
  display: flex;
}
.testimonial-section .testimonial-item > * {
  margin: 0;
}
.testimonial-section .testimonial-item .testimonial-stars {
  display: flex;
  justify-content: center;
  gap: 0.75em;
}
.testimonial-section .testimonial-item .testimonial-stars svg {
  height: 1.75em;
}
.testimonial-section .testimonial-item .testimonial-text {
  font-size: 1rem;
}
.testimonial-section .testimonial-item .testimonial-author {
  font-size: 0.9rem;
}
.testimonial-section .testimonial-item .testimonial-author .name {
  font-weight: 700;
  letter-spacing: 0.03em;
}
.testimonial-section .testimonial-item .testimonial-author .location {
  padding-left: 0.15em;
}
@media only screen and (max-width: 540px) {
  .testimonial-section .testimonial-container {
    display: block;
  }
  .testimonial-section .testimonial-container .carousel-btn {
    position: initial;
    margin: 0 1rem;
  }
}
.ToastProvider {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: calc(420px + (1.25rem * 2));
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1rem;
  z-index: 20;
  padding: 1.25rem;
}
.Toast {
  position: relative;
  display: grid;
  grid-template-areas: "title icon" "body icon";
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 0.5rem;
  background: #ffffff;
  border: 1px solid var(--color);
  border-left-width: 0.625rem;
  border-radius: 0.4rem;
  padding: 0.75rem;
  width: 100%;
  max-width: 420px;
  box-shadow: rgba(27, 13, 26, 0.3) 1px 1px 3px 0px;
  animation-name: toast-transition-in;
  animation-iteration-count: 1;
  animation-timing-function: ease-in-out;
  animation-duration: 120ms;
}
@keyframes toast-transition-in {
  from {
    transform: translate(100%, 0);
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes toast-transition-out {
  from {
    transform: translate(0, 0);
  }
  to {
    transform: translate(calc(100% + 1.25rem), 0);
  }
}
.Toast.primary {
  --color: #755773;
}
.Toast.secondary {
  --color: #f6f3f6;
}
.Toast.success {
  --color: #006d77;
}
.Toast.accent-1 {
  --color: #006d77;
}
.Toast.accent-2 {
  --color: #006d77;
}
.Toast.brand-1 {
  --color: #a88aa6;
}
.Toast.brand-2 {
  --color: #d4c4d3;
}
.Toast.warning {
  --color: #f0a202;
}
.Toast.error {
  --color: #f52d00;
}
.Toast.success {
  --color: #006d77;
}
.Toast.closing {
  animation-name: toast-transition-out;
  transition-delay: 120ms;
  transform: translate(calc(100% + 1.25rem), 0);
}
.Toast .title {
  grid-area: title;
  color: var(--color);
  margin: 0;
  font-weight: 700;
  font-family: "Mirador", "Times New Roman", Times, serif;
  font-size: 14px;
}
.Toast .body {
  grid-area: body;
  font-size: 10.7692307692px;
}
.Toast .autoclose {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: calc(0.4rem / 2);
  background: var(--color);
  transition-property: width;
  transition-duration: 0ms;
  transition-timing-function: linear;
}
.Toast .autoclose.progressing {
  width: 0;
}
.Toast .close {
  grid-area: icon;
  color: var(--color);
  cursor: pointer;
  align-self: center;
}
.Toast .close:hover {
  border-radius: 0.4rem;
  background: #f6f3f6;
}
.Toast .close:active {
  background: var(--color);
  color: #f6f3f6;
}
button,
.button,
.btn {
  --color: #755773;
  --hover-color: #a484a2;
  --text-color: #ffffff;
  --text-hover-color: #1b0d1a;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 0.9em;
  text-align: center;
  background: var(--color);
  color: var(--text-color);
  border: 2px solid var(--color);
  padding: 0.8em 1.5em;
}
button.primary,
.button.primary,
.btn.primary {
  --color: #755773;
  --hover-color: #a484a2;
  --text-color: #ffffff;
  --text-hover-color: #1b0d1a;
}
button.secondary,
.button.secondary,
.btn.secondary {
  --color: #f6f3f6;
  --hover-color: #f9f7f9;
  --text-color: #1b0d1a;
  --text-hover-color: #1b0d1a;
}
button.white,
.button.white,
.btn.white {
  --color: #ffffff;
  --hover-color: white;
  --text-color: #1b0d1a;
  --text-hover-color: #1b0d1a;
}
button.success,
.button.success,
.btn.success {
  --color: #006d77;
  --hover-color: #00d8ec;
  --text-color: #ffffff;
  --text-hover-color: #1b0d1a;
}
button.accent-1,
.button.accent-1,
.btn.accent-1 {
  --color: #006d77;
  --hover-color: #00d8ec;
  --text-color: #ffffff;
  --text-hover-color: #1b0d1a;
}
button.accent-2,
.button.accent-2,
.btn.accent-2 {
  --color: #006d77;
  --hover-color: #00d8ec;
  --text-color: #ffffff;
  --text-hover-color: #1b0d1a;
}
button.brand-1,
.button.brand-1,
.btn.brand-1 {
  --color: #a88aa6;
  --hover-color: #c2adc1;
  --text-color: #1b0d1a;
  --text-hover-color: #1b0d1a;
}
button.brand-2,
.button.brand-2,
.btn.brand-2 {
  --color: #d4c4d3;
  --hover-color: #e1d6e0;
  --text-color: #1b0d1a;
  --text-hover-color: #1b0d1a;
}
button.warning,
.button.warning,
.btn.warning {
  --color: #f0a202;
  --hover-color: #fdc145;
  --text-color: #1b0d1a;
  --text-hover-color: #1b0d1a;
}
button.error,
.button.error,
.btn.error {
  --color: #f52d00;
  --hover-color: #ff6846;
  --text-color: #ffffff;
  --text-hover-color: #1b0d1a;
}
button.success,
.button.success,
.btn.success {
  --color: #006d77;
  --hover-color: #00d8ec;
  --text-color: #ffffff;
  --text-hover-color: #1b0d1a;
}
button:hover, button:focus, button:active,
.button:hover,
.button:focus,
.button:active,
.btn:hover,
.btn:focus,
.btn:active {
  background-color: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
  outline-color: var(--hover-color);
}
button:hover, button:focus, button:active,
.button:hover,
.button:focus,
.button:active,
.btn:hover,
.btn:focus,
.btn:active {
  cursor: pointer;
}
button.full-size,
.button.full-size,
.btn.full-size {
  font-size: 1em;
}
button.small-button,
.button.small-button,
.btn.small-button {
  padding: 0.5em 1.25em;
  font-size: 0.8em;
}
button.large-button,
.button.large-button,
.btn.large-button {
  padding: 1em 3em;
  font-size: 1em;
  min-width: 18rem;
}
@media only screen and (max-width: 540px) {
  button.large-button,
  .button.large-button,
  .btn.large-button {
    padding: 1rem;
  }
}
button.extra-large-button,
.button.extra-large-button,
.btn.extra-large-button {
  padding: 1.5rem 2rem;
  font-size: 1em;
  min-width: 16rem;
}
button.quiet, button.outline,
.button.quiet,
.button.outline,
.btn.quiet,
.btn.outline {
  background: var(--color);
  color: var(--text-color);
  border: 2px solid var(--color);
  padding: 0.8em 1.5em;
  background: transparent;
  color: var(--color);
}
button.quiet:hover, button.quiet:focus, button.quiet:active, button.outline:hover, button.outline:focus, button.outline:active,
.button.quiet:hover,
.button.quiet:focus,
.button.quiet:active,
.button.outline:hover,
.button.outline:focus,
.button.outline:active,
.btn.quiet:hover,
.btn.quiet:focus,
.btn.quiet:active,
.btn.outline:hover,
.btn.outline:focus,
.btn.outline:active {
  background-color: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
  outline-color: var(--hover-color);
}
button.quiet:hover, button.quiet:focus, button.quiet:active, button.outline:hover, button.outline:focus, button.outline:active,
.button.quiet:hover,
.button.quiet:focus,
.button.quiet:active,
.button.outline:hover,
.button.outline:focus,
.button.outline:active,
.btn.quiet:hover,
.btn.quiet:focus,
.btn.quiet:active,
.btn.outline:hover,
.btn.outline:focus,
.btn.outline:active {
  background: color-mix(in srgb, var(--color) 10%, transparent);
  border-color: var(--color);
  color: var(--color);
}
button.quiet-large,
.button.quiet-large,
.btn.quiet-large {
  background: var(--color);
  color: var(--text-color);
  border: 2px solid var(--color);
  padding: 0.8em 1.5em;
  background: transparent;
  color: var(--color);
  padding: 1.5rem 2rem;
  font-size: 1em;
  min-width: 16rem;
  border: 1px solid var(--color);
  letter-spacing: 0.07em;
}
button.quiet-large:hover, button.quiet-large:focus, button.quiet-large:active,
.button.quiet-large:hover,
.button.quiet-large:focus,
.button.quiet-large:active,
.btn.quiet-large:hover,
.btn.quiet-large:focus,
.btn.quiet-large:active {
  background-color: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
  outline-color: var(--hover-color);
}
button.quiet-large:hover, button.quiet-large:focus, button.quiet-large:active,
.button.quiet-large:hover,
.button.quiet-large:focus,
.button.quiet-large:active,
.btn.quiet-large:hover,
.btn.quiet-large:focus,
.btn.quiet-large:active {
  background: color-mix(in srgb, var(--color) 10%, transparent);
  border-color: var(--color);
  color: var(--color);
}
@media only screen and (max-width: 540px) {
  button.quiet-large,
  .button.quiet-large,
  .btn.quiet-large {
    padding: 1.5rem 1rem;
  }
}
button.subtle, button.inline,
.button.subtle,
.button.inline,
.btn.subtle,
.btn.inline {
  background: var(--color);
  color: var(--text-color);
  border: 2px solid var(--color);
  padding: 0.8em 1.5em;
  padding: unset;
  border: none;
  background: none;
  color: var(--color);
  --text-hover-color: var(--hover-color);
}
button.subtle:hover, button.subtle:focus, button.subtle:active, button.inline:hover, button.inline:focus, button.inline:active,
.button.subtle:hover,
.button.subtle:focus,
.button.subtle:active,
.button.inline:hover,
.button.inline:focus,
.button.inline:active,
.btn.subtle:hover,
.btn.subtle:focus,
.btn.subtle:active,
.btn.inline:hover,
.btn.inline:focus,
.btn.inline:active {
  background-color: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
  outline-color: var(--hover-color);
}
button.subtle:hover, button.subtle:focus, button.subtle:active, button.inline:hover, button.inline:focus, button.inline:active,
.button.subtle:hover,
.button.subtle:focus,
.button.subtle:active,
.button.inline:hover,
.button.inline:focus,
.button.inline:active,
.btn.subtle:hover,
.btn.subtle:focus,
.btn.subtle:active,
.btn.inline:hover,
.btn.inline:focus,
.btn.inline:active {
  background: none;
}
button:disabled, button.disabled,
.button:disabled,
.button.disabled,
.btn:disabled,
.btn.disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
buttona,
.buttona,
.btna {
  display: block;
}
button.rounded,
.button.rounded,
.btn.rounded {
  border-radius: 2em;
  background-color: transparent;
  color: #755773;
  border: 2px solid #755773;
}
button.rounded:hover,
.button.rounded:hover,
.btn.rounded:hover {
  background-color: #755773;
  color: #ffffff;
}
a.button:after {
  content: unset;
}
button.quiet-large,
.button.quiet-large,
.btn.quiet-large {
  background: var(--color);
  color: var(--text-color);
  border: 2px solid var(--color);
  padding: 0.8em 1.5em;
  background: transparent;
  color: var(--color);
  padding: 1.5rem 2rem;
  font-size: 1em;
  min-width: 16rem;
  border: 1px solid var(--color);
  letter-spacing: 0.07em;
  transition: background-color 300ms ease-out, border-color 300ms ease-out, color 300ms ease-out;
}
button.quiet-large:hover, button.quiet-large:focus, button.quiet-large:active,
.button.quiet-large:hover,
.button.quiet-large:focus,
.button.quiet-large:active,
.btn.quiet-large:hover,
.btn.quiet-large:focus,
.btn.quiet-large:active {
  background-color: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
  outline-color: var(--hover-color);
}
button.quiet-large:hover, button.quiet-large:focus, button.quiet-large:active,
.button.quiet-large:hover,
.button.quiet-large:focus,
.button.quiet-large:active,
.btn.quiet-large:hover,
.btn.quiet-large:focus,
.btn.quiet-large:active {
  background: color-mix(in srgb, var(--color) 10%, transparent);
  border-color: var(--color);
  color: var(--color);
}
@media only screen and (max-width: 540px) {
  button.quiet-large,
  .button.quiet-large,
  .btn.quiet-large {
    padding: 1.5rem 1rem;
  }
}
button.quiet-large.white,
.button.quiet-large.white,
.btn.quiet-large.white {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: #ffffff;
  color: #ffffff;
}
button.quiet-large.white:hover, button.quiet-large.white:focus,
.button.quiet-large.white:hover,
.button.quiet-large.white:focus,
.btn.quiet-large.white:hover,
.btn.quiet-large.white:focus {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #755773;
}
button.quiet-large.white:active,
.button.quiet-large.white:active,
.btn.quiet-large.white:active {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #755773;
}
button.quiet-large.primary,
.button.quiet-large.primary,
.btn.quiet-large.primary {
  background-color: rgba(52, 82, 55, 0.2);
  border-color: #755773;
  color: #755773;
}
button.quiet-large.primary:hover, button.quiet-large.primary:focus,
.button.quiet-large.primary:hover,
.button.quiet-large.primary:focus,
.btn.quiet-large.primary:hover,
.btn.quiet-large.primary:focus {
  background-color: #755773;
  border-color: #755773;
  color: #ffffff;
}
button.quiet-large.primary:active,
.button.quiet-large.primary:active,
.btn.quiet-large.primary:active {
  background-color: #755773;
  border-color: #755773;
  color: #ffffff;
}
h1,
h2 {
  font-family: "Mirador", "Times New Roman", Times, serif;
  font-weight: 700;
}
h3,
h4,
h5,
h6 {
  font-family: "Mirador", "Times New Roman", Times, serif;
  font-weight: 400;
}
h1 {
  font-size: 39.9854px;
}
h2 {
  font-size: 30.758px;
}
h3 {
  font-size: 23.66px;
}
h4 {
  font-size: 18.2px;
}
h5 {
  font-size: 18.2px;
}
h6 {
  font-size: 14px;
}
@media only screen and (max-width: 540px) {
  h1 {
    font-size: 30.758px;
  }
  h2 {
    font-size: 23.66px;
  }
  h3 {
    font-size: 18.2px;
  }
  h4 {
    font-size: 18.2px;
  }
  h5 {
    font-size: 14px;
  }
  h6 {
    font-size: 14px;
  }
}
label {
  display: block;
  font-size: 0.75em;
  font-weight: 300;
  color: #755773;
}
label {
  color: #755773;
}
input,
textarea,
select {
  border-color: #755773;
  color: #755773;
  background-color: transparent;
}
input svg.tabler-icon,
input + svg.tabler-icon,
textarea svg.tabler-icon,
textarea + svg.tabler-icon,
select svg.tabler-icon,
select + svg.tabler-icon {
  stroke: #755773;
}
input::placeholder,
textarea::placeholder,
select::placeholder {
  color: color-mix(in srgb, #755773 20%, transparent);
}
input:hover, input:focus, input:active,
textarea:hover,
textarea:focus,
textarea:active,
select:hover,
select:focus,
select:active {
  background-color: color-mix(in srgb, #755773 10%, transparent);
}
input:hover::placeholder, input:focus::placeholder, input:active::placeholder,
textarea:hover::placeholder,
textarea:focus::placeholder,
textarea:active::placeholder,
select:hover::placeholder,
select:focus::placeholder,
select:active::placeholder {
  color: color-mix(in srgb, #755773 50%, transparent);
}
input,
textarea,
select {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 0.9em;
  transition: background-color 60ms ease-in-out;
}
input:hover,
textarea:hover,
select:hover {
  cursor: text;
}
input:not([type=checkbox]),
select {
  padding: 1em 1em;
  position: relative;
  border-width: 0px;
  border-bottom-width: 2px;
  outline: none;
  margin-bottom: 2em;
}
input:not([type=checkbox]) + .error,
select + .error {
  margin-top: -2em;
}
select {
  padding-right: 2rem;
}
select:hover {
  cursor: pointer;
}
textarea {
  padding: 0.5em 1em;
  line-height: 1.15em;
  border: 2px solid;
}
label.checkbox {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.Checkbox {
  margin-right: 0.5em;
}
.Checkbox.checked input[type=checkbox] {
  background-color: #755773;
}
.Checkbox.checked svg.tabler-icon {
  stroke: #f6f3f6;
}
.Checkbox.checked:hover input[type=checkbox], .Checkbox.checked:focus input[type=checkbox], .Checkbox.checked:active input[type=checkbox] {
  background-color: color-mix(in srgb, #755773 50%, transparent);
}
.Checkbox.checked:hover svg.tabler-icon, .Checkbox.checked:focus svg.tabler-icon, .Checkbox.checked:active svg.tabler-icon {
  stroke: #755773;
}
input[type=checkbox] {
  appearance: none;
  border: 2px solid;
  margin: 0;
  width: 2em;
  height: 2em;
  border-color: #755773;
  color: #755773;
  background-color: transparent;
  cursor: pointer;
}
input[type=checkbox] + svg.tabler-icon {
  width: 1.6em;
  height: 1.6em;
}
input[type=checkbox] svg.tabler-icon,
input[type=checkbox] + svg.tabler-icon {
  stroke: #755773;
}
input[type=checkbox]::placeholder {
  color: color-mix(in srgb, #755773 20%, transparent);
}
input[type=checkbox]:hover, input[type=checkbox]:focus, input[type=checkbox]:active {
  background-color: color-mix(in srgb, #755773 10%, transparent);
}
input[type=checkbox]:hover::placeholder, input[type=checkbox]:focus::placeholder, input[type=checkbox]:active::placeholder {
  color: color-mix(in srgb, #755773 50%, transparent);
}
input[type=checkbox].small {
  width: 1.25em;
  height: 1.25em;
}
input[type=checkbox].small + svg.tabler-icon {
  width: 1em;
  height: 1em;
}
input[type=checkbox].large {
  width: 2.5em;
  height: 2.5em;
}
input[type=checkbox].large + svg.tabler-icon {
  width: 2em;
  height: 2em;
}
a {
  color: #006d77;
}
.color-primary {
  --color: #755773;
  color: var(--color);
}
.color-secondary {
  --color: #f6f3f6;
  color: var(--color);
}
.color-accent-1 {
  --color: #006d77;
  color: var(--color);
}
.color-accent-2 {
  --color: #006d77;
  color: var(--color);
}
.color-brand-1 {
  --color: #a88aa6;
  color: var(--color);
}
.color-brand-2 {
  --color: #d4c4d3;
  color: var(--color);
}
.color-warning {
  --color: #f0a202;
  color: var(--color);
}
.color-error {
  --color: #f52d00;
  color: var(--color);
}
.color-success {
  --color: #006d77;
  color: var(--color);
}
.color-success-darker {
  --color: black;
  color: var(--color);
}
.flex {
  display: flex;
}
.flex, .flex.r {
  flex-direction: row;
}
.flex.rr {
  flex-direction: row-reverse;
}
.flex.c {
  flex-direction: column;
}
.flex.cr {
  flex-direction: column-reverse;
}
.flex.w {
  flex-wrap: wrap;
}
.flex.wr {
  flex-wrap: wrap-reverse;
}
.flex.nw {
  flex-wrap: nowrap;
}
.flex.js {
  justify-content: flex-start;
}
.flex.je {
  justify-content: flex-end;
}
.flex.jc {
  justify-content: center;
}
.flex.jb {
  justify-content: space-between;
}
.flex.ja {
  justify-content: space-around;
}
.flex.as {
  align-items: flex-start;
}
.flex.ae {
  align-items: flex-end;
}
.flex.ac {
  align-items: center;
}
.flex.ab {
  align-items: baseline;
}
.flex.ast {
  align-items: stretch;
}
.flex.gxxs {
  gap: 0.5rem;
}
.flex.gxs {
  gap: 0.625rem;
}
.flex.gsm {
  gap: 0.75rem;
}
.flex.gmd {
  gap: 1rem;
}
.flex.glg {
  gap: 1.25rem;
}
.flex.gxl {
  gap: 1.5rem;
}
.flex.gxxl {
  gap: 2rem;
}
.fg0 {
  flex-grow: 0;
}
.fg1 {
  flex-grow: 1;
}
.fs0 {
  flex-shrink: 0;
}
.fs1 {
  flex-shrink: 1;
}
.w100 {
  width: 100%;
}
.h100 {
  height: 100%;
}
.m0 {
  margin: 0;
}
.mtxxxs {
  margin-top: 0.4rem;
}
.mtxxs {
  margin-top: 0.5rem;
}
.mtxs {
  margin-top: 0.625rem;
}
.mtsm {
  margin-top: 0.75rem;
}
.mtmd {
  margin-top: 1rem;
}
.mtlg {
  margin-top: 1.25rem;
}
.mtxl {
  margin-top: 1.5rem;
}
.mtxxl {
  margin-top: 2rem;
}
.mtxxxl {
  margin-top: 2.5rem;
}
.p0 {
  padding: 0;
}
.ptxxxs {
  padding-top: 0.4rem;
}
.ptxxs {
  padding-top: 0.5rem;
}
.ptxs {
  padding-top: 0.625rem;
}
.ptsm {
  padding-top: 0.75rem;
}
.ptmd {
  padding-top: 1rem;
}
.ptlg {
  padding-top: 1.25rem;
}
.ptxl {
  padding-top: 1.5rem;
}
.ptxxl {
  padding-top: 2rem;
}
.ptxxxl {
  padding-top: 2.5rem;
}
.tac {
  text-align: center;
}
.tal {
  text-align: left;
}
.tar {
  text-align: right;
}
.font-xxs {
  font-size: 6.372325899px !important;
}
.font-xs {
  font-size: 8.2840236686px !important;
}
.font-sm {
  font-size: 10.7692307692px !important;
}
.font-md {
  font-size: 14px !important;
}
.font-lg {
  font-size: 18.2px !important;
}
.font-xl {
  font-size: 23.66px !important;
}
.font-xxl {
  font-size: 30.758px !important;
}
.font-xxxl {
  font-size: 39.9854px !important;
}
.font-xxxxl {
  font-size: 51.98102px !important;
}
.pre {
  white-space: pre-wrap;
}
h1 {
  margin: 0 0 var(--page_padding-vertical);
  font-size: 2.44140625rem;
}
p {
  line-height: 1.75em;
  margin-bottom: 2em;
}
span,
li,
p {
  font-weight: 500;
}
a {
  text-decoration: none;
}
a:hover, a:focus, a:active {
  color: #006d77;
}
ul {
  line-height: 1.75em;
  margin: 0 7em 2em 0;
  padding-left: 2.5em;
}
ul li {
  margin-bottom: 0.5em;
}
textarea {
  padding: 1em;
}
@media only screen and (max-width: 768px) {
  h1 {
    font-size: 1.953125rem;
  }
  ul {
    margin-right: 0;
  }
}
:root {
  --page_padding-vertical: 1.5rem;
  --page_padding-horizontal: 2.5rem;
}
@media only screen and (max-width: 768px) {
  :root {
    --page_padding-vertical: 1.25rem;
    --page_padding-horizontal: 2rem;
  }
}
@media only screen and (max-width: 425px) {
  :root {
    --page_padding-vertical: 1rem;
    --page_padding-horizontal: 1.5rem;
  }
}
html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  color: #1b0d1a;
}
@media only screen and (max-width: 768px) {
  html,
  body {
    font-size: 15px;
  }
}
#__next,
main,
#root {
  height: 100%;
}
.PageContent {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  padding: calc(var(--page_padding-vertical) * 2) var(--page_padding-horizontal);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #755773 #a88aa6;
}
.PageContent::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.PageContent::-webkit-scrollbar-thumb {
  background: #755773;
}
.PageContent::-webkit-scrollbar-track {
  background: #a88aa6;
}
.PageContent {
  scrollbar-face-color: #755773;
  scrollbar-track-color: #a88aa6;
}
.PageContent > *:first-child {
  margin-top: 0;
}
.restricted-width {
  max-width: max(860px, 60vw);
}
svg.tabler-icon {
  width: 1.5em;
  height: 1.5em;
}
.dark-bg {
  background-color: #755773;
  color: #f6f3f6;
}
.dark-bg a {
  color: inherit;
}
.dark-bg a:hover, .dark-bg a:focus, .dark-bg a:active {
  color: #d4c4d3;
}
.dark-bg label {
  color: #f6f3f6;
}
.dark-bg input,
.dark-bg textarea,
.dark-bg select {
  border-color: #f6f3f6;
  color: #f6f3f6;
  background-color: transparent;
}
.dark-bg input svg.tabler-icon,
.dark-bg input + svg.tabler-icon,
.dark-bg textarea svg.tabler-icon,
.dark-bg textarea + svg.tabler-icon,
.dark-bg select svg.tabler-icon,
.dark-bg select + svg.tabler-icon {
  stroke: #f6f3f6;
}
.dark-bg input::placeholder,
.dark-bg textarea::placeholder,
.dark-bg select::placeholder {
  color: color-mix(in srgb, #f6f3f6 20%, transparent);
}
.dark-bg input:hover, .dark-bg input:focus, .dark-bg input:active,
.dark-bg textarea:hover,
.dark-bg textarea:focus,
.dark-bg textarea:active,
.dark-bg select:hover,
.dark-bg select:focus,
.dark-bg select:active {
  background-color: color-mix(in srgb, #f6f3f6 10%, transparent);
}
.dark-bg input:hover::placeholder, .dark-bg input:focus::placeholder, .dark-bg input:active::placeholder,
.dark-bg textarea:hover::placeholder,
.dark-bg textarea:focus::placeholder,
.dark-bg textarea:active::placeholder,
.dark-bg select:hover::placeholder,
.dark-bg select:focus::placeholder,
.dark-bg select:active::placeholder {
  color: color-mix(in srgb, #f6f3f6 50%, transparent);
}
.light-bg {
  background-color: #ffffff;
  color: #755773;
}
.light-bg a {
  color: inherit;
}
.light-bg a:hover, .light-bg a:focus, .light-bg a:active {
  color: #006d77;
}
h2 {
  font-family: "Montserrat", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: unset;
  margin-bottom: 1em;
  margin-top: 0;
}
.page-header-subtitle {
  margin-top: 0;
  margin-bottom: 1em;
}
.list-container.with-bg > * {
  display: flex;
  margin: calc(var(--page_padding-vertical) * 0.5) 0;
  font-size: 0.9rem;
}
@media only screen and (max-width: 768px) {
  .list-container.with-bg > * {
    margin: calc(var(--page_padding-vertical) * 1) 0;
  }
}
.list-container.with-bg > *:last-of-type {
  margin-bottom: 0;
}
.list-container.with-bg > *.locked {
  opacity: 0.25;
}
.list-container.with-bg > * {
  align-items: stretch;
}
.list-container.with-bg > * > *:not(:last-child) {
  padding: 1em 1em;
  background: color-mix(in srgb, #755773 10%, transparent);
}
.list-container.with-bg > * > :last-child {
  margin-left: 1em;
  align-self: center;
}
.list-container.with-bg > a:hover:not(.locked) > *:not(:last-child), .list-container.with-bg > a:focus:not(.locked) > *:not(:last-child), .list-container.with-bg > a:active:not(.locked) > *:not(:last-child) {
  background: color-mix(in srgb, #755773 40%, transparent);
  color: #755773;
}
.list-container.with-bg > a:hover.locked, .list-container.with-bg > a:focus.locked, .list-container.with-bg > a:active.locked {
  cursor: default;
  color: inherit;
}
.list-container:not(.with-bg) > * {
  display: flex;
  margin: calc(var(--page_padding-vertical) * 0.5) 0;
  font-size: 0.9rem;
}
@media only screen and (max-width: 768px) {
  .list-container:not(.with-bg) > * {
    margin: calc(var(--page_padding-vertical) * 1) 0;
  }
}
.list-container:not(.with-bg) > *:last-of-type {
  margin-bottom: 0;
}
.list-container:not(.with-bg) > *.locked {
  opacity: 0.25;
}
.list-container:not(.with-bg) > * {
  align-items: center;
  gap: 1.25em;
  padding: 1em 1em;
}
.list-container:not(.with-bg) > a:hover, .list-container:not(.with-bg) > a:focus, .list-container:not(.with-bg) > a:active {
  background: color-mix(in srgb, #755773 10%, transparent);
  color: #755773;
}
@media only screen and (min-width: 769px) {
  .ActivityList .hidden-on-desktop {
    display: none;
  }
  .ActivityList .title {
    flex-grow: 1;
  }
  .ActivityList .title svg {
    width: 1rem;
    height: 1rem;
  }
  .ActivityList .type {
    font-size: 0.8em;
    font-weight: 400;
    text-align: right;
    min-width: 6.5em;
  }
}
@media only screen and (max-width: 768px) {
  .ActivityList .hidden-on-mobile {
    display: none;
  }
  .ActivityList.list-container > * {
    display: grid;
    grid-template-areas: "title icon" "title type";
    grid-template-columns: 1fr 4.5em;
    position: relative;
    row-gap: 0;
  }
  .ActivityList.list-container > *.incomplete-activity {
    border: 2px solid #755773;
    background: rgba(212, 196, 211, 0.5);
    margin-top: calc(var(--page_padding-vertical) + 1.75em);
  }
  .ActivityList.list-container > *.incomplete-activity:first-child {
    margin-top: calc(var(--page_padding-vertical) * 3);
  }
  .ActivityList.list-container > *.completed-activity {
    background: rgba(212, 196, 211, 0.1);
  }
  .ActivityList.list-container > *.completed-activity .completion-status {
    display: none;
  }
  .ActivityList .ResourceTypeIcon {
    grid-area: icon;
    justify-self: center;
  }
  .ActivityList .completion-status {
    background: #755773;
    color: #ffffff;
    font-size: 0.8rem;
    padding: 0.5em 1em;
    position: absolute;
    bottom: 100%;
    left: 1em;
  }
  .ActivityList .title {
    font-weight: 600;
    grid-area: title;
  }
  .ActivityList .title svg {
    width: 0.8rem;
    height: 0.8rem;
  }
  .ActivityList .type {
    font-size: 0.64rem;
    grid-area: type;
    text-align: center;
  }
}
@media only screen and (max-width: 425px) {
  .ActivityList.list-container > * {
    grid-template-areas: "title title" "icon type";
    grid-template-columns: auto 1fr;
    row-gap: 0.5em;
    column-gap: 0.5em;
    padding: 1em 0.75em;
  }
  .ActivityList .type {
    text-align: left;
  }
}
.ActivityLog .header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--page_padding-vertical);
}
.ActivityLog .header h1 {
  margin: 0;
}
.ActivityLog .duration-total .label,
.ActivityLog .duration-total .amount {
  display: block;
}
.ActivityLog .duration-total .label {
  font-size: 0.8rem;
  font-weight: bold;
}
.ActivityLog .month {
  width: calc(100% + 4rem);
  margin-left: -2rem;
}
.ActivityLog .month h2 {
  margin: calc(var(--page_padding-vertical) * 2) 2rem 1.5em;
}
.ActivityLog .pagination {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.ActivityLog .pagination p {
  font-size: 0.8rem;
}
.ActivityLogItem {
  position: relative;
  margin: 1.25rem 0;
  display: grid;
  column-gap: 0.75rem;
  row-gap: 0.4rem;
  grid-template-areas: "icon title hours date" "icon description hours date";
  border-left: 2rem solid #ffffff;
  border-right: 2rem solid #ffffff;
  grid-template-columns: auto 1fr auto auto;
  background: #f6f3f6;
  padding: calc(var(--page_padding-vertical) * 0.75) calc(var(--page_padding-horizontal) * 0.5);
  color: #755773;
  font-size: 0.8rem;
  align-items: center;
}
.ActivityLogItem.ManualActivityActivityLogItem:hover, .ActivityLogItem.ManualActivityActivityLogItem:focus, .ActivityLogItem.ManualActivityActivityLogItem:active {
  background: #d4c4d3;
  border-left-color: #d4c4d3;
}
.ActivityLogItem .ActivityLogTypeIcon {
  grid-area: icon;
  align-self: center;
}
.ActivityLogItem .ActivityLogTypeIcon svg {
  stroke: #755773;
  width: 1.5em !important;
  height: 1.5em !important;
}
.ActivityLogItem .title {
  grid-area: title;
  font-weight: bold;
}
.ActivityLogItem .description {
  grid-area: description;
  font-size: 0.8rem;
  line-height: 1.5em;
}
.ActivityLogItem .description ul {
  margin: 0;
}
.ActivityLogItem .date {
  grid-area: date;
  text-align: right;
  font-size: 0.64rem;
}
.ActivityLogItem .hours {
  grid-area: hours;
  font-weight: bold;
  text-align: right;
}
.ActivityLogItem .hours:empty {
  display: none;
}
.ActivityLogItem:hover .delete-manual-activity {
  display: block;
}
.ActivityLogItem .delete-manual-activity {
  display: none;
  position: absolute;
  left: -24px;
  top: 50%;
  stroke: #755773;
  transform: translateY(-50%);
  cursor: pointer;
}
.ActivityLogItem .delete-manual-activity:hover {
  border-radius: 0.4rem;
  background: #f6f3f6;
}
.ActivityLogItem .delete-manual-activity:active {
  background: #755773;
  stroke: #f6f3f6;
}
@media only screen and (max-width: 1000px) {
  .ActivityLogItem {
    grid-template-columns: auto 1fr auto 5.5em;
  }
}
@media only screen and (max-width: 768px) {
  .ActivityLogItem {
    grid-template-areas: "title title" "description description" "date hours";
    grid-template-columns: auto 1fr;
    row-gap: 0.8rem;
    padding: 1.5rem 1rem;
  }
  .ActivityLogItem .ActivityLogTypeIcon {
    display: none;
  }
  .ActivityLogItem .date,
  .ActivityLogItem .hours {
    font-size: 0.8rem;
    text-align: left;
  }
  .ActivityLogItem .date {
    font-weight: 600;
  }
  .ActivityLogItem .hours {
    font-weight: 400;
  }
  .ActivityLogItem.ManualActivityActivityLogItem {
    grid-template-areas: "title title delete" "description description delete" "date hours delete";
    grid-template-columns: auto 1fr auto;
  }
  .ActivityLogItem.ManualActivityActivityLogItem:hover, .ActivityLogItem.ManualActivityActivityLogItem:focus, .ActivityLogItem.ManualActivityActivityLogItem:active {
    border-left-color: white;
    background: #f6f3f6;
  }
  .ActivityLogItem.ManualActivityActivityLogItem .delete-manual-activity {
    grid-area: delete;
    display: block;
  }
}
.AddActivityModal .button-container {
  display: flex;
  gap: var(--page_padding-vertical);
  justify-content: flex-end;
  margin-top: var(--page_padding-vertical);
}
@media only screen and (min-width: 768px) {
  .AddActivityModal {
    width: 50dvw;
    max-width: 600px;
  }
}
@media only screen and (max-width: 768px) {
  .AddActivityModal {
    width: 80dvw;
  }
}
@media only screen and (max-width: 425px) {
  .AddActivityModal {
    width: 100%;
  }
  .AddActivityModal .button-container {
    flex-direction: column;
    margin-top: calc(var(--page_padding-vertical) * 2);
  }
  .AddActivityModal .close-button {
    order: 100;
  }
}
.Address {
  position: relative;
}
.Address .name {
  font-weight: bold;
}
.Address .street-address {
  white-space: pre-wrap;
  margin: 0.625rem 0;
}
.AddressManager > button {
  margin-bottom: calc(var(--page_padding-vertical) * 2);
}
.AddressManager .addresses {
  display: flex;
  flex-wrap: wrap;
  column-gap: calc(var(--page_padding-vertical) * 2);
  row-gap: calc(var(--page_padding-horizontal));
}
.AddressManager .addresses .address-container {
  border: 2px solid #755773;
  flex-basis: 30%;
  min-width: 18rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.AddressManager .addresses .address-container .Address {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
.AddressManager .controls {
  background-color: #755773;
  display: grid;
  grid-template-columns: 1fr auto;
}
.AddressManager .controls button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  padding: 0.8em;
}
.AddressManager .street-address,
.AddressManager .phone,
.AddressManager .email,
.AddressManager .website {
  padding: 0 1rem;
  font-size: 0.8rem;
}
.AddressManager .website {
  margin-bottom: 1.25rem;
}
.AddressManager .name {
  border-bottom: 1px solid #755773;
  padding: 1.25rem 0 1em;
  margin: 0 1rem 1em;
  margin-bottom: 1em;
}
.AddressManager .street-address {
  font-size: 0.8rem;
  margin-bottom: 1.25rem;
  flex-grow: 1;
}
.AddressManager .additional-info {
  margin-top: 0.35em;
}
.AddressManager .additional-info .label {
  font-weight: 600;
  margin-right: 0.5em;
}
.AddressManager .additional-info .value {
  font-weight: 400;
}
.AddressSearchModal .search-input {
  width: 100%;
  margin-bottom: 1.5rem;
}
.AddressSearchModal .search-input label {
  display: block;
  margin: 0.75rem 0;
}
.AddressSearchModal input {
  width: 100%;
}
.AddressSearchModal .Address {
  margin-bottom: 1.5rem;
  border-top: 1px solid #755773;
  padding-top: 1.5rem;
}
.AddressSearchModal .street-address {
  margin-bottom: 1.5rem;
}
.Article {
  width: 100%;
}
.Article.scrolled.threshold-passed .article-header h1 {
  font-size: 1.5625rem;
  text-wrap: nowrap;
  overflow: hidden;
  margin-bottom: 0;
}
.Article.scrolled.threshold-passed .article-header .metadata {
  font-size: 0;
  margin: 0;
}
.Article.scrolled .article-header .controls .progress {
  display: block;
}
.Article.scrolled .article-header .controls .Button.to-top {
  display: flex;
}
.Article.short-article .article-header {
  position: relative;
}
.Article.short-article .article-header:before {
  display: none;
}
.Article .article-header {
  width: 100%;
  padding-bottom: var(--page_padding-vertical);
  border-bottom: 1px solid #755773;
  color: #755773;
  position: sticky;
  top: 0;
}
.Article .article-header:before {
  content: "";
  position: absolute;
  top: calc(var(--page_padding-vertical) * -2);
  left: 0;
  width: 100%;
  height: calc(100% + var(--page_padding-vertical) * 2);
  background: #ffffff;
  z-index: 1;
}
.Article .article-header:after {
  content: "";
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  width: 100%;
  height: 2rem;
  background: linear-gradient(180deg, white 30%, rgba(255, 255, 255, 0) 100%);
  z-index: 1;
}
.Article .article-header > * {
  position: relative;
  z-index: 2;
}
.Article .article-header h1 {
  text-overflow: ellipsis;
  text-wrap: wrap;
  overflow: visible;
  transition: 120ms;
  position: relative;
  z-index: 2;
}
.Article .article-header .metadata {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  transition: 120ms;
  font-size: 0.9em;
}
.Article .article-header .metadata > div strong {
  display: block;
}
.Article .article-header .controls {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateY(calc(100% + 1px));
  width: 132px;
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(5px);
}
.Article .article-header .controls .progress {
  display: none;
  padding: 0.75rem;
  font-size: 0.8rem;
  text-align: right;
}
.Article .article-header .controls .progress strong {
  display: block;
}
.Article .article-header .controls .Button {
  flex-grow: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.8rem;
  padding: 0.75rem;
  padding-right: calc(0.75rem - 4px);
  margin: 0 0 0 auto;
}
.Article .article-header .controls .Button.to-top {
  display: none;
}
.Article .article-content {
  z-index: 1;
  margin-top: 2rem;
  font-size: 0.9em;
}
.Article .article-content .table-wrapper {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  overflow: auto;
}
.Article .article-content table {
  width: 100%;
  border-collapse: collapse;
}
.Article .article-content table thead {
  background: #755773;
  color: #ffffff;
}
.Article .article-content table tr:nth-of-type(2n) {
  background: color-mix(in srgb, #755773 5%, transparent);
}
.Article .article-content table th,
.Article .article-content table td {
  padding: 1em 0.5em;
}
@media only screen and (max-width: 425px) {
  .Article .article-content table th,
  .Article .article-content table td {
    max-width: 50dvw;
    min-width: 50dvw;
  }
}
.Article .article-content > *:first-child {
  margin-top: 0;
}
.Article .article-content img,
.Article .article-content iframe {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
.Article .article-content audio {
  width: "100%";
}
.Article .article-content blockquote {
  background: #d4c4d3;
  margin: 0.75rem 0;
  padding: 0.75rem;
}
.Article .article-content blockquote > * {
  margin: 0;
  padding: 0;
}
.Article .article-content p a {
  color: #006d77;
}
.Article .article-content p a:hover, .Article .article-content p a:focus, .Article .article-content p a:active {
  background: color-mix(in srgb, #755773 10%, transparent);
}
.Article .article-content h1,
.Article .article-content h2,
.Article .article-content h3,
.Article .article-content h4 {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}
.Article .article-content h3 {
  font-size: 1.25rem;
}
.Article .article-content h2 {
  font-size: 1.5625rem;
}
.Article .article-content li p:only-child {
  margin: 0;
}
.Article .article-footer {
  margin-top: calc(var(--page_padding-vertical) * 2);
  padding-top: calc(var(--page_padding-vertical) * 2);
  border-top: 1px solid #755773;
  color: #755773;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}
.Article .article-footer p {
  margin: 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .Article .article-footer {
    margin-bottom: calc(var(--page_padding-vertical) * 2);
    font-size: 0.8rem;
  }
  .Article .article-content {
    font-size: 0.9rem;
  }
  .Article .article-content iframe {
    height: 49dvw;
  }
  .Article .article-header .controls {
    position: fixed;
    bottom: 0;
    transform: none;
    width: 100%;
    background-color: rgba(117, 87, 115, 0.9);
    color: #ffffff;
    display: flex;
    padding: 0 calc(var(--page_padding-horizontal) * 0.5);
  }
  .Article .article-header .controls .progress {
    display: block;
    text-align: left;
    flex-grow: 1;
    font-size: 0;
  }
  .Article .article-header .controls .progress strong {
    font-size: 0.8rem;
  }
  .Article .article-header .controls .Button {
    margin: 0;
    color: inherit;
  }
  .Article .article-header .controls .Button.to-top, .Article .article-header .controls .Button.to-bottom {
    display: flex;
  }
}
@media only screen and (max-width: 425px) {
  .Article .BackButton {
    margin-bottom: var(--page_padding-vertical);
  }
  .Article h1 {
    font-size: 1.5625rem;
  }
  .Article .article-header .metadata {
    row-gap: calc(var(--page_padding-vertical) * 0.75);
    font-size: 0.8rem;
  }
}
@media only screen and (max-height: 37rem) {
  .Article.threshold-passed .article-header {
    padding: 0;
  }
  .Article.threshold-passed h1 {
    display: none;
  }
  .Article.threshold-passed .BackButton {
    display: none;
  }
}
@media only screen and (max-width: 22rem) {
  .Article .Button span {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .Button.BackButton {
    font-size: 0.8rem;
  }
}
.ErrorHandler {
  padding: 1.25rem;
}
.ErrorHandler > p {
  max-width: 680px;
}
.Event .event-header select {
  margin-bottom: 0;
}
.Event .event-header .description {
  white-space: pre-wrap;
}
.Event .event-header .controls {
  display: grid;
  column-gap: calc(var(--page_padding-horizontal) * 1.5);
  grid-template-columns: auto 1fr;
}
.Event .event-header .timezone-info {
  font-size: 0.8em;
  margin-bottom: calc(var(--page_padding-vertical) * 2);
}
.Event .event-header .day-filter {
  display: flex;
  flex-wrap: wrap;
}
.Event .event-header .day-filter > .filter-label {
  flex-basis: 100%;
  align-self: flex-start;
}
.Event .event-header .day-filter .checkbox {
  margin-right: 1.5em;
}
.Event h2 {
  margin-top: calc(var(--page_padding-vertical) * 3);
  border-top: 2px solid #755773;
  padding-top: calc(var(--page_padding-vertical) * 2);
}
.Event .event-body h3 {
  padding: unset;
  margin: 3em 0 1em;
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1rem;
}
.Event .event-body .occurrence {
  font-weight: 500;
  font-size: 0.9rem;
}
.Event .event-body .occurrence .at-symbol {
  padding: 0 0.5em;
}
.Event .event-body .occurrence .start-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.Event .event-body .occurrence .end-info {
  flex-grow: 1;
  font-size: 0.85em;
  padding-left: 0;
  display: flex;
  align-items: center;
}
.Event .event-body .occurrence .end-info .to {
  padding-right: 0.5em;
}
.Event .event-body .occurrence .controls {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}
.ResourceList .resource {
  position: relative;
}
.ResourceList .resource:hover .categories, .ResourceList .resource:focus .categories, .ResourceList .resource:active .categories {
  display: flex;
}
.ResourceList .title {
  flex-grow: 1;
}
.ResourceList .ResourceTypeIcon svg {
  width: 2em !important;
  height: 2em !important;
  vertical-align: middle;
}
.ResourceList .type {
  font-size: 0.8em;
  font-weight: 400;
  min-width: 8em;
  text-align: right;
}
.ResourceList .categories {
  display: none;
  position: absolute;
  left: 0;
  top: -1em;
  gap: 0.75rem;
  margin-left: 0.5em;
}
.ResourceList .categories .category {
  padding: 0.5em 0.75em;
  background: #755773;
  color: #f6f3f6;
  font-size: 0.64rem;
}
@media only screen and (max-width: 768px) {
  .ResourceList .resource {
    background-color: rgba(212, 196, 211, 0.25);
    display: grid;
    grid-template-areas: "title title resource-icon" "resource-type tags resource-icon";
    grid-template-columns: auto 1fr 2.5em;
    font-size: 0.9rem;
    row-gap: 0;
    column-gap: 1em;
    padding: 1.5em 1.5em;
    align-items: center;
  }
  .ResourceList .type,
  .ResourceList .categories .category {
    padding: 0.5em 1em;
    border: 2px solid;
    display: block;
    font-size: 0.64rem;
    font-weight: 600;
    margin-top: 1.25em;
  }
  .ResourceList .ResourceTypeIcon {
    grid-area: resource-icon;
    justify-self: end;
  }
  .ResourceList .title {
    grid-area: title;
    font-weight: 600;
  }
  .ResourceList .type {
    grid-area: resource-type;
    min-width: 0;
    background: #755773;
    color: #ffffff;
    border-color: #755773;
  }
  .ResourceList .type:empty {
    display: none;
  }
  .ResourceList .categories {
    grid-area: tags;
    display: flex;
    align-items: center;
    position: initial;
    margin: 0;
  }
  .ResourceList .categories .category {
    background: transparent;
    color: #755773;
  }
  .ResourceList .Button {
    display: none;
  }
}
@media only screen and (max-width: 425px) {
  .ResourceList .ResourceTypeIcon {
    display: none;
  }
  .ResourceList .resource {
    grid-template-areas: "title title" "resource-type tags";
    grid-template-columns: auto 1fr;
  }
}
.FilterSelector .header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25em;
}
.FilterSelector .header-container h2 {
  margin: 0;
}
.FilterSelector .prompt-container {
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  opacity: 0.5;
}
.FilterSelector .prompt-container svg {
  margin-left: 0.5em;
}
.FilterSelector .prompt-container:hover, .FilterSelector .prompt-container:focus, .FilterSelector .prompt-container:active {
  cursor: default;
}
.FilterSelector .Button {
  font-weight: bold;
  font-size: 0.8rem;
  flex-basis: auto;
  flex-shrink: 0;
}
.FilterSelector .Button.selected {
  background: #a88aa6;
  color: #f6f3f6;
}
.FilterSelector .items {
  display: flex;
  gap: 1rem;
  padding-bottom: 10px;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #755773 #a88aa6;
}
.FilterSelector .items::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.FilterSelector .items::-webkit-scrollbar-thumb {
  background: #755773;
}
.FilterSelector .items::-webkit-scrollbar-track {
  background: #a88aa6;
}
.FilterSelector .items {
  scrollbar-face-color: #755773;
  scrollbar-track-color: #a88aa6;
}
.FilterSelector.resource-types .Button {
  background: var(--color);
  color: var(--text-color);
  border: 2px solid var(--color);
  padding: 0.8em 1.5em;
  background: transparent;
  color: var(--color);
  flex-shrink: 0;
}
.FilterSelector.resource-types .Button:hover, .FilterSelector.resource-types .Button:focus, .FilterSelector.resource-types .Button:active {
  background-color: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
  outline-color: var(--hover-color);
}
.FilterSelector.resource-types .Button:hover, .FilterSelector.resource-types .Button:focus, .FilterSelector.resource-types .Button:active {
  background: color-mix(in srgb, var(--color) 10%, transparent);
  border-color: var(--color);
  color: var(--color);
}
.FilterSelector.resource-types .Button.selected {
  background: var(--color);
  color: var(--text-color);
  border: 2px solid var(--color);
  padding: 0.8em 1.5em;
}
.FilterSelector.resource-types .Button.selected:hover, .FilterSelector.resource-types .Button.selected:focus, .FilterSelector.resource-types .Button.selected:active {
  background-color: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
  outline-color: var(--hover-color);
}
.Logo {
  display: grid;
  grid-template-columns: 60px 1fr;
  grid-template-areas: "logo title" "logo subtitle";
  gap: 0.4rem 1.25rem;
}
.Logo img {
  width: 100%;
  height: auto;
  grid-area: logo;
  place-self: center;
}
.Logo p {
  margin: 0;
  font-family: "Mirador", "Times New Roman", Times, serif;
  font-weight: 600;
  letter-spacing: 0em;
  line-height: 1em;
  font-size: 32px;
}
.Logo p.main {
  grid-area: title;
}
.Logo p.subtitle {
  opacity: 0.8;
  font-size: 15px;
  grid-area: subtitle;
}
.Logo:hover {
  color: #f6f3f6;
}
:root {
  --navbar_padding-horizontal: 1rem;
  --navbar_padding-vertical: 1rem;
  --icon-size: 1.4rem;
  --navbar-width: 250px;
  --navbar-height: 0px;
}
.NavBar {
  width: var(--navbar-width);
}
.NavBar .menu-collapse-toggle:hover, .NavBar .menu-collapse-toggle:focus, .NavBar .menu-collapse-toggle:active {
  cursor: pointer;
}
.NavBar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: unset;
}
.NavBar ul li {
  margin: 0;
}
.NavBar .divider-element {
  border-bottom: 2px solid #a88aa6;
  margin: var(--navbar_padding-vertical) var(--navbar_padding-horizontal);
}
.NavBar a,
.NavBar .ProgrammeDropDown .value,
.NavBar .ProgrammeDropDown .option,
.NavBar .menu-collapse-toggle {
  padding: var(--navbar_padding-vertical) var(--navbar_padding-horizontal);
  font-size: 0.9em;
  display: flex;
  align-items: center;
  gap: calc(var(--navbar_padding-horizontal) * 0.5);
}
.NavBar a span,
.NavBar .ProgrammeDropDown .value span,
.NavBar .ProgrammeDropDown .option span,
.NavBar .menu-collapse-toggle span {
  flex-grow: 1;
  line-height: 1.5em;
}
.NavBar a svg,
.NavBar a div.image,
.NavBar .ProgrammeDropDown .value svg,
.NavBar .ProgrammeDropDown .value div.image,
.NavBar .ProgrammeDropDown .option svg,
.NavBar .ProgrammeDropDown .option div.image,
.NavBar .menu-collapse-toggle svg,
.NavBar .menu-collapse-toggle div.image {
  height: var(--icon-size);
  width: var(--icon-size);
  flex-shrink: 0;
}
.NavBar a:hover, .NavBar a:focus, .NavBar a:active,
.NavBar .ProgrammeDropDown .value:hover,
.NavBar .ProgrammeDropDown .value:focus,
.NavBar .ProgrammeDropDown .value:active,
.NavBar .ProgrammeDropDown .option:hover,
.NavBar .ProgrammeDropDown .option:focus,
.NavBar .ProgrammeDropDown .option:active,
.NavBar .menu-collapse-toggle:hover,
.NavBar .menu-collapse-toggle:focus,
.NavBar .menu-collapse-toggle:active {
  background-color: color-mix(in srgb, #f6f3f6 10%, transparent);
  color: #f6f3f6;
  cursor: pointer;
}
@media only screen and (min-height: 630px) and (min-width: calc(768px + 1px)) {
  .NavBar {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-top: var(--navbar_padding-vertical);
    padding-bottom: var(--navbar_padding-vertical);
    font-size: 0.9rem;
  }
  .NavBar .navbar-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
  }
  .NavBar .hide-on-desktop {
    display: none;
  }
  .NavBar .logo-container {
    padding: var(--navbar_padding-vertical) var(--navbar_padding-horizontal);
  }
  .NavBar .spacer-element {
    flex-grow: 1;
  }
  .menu-open .NavBar {
    --navbar-width: 250px;
  }
  .menu-open .NavBar .show-when-collapsed {
    display: none;
  }
  .menu-open .NavBar .logo-container .Logo {
    transform-origin: left;
    scale: 0.8;
  }
  .menu-closed .NavBar {
    --navbar-width: calc(var(--icon-size) + (var(--navbar_padding-horizontal) * 3));
  }
  .menu-closed .NavBar .show-when-expanded {
    display: none;
  }
  .menu-closed .NavBar a,
  .menu-closed .NavBar .ProgrammeDropDown .value,
  .menu-closed .NavBar .ProgrammeDropDown .option,
  .menu-closed .NavBar .menu-collapse-toggle {
    justify-content: center;
  }
  .menu-closed .NavBar a span,
  .menu-closed .NavBar .ProgrammeDropDown .value span,
  .menu-closed .NavBar .ProgrammeDropDown .option span,
  .menu-closed .NavBar .menu-collapse-toggle span {
    display: none;
  }
  .menu-closed .NavBar a:hover, .menu-closed .NavBar a:focus, .menu-closed .NavBar a:active,
  .menu-closed .NavBar .ProgrammeDropDown .value:hover,
  .menu-closed .NavBar .ProgrammeDropDown .value:focus,
  .menu-closed .NavBar .ProgrammeDropDown .value:active,
  .menu-closed .NavBar .ProgrammeDropDown .option:hover,
  .menu-closed .NavBar .ProgrammeDropDown .option:focus,
  .menu-closed .NavBar .ProgrammeDropDown .option:active,
  .menu-closed .NavBar .menu-collapse-toggle:hover,
  .menu-closed .NavBar .menu-collapse-toggle:focus,
  .menu-closed .NavBar .menu-collapse-toggle:active {
    position: relative;
  }
  .menu-closed .NavBar a:hover span, .menu-closed .NavBar a:focus span, .menu-closed .NavBar a:active span,
  .menu-closed .NavBar .ProgrammeDropDown .value:hover span,
  .menu-closed .NavBar .ProgrammeDropDown .value:focus span,
  .menu-closed .NavBar .ProgrammeDropDown .value:active span,
  .menu-closed .NavBar .ProgrammeDropDown .option:hover span,
  .menu-closed .NavBar .ProgrammeDropDown .option:focus span,
  .menu-closed .NavBar .ProgrammeDropDown .option:active span,
  .menu-closed .NavBar .menu-collapse-toggle:hover span,
  .menu-closed .NavBar .menu-collapse-toggle:focus span,
  .menu-closed .NavBar .menu-collapse-toggle:active span {
    display: block;
    position: absolute;
    top: 0;
    left: 100%;
    height: auto;
    min-height: 100%;
    width: auto;
    min-width: 15rem;
    line-height: 1.5rem;
    background: #755773;
    padding: var(--navbar_padding-vertical) var(--navbar_padding-horizontal);
    z-index: 1;
  }
  .menu-closed .NavBar .ProgrammeDropDown .option {
    justify-content: stretch;
  }
  .menu-closed .NavBar .ProgrammeDropDown .option:hover, .menu-closed .NavBar .ProgrammeDropDown .option:focus, .menu-closed .NavBar .ProgrammeDropDown .option:active {
    background-color: color-mix(in srgb, #f6f3f6 10%, transparent);
    color: #f6f3f6;
  }
  .menu-closed .NavBar .ProgrammeDropDown .options {
    left: 100%;
    background: #755773;
    min-width: 15rem;
    top: 0;
  }
  .menu-closed .NavBar .menu-collapse-toggle svg {
    transform: rotate(180deg);
  }
  .menu-closed .NavBar .logo-container .Logo {
    display: block;
  }
  .menu-closed .NavBar .logo-container img {
    height: var(--icon-size);
    width: auto;
  }
  .menu-closed .NavBar .logo-container p {
    display: none;
  }
}
@media screen and (max-height: 630px), screen and (max-width: 768px) {
  :root {
    --navbar-height: calc(var(--navbar_padding-vertical) * 2 + 2.55rem);
  }
  .PageWrapper {
    flex-direction: column;
  }
  .NavBar {
    --navbar-width: 100dvw;
    --navbar_padding-horizontal: 1.25rem;
    --navbar_padding-vertical: 0.75rem;
    --icon-size: 1.5rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: relative;
    font-size: 0.9rem;
  }
  .NavBar .desktop-only {
    display: none;
  }
  .NavBar .logo-container,
  .NavBar .menu-collapse-toggle {
    padding: calc(var(--navbar_padding-vertical) * 2) var(--navbar_padding-horizontal);
  }
  .NavBar .Logo {
    display: flex;
    gap: 0.8rem;
    align-items: center;
  }
  .NavBar .Logo p {
    font-size: 1.3rem;
    line-height: 1.2em;
  }
  .NavBar .Logo p br {
    display: none;
  }
  .NavBar .Logo p.subtitle {
    display: none;
  }
  .NavBar .Logo img {
    height: var(--icon-size);
    width: auto;
  }
  .NavBar .menu-collapse-toggle {
    display: flex;
    gap: 0.5em;
    align-items: center;
  }
}
@media only screen and (max-height: 630px) and (max-width: 27rem), only screen and (max-width: 768px) and (max-width: 27rem) {
  .NavBar .menu-collapse-toggle span {
    display: none;
  }
}
@media screen and (max-height: 630px), screen and (max-width: 768px) {
  .NavBar .navbar-content {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 100;
    background: #755773;
    padding: var(--navbar_padding-vertical) 0;
    border-top: 2px solid #ffffff;
  }
  .NavBar .spacer-element {
    border-bottom: 2px solid #a88aa6;
    margin: var(--navbar_padding-vertical) var(--navbar_padding-horizontal);
  }
  .NavBar .divider-element:last-child {
    display: none;
  }
  .menu-closed .NavBar .show-when-expanded {
    display: none;
  }
  .menu-closed .NavBar .navbar-content {
    display: none;
  }
  .menu-open .NavBar .show-when-collapsed {
    display: none;
  }
}
.PageWrapper .mobile-warning {
  display: none;
}
@media only screen and (max-width: 760px) {
  .PageWrapper .mobile-warning {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    background: rgba(245, 45, 0, 0.6);
    backdrop-filter: blur(10px);
    border-top: 2px solid #f52d00;
  }
  .PageWrapper .mobile-warning p {
    margin: 0;
    padding: 2.5rem;
    color: white;
  }
  .PageWrapper .mobile-warning svg.tabler-icon-x {
    width: unset;
    height: unset;
    cursor: pointer;
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    color: white;
    background-color: #f52d00;
    border-radius: 50%;
    padding: 4px;
  }
}
.ProgrammeDropDown {
  position: relative;
  display: block;
  cursor: pointer;
  user-select: none;
}
.ProgrammeDropDown .value {
  padding: 0.625rem 0.75rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.75rem;
  align-items: center;
}
.ProgrammeDropDown .value:hover {
  background-color: #a88aa6;
}
.ProgrammeDropDown .options {
  position: absolute;
  width: 100%;
  left: 0;
  top: 100%;
  z-index: 10;
  background: #a88aa6;
}
.ProgrammeDropDown .options .option:hover, .ProgrammeDropDown .options .option:focus, .ProgrammeDropDown .options .option:active {
  background-color: color-mix(in srgb, #755773 50%, transparent);
}
.ProgrammeDropDown .options .option.selected {
  background: color-mix(in srgb, #755773 50%, transparent);
}
.ProgrammeDropDown .options .option.selected:hover, .ProgrammeDropDown .options .option.selected:focus, .ProgrammeDropDown .options .option.selected:active {
  background-color: color-mix(in srgb, #755773 80%, transparent);
}
.ProgrammeDropDown .options .option.expired {
  color: #d4c4d3;
  cursor: not-allowed;
}
.ProductCheckoutModal {
  overflow: hidden;
}
.ProductCheckoutModal .modal-controls {
  align-items: center;
  justify-content: flex-end;
  gap: 1.5rem;
}
.ProductCheckoutModal .address {
  margin: 1em 0 1em;
  font-size: 0.9em;
  line-height: 1.5em;
}
.ProductCheckoutModal .address + button {
  margin-bottom: 1em;
}
.ProductCheckoutModal h3 {
  border-top: 2px solid #755773;
  margin-top: 2.5em;
  padding-top: 1.5em;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.ProductCheckoutModal .StripePaymentForm {
  margin-bottom: 1rem;
  padding: 5px;
}
.ProductPurchased > button {
  margin-top: 3rem;
}
.Programme .header h1,
.Programme .header h2 {
  margin-bottom: 0;
}
.Programme .header .BackButton,
.Programme .header .description {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .Programme .header .title-container {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    column-gap: var(--page_padding-horizontal);
  }
}
@media only screen and (max-width: 768px) {
  .Programme .header .CompletionTracker {
    margin-top: calc(var(--page_padding-vertical) * 0.5);
  }
  .Programme .header .title-container {
    margin-bottom: calc(var(--page_padding-vertical) * 2.5);
  }
  .Programme .header.has-description .title-container {
    margin-bottom: calc(var(--page_padding-vertical) * 1.5);
  }
  .Programme .header.has-description .description {
    margin-bottom: calc(var(--page_padding-vertical) * 2.5);
    font-weight: 400;
  }
}
.PurchasableProduct h2 {
  margin-top: 2em;
  margin-bottom: 0.75em;
}
.PurchasableProduct .subscription-options {
  display: flex;
  flex-wrap: wrap;
  gap: var(--page_padding-horizontal);
  max-width: 100%;
}
.PurchasableProduct .SubscriptionType {
  flex-basis: calc((100% - var(--page_padding-horizontal) * 2) / 3);
  flex-shrink: 0;
  flex-grow: 1;
}
.PurchaseProgrammeModal {
  color: #755773;
}
.PurchaseProgrammeModal .description:empty {
  display: none;
}
.PurchaseProgrammeModal .products {
  min-width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: 5px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #755773 #a88aa6;
}
.PurchaseProgrammeModal .products::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.PurchaseProgrammeModal .products::-webkit-scrollbar-thumb {
  background: #755773;
}
.PurchaseProgrammeModal .products::-webkit-scrollbar-track {
  background: #a88aa6;
}
.PurchaseProgrammeModal .products {
  scrollbar-face-color: #755773;
  scrollbar-track-color: #a88aa6;
}
.PurchaseProgrammeModal .missing-prerequisites {
  font-size: 0.8rem;
  margin: 0.4rem;
  margin-left: 1.5rem;
  padding: 0;
  line-height: 1;
}
.PurchaseProgrammeModal .product {
  padding: calc(var(--page_padding-vertical) * 1.5) calc(var(--page_padding-horizontal) * 0.75);
  background: #d4c4d3;
  width: 18rem;
  flex-grow: 1;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: calc(var(--page_padding-vertical) * 0.5);
}
.PurchaseProgrammeModal .product .description {
  white-space: pre-wrap;
  margin: 0;
}
.PurchaseProgrammeModal .product > strong {
  flex-basis: 2.5em;
}
.PurchaseProgrammeModal .product p,
.PurchaseProgrammeModal .product .programmes {
  font-size: 0.9em;
}
.PurchaseProgrammeModal .product button {
  margin-top: calc(var(--page_padding-vertical) * 0.5);
}
.PurchaseProgrammeModal .product .price + button {
  margin-top: 0;
}
.PurchaseProgrammeModal .product p {
  margin-bottom: 0;
}
.PurchaseProgrammeModal .product .selected {
  font-weight: bold;
}
.PurchaseProgrammeModal .product .purchased {
  font-style: italic;
}
.PurchaseProgrammeModal .product .purchased:after {
  content: " (already purchased)";
  font-size: 0.8rem;
}
.PurchaseProgrammeModal .product .programmes {
  margin: 1.5em 0 1.5em;
  padding-left: 1.5em;
}
.PurchaseProgrammeModal .product .price {
  text-align: center;
  margin: 0.5rem 0;
  font-weight: 500;
}
.PurchaseProgrammeModal .product .price .currency {
  padding-left: 0.25em;
}
.Quiz {
  --percentage-width: 6rem;
}
.Quiz .quiz-header .quiz-length,
.Quiz .quiz-header .pre,
.Quiz .quiz-header .metadata {
  margin-bottom: calc(var(--page_padding-vertical) * 2);
}
.Quiz .quiz-header .quiz-length {
  font-weight: 600;
}
.Quiz .quiz-header h1 {
  margin-bottom: var(--page_padding-vertical);
}
.Quiz h2 {
  margin-top: calc(var(--page_padding-vertical) * 2);
}
.Quiz .metadata {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--page_padding-horizontal) * 1.5);
  transition: 120ms;
  font-size: 0.9rem;
}
.Quiz .metadata > div strong {
  display: block;
  margin-bottom: 1em;
  font-weight: 600;
}
.Quiz .attempt.previous {
  padding-right: 0;
}
.Quiz .attempt.previous.passed {
  color: #1b0d1a;
}
.Quiz .attempt.previous.passed > div {
  background-color: rgba(0, 109, 119, 0.2);
}
.Quiz .attempt.previous.passed button {
  --color: #006d77;
  --hover-color: #00d8ec;
  --text-color: #ffffff;
  --text-hover-color: #1b0d1a;
  --hover-color: #084f5a;
  --text-hover-color: #ffffff;
}
.Quiz .attempt .progress,
.Quiz .attempt .score {
  flex-grow: 1;
}
.Quiz .attempt .extra-details {
  font-size: 0.8em;
  padding-left: 1em;
}
.Quiz .attempt .date {
  font-size: 0.8em;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .Quiz .metadata {
    font-size: 0.8rem;
  }
  .Quiz .metadata > div strong {
    margin-bottom: 0.5em;
  }
  .Quiz h2 {
    margin-top: calc(var(--page_padding-vertical) * 3);
  }
  .Quiz .attempt {
    display: grid;
    grid-template-areas: "progress button" "date button";
    grid-template-columns: 1fr 7rem;
  }
  .Quiz .attempt .score,
  .Quiz .attempt .date,
  .Quiz .attempt .progress {
    padding: 1rem;
  }
  .Quiz .attempt .extra-details {
    font-weight: 600;
    font-size: 0.9rem;
  }
  .Quiz .attempt .progress {
    grid-area: progress;
  }
  .Quiz .attempt .date {
    grid-area: date;
    font-size: 0.8rem;
    padding-top: 0;
  }
  .Quiz .attempt .Button {
    grid-area: button;
    margin: 0;
    height: 100%;
    width: 100%;
  }
  .Quiz .attempt.current .extra-details {
    padding-left: 0.25em;
  }
  .Quiz .attempt.previous {
    position: relative;
    padding-left: var(--percentage-width);
  }
  .Quiz .attempt.previous .score .extra-details {
    padding-left: 0;
  }
  .Quiz .attempt.previous .score strong {
    position: absolute;
    width: var(--percentage-width);
    left: 0;
    top: 0;
    height: 100%;
    background: #755773;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5625rem;
  }
  .Quiz .attempt.previous.passed .score strong {
    background: #006d77;
  }
}
@media only screen and (max-width: 35rem) {
  .Quiz .attempt {
    display: block;
    margin: calc(var(--page_padding-vertical) * 1.5) 0;
  }
  .Quiz .attempt .Button {
    background-color: #a88aa6;
    border: 0;
  }
  .Quiz .attempt.passed .Button {
    background-color: rgba(0, 109, 119, 0.75);
  }
}
@media only screen and (max-width: 425px) {
  .Quiz {
    --percentage-width: 3rem;
  }
  .Quiz .attempt.previous .score strong {
    font-size: 0.8rem;
  }
}
.QuizAttempt,
.QuizResults {
  height: calc(100dvh - var(--navbar-height) - var(--page_padding-vertical) * 4);
  display: flex;
  flex-direction: column;
}
.QuizAttempt .header,
.QuizResults .header {
  border-bottom: 1px solid #755773;
  padding-bottom: var(--page_padding-vertical);
  display: grid;
  grid-template: "button title" "description description";
  grid-template-columns: auto 1fr;
  column-gap: var(--page_padding-horizontal);
  row-gap: 0.75rem;
}
.QuizAttempt .header h1,
.QuizResults .header h1 {
  grid-area: title;
  margin-bottom: 0;
  font-size: 1.5625rem;
}
.QuizAttempt .header button,
.QuizResults .header button {
  grid-area: button;
  margin-bottom: 0;
}
.QuizAttempt .header p,
.QuizResults .header p {
  margin: 0;
  grid-area: description;
}
.QuizAttempt .quiz-content,
.QuizResults .quiz-content {
  flex-grow: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #755773 #a88aa6;
  padding: calc(var(--page_padding-vertical) * 2) 0;
  padding-right: var(--page_padding-horizontal);
}
.QuizAttempt .quiz-content .table-wrapper,
.QuizResults .quiz-content .table-wrapper {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  overflow: auto;
}
.QuizAttempt .quiz-content table,
.QuizResults .quiz-content table {
  width: 100%;
  border-collapse: collapse;
}
.QuizAttempt .quiz-content table thead,
.QuizResults .quiz-content table thead {
  background: #755773;
  color: #ffffff;
}
.QuizAttempt .quiz-content table tr:nth-of-type(2n),
.QuizResults .quiz-content table tr:nth-of-type(2n) {
  background: color-mix(in srgb, #755773 5%, transparent);
}
.QuizAttempt .quiz-content table th,
.QuizAttempt .quiz-content table td,
.QuizResults .quiz-content table th,
.QuizResults .quiz-content table td {
  padding: 1em 0.5em;
}
@media only screen and (max-width: 425px) {
  .QuizAttempt .quiz-content table th,
  .QuizAttempt .quiz-content table td,
  .QuizResults .quiz-content table th,
  .QuizResults .quiz-content table td {
    max-width: 50dvw;
    min-width: 50dvw;
  }
}
.QuizAttempt .quiz-content > *:first-child,
.QuizResults .quiz-content > *:first-child {
  margin-top: 0;
}
.QuizAttempt .quiz-content img,
.QuizAttempt .quiz-content iframe,
.QuizResults .quiz-content img,
.QuizResults .quiz-content iframe {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
.QuizAttempt .quiz-content audio,
.QuizResults .quiz-content audio {
  width: "100%";
}
.QuizAttempt .quiz-content blockquote,
.QuizResults .quiz-content blockquote {
  background: #d4c4d3;
  margin: 0.75rem 0;
  padding: 0.75rem;
}
.QuizAttempt .quiz-content blockquote > *,
.QuizResults .quiz-content blockquote > * {
  margin: 0;
  padding: 0;
}
.QuizAttempt .quiz-content > *:last-child,
.QuizResults .quiz-content > *:last-child {
  margin-bottom: 0;
}
.QuizAttempt .quiz-content > *:last-child fieldset,
.QuizResults .quiz-content > *:last-child fieldset {
  margin-bottom: 0;
}
.QuizAttempt .quiz-content > *:first-child fieldset,
.QuizResults .quiz-content > *:first-child fieldset {
  margin-top: 0;
}
.QuizAttempt .quiz-content::-webkit-scrollbar,
.QuizResults .quiz-content::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.QuizAttempt .quiz-content::-webkit-scrollbar-thumb,
.QuizResults .quiz-content::-webkit-scrollbar-thumb {
  background: #755773;
}
.QuizAttempt .quiz-content::-webkit-scrollbar-track,
.QuizResults .quiz-content::-webkit-scrollbar-track {
  background: #a88aa6;
}
.QuizAttempt .quiz-content,
.QuizResults .quiz-content {
  scrollbar-face-color: #755773;
  scrollbar-track-color: #a88aa6;
}
.QuizAttempt .quiz-footer,
.QuizResults .quiz-footer {
  padding: var(--page_padding-vertical) 0 0;
  border-top: 1px solid #755773;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: calc(var(--page_padding-horizontal) * 0.5);
}
.QuizAttempt .quiz-footer span,
.QuizResults .quiz-footer span {
  font-size: 0.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .QuizAttempt .header p,
  .QuizResults .header p {
    font-size: 0.8rem;
  }
}
.QuizQuestion {
  display: block;
  margin: calc(var(--page_padding-vertical) * 2) 0;
  padding: 0;
  border: none;
}
.QuizQuestion:not([disabled]) label {
  cursor: pointer;
  border: 2px solid transparent;
}
.QuizQuestion:not([disabled]) label.selected-answer {
  border: 2px solid #755773;
}
.QuizQuestion:not([disabled]) label:hover {
  background: #d4c4d3;
}
.QuizQuestion.show-answer label {
  padding-left: 5rem;
}
.QuizQuestion.show-answer label svg {
  position: absolute;
  width: 1rem;
  height: 1rem;
  left: 3rem;
  top: calc(50% - 0.75em);
}
.QuizQuestion.show-answer label::before {
  content: "";
  display: block;
  position: absolute;
  width: 2rem;
  top: calc(50% - 1.2em);
  left: 0;
  font-size: 0.64rem;
  font-weight: normal;
  text-align: center;
}
.QuizQuestion.show-answer label.selected-answer {
  --color: #f0a202;
  color: var(--color);
  font-weight: bold;
}
.QuizQuestion.show-answer label.selected-answer svg {
  stroke: var(--color);
}
.QuizQuestion.show-answer label.selected-answer::before {
  content: "Your answer";
}
.QuizQuestion.show-answer label.correct-answer {
  --color: #006d77;
  color: var(--color);
  font-weight: bold;
}
.QuizQuestion.show-answer label.correct-answer svg {
  stroke: var(--color);
}
.QuizQuestion.show-answer label.correct-answer::before {
  content: "Correct answer";
}
.QuizQuestion.show-answer label.selected-answer.correct-answer {
  --color: #006d77;
  color: var(--color);
  font-weight: bold;
}
.QuizQuestion.show-answer label .explanation {
  display: block;
  background: color-mix(in srgb, var(--color) 10%, transparent);
  padding: 1em;
  margin-top: calc(var(--page_padding-vertical) * 0.5);
  line-height: 1.5em;
}
.QuizQuestion legend {
  display: block;
  margin: calc(var(--page_padding-vertical) * 2) 0 calc(var(--page_padding-vertical) * 0.75);
  font-weight: bold;
}
.QuizQuestion label {
  display: block;
  padding: 1em 1.5em;
  font-size: 0.9rem;
  position: relative;
}
.QuizQuestion input {
  display: none;
}
.Resource .resource-header,
.Resource .resource-options {
  margin-bottom: calc(var(--page_padding-vertical) * 2);
}
.Resource .resource-options .Button {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  justify-content: center;
  font-size: 0.8rem;
}
.Resource .resource-body {
  font-size: 0.9rem;
  display: flex;
  gap: calc(var(--page_padding-horizontal) * 2);
}
.Resource .resource-body > div strong {
  display: block;
  margin-bottom: 0.75rem;
}
.Resource .resource-body > div span {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.Resource h1 {
  margin-top: calc(var(--page_padding-vertical) * 1.5);
  font-size: 1.953125rem;
}
@media only screen and (max-width: 768px) {
  .Resource h1 {
    font-size: 1.5625rem;
    margin-top: calc(var(--page_padding-vertical) * 2);
  }
  .Resource .resource-header {
    margin-bottom: calc(var(--page_padding-vertical) * 2);
  }
  .Resource .resource-options {
    font-size: 0.8rem;
  }
  .Resource .resource-options .Button {
    justify-content: center;
    width: 100%;
    font-size: 0.9rem;
  }
}
.ResourceHub .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ResourceHub .header h1 {
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .ResourceHub .header {
    flex-direction: column;
    row-gap: var(--page_padding-vertical);
    align-items: start;
  }
}
.ResourceHub .SearchInput {
  width: 18em;
}
.ResourceHub .SearchInput input {
  width: 100%;
  margin: 0;
  padding-right: calc(1em + 20px);
}
.ResourceHub > h2,
.ResourceHub .FilterSelector .header-container {
  margin-top: calc(var(--page_padding-vertical) * 2);
}
.ResourceHub p.no-results {
  text-align: center;
}
.CategoryList span.title {
  flex-grow: 1;
}
.CategoryList .title {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1rem;
}
.CategoryList .title .name {
  position: relative;
  flex-grow: 1;
  flex-shrink: 1;
}
.CategoryList .progress {
  position: relative;
  float: right;
}
.CategoryList .progress-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background: #d4c4d3;
}
.CategoryList > a:not(.locked):hover .progress-bar, .CategoryList > a:not(.locked):focus .progress-bar, .CategoryList > a:not(.locked):active .progress-bar {
  background: color-mix(in srgb, #755773 40%, #d4c4d3);
}
.CategoryList button {
  width: 96px;
  flex-shrink: 0;
}
@media only screen and (max-width: 35rem) {
  .CategoryList button {
    display: none;
  }
}
.tippy-box.missing-prerequisites {
  padding: 0.75rem;
}
.tippy-box.missing-prerequisites ul {
  margin: 0;
}
.tippy-box.missing-prerequisites p {
  margin: 0 0 0.625rem 0;
}
.CompletionTracker > div {
  font-weight: 700;
}
.CompletionTracker > span {
  line-height: 1.5em;
}
@media only screen and (min-width: 769px) {
  .CompletionTracker {
    max-width: 128px;
    text-align: center;
  }
  .CompletionTracker > div {
    margin-bottom: 0.4rem;
    font-size: 1.25rem;
  }
  .CompletionTracker > span {
    font-size: 0.64rem;
  }
  .CompletionTracker > span > * {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .CompletionTracker {
    display: flex;
    align-items: center;
    gap: 0.6em;
    font-size: 0.8rem;
  }
  .CompletionTracker > span > span:not(:last-child) {
    margin-right: 0.25em;
  }
}
.CompletedConfetti {
  display: flex;
  flex-direction: column;
  gap: calc(var(--page_padding-vertical) * 0.5);
  justify-content: center;
  align-items: center;
  margin: calc(var(--page_padding-vertical) * 2) 0;
  padding: var(--page_padding-vertical) var(--page_padding-horizontal);
  background: rgba(212, 196, 211, 0.5);
}
.CompletedConfetti h4 {
  margin: 0;
  font-weight: 700;
}
.CompletedConfetti p {
  width: 100%;
  text-align: center;
  margin: 0;
  font-size: 0.8rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .CompletedConfetti {
    padding: calc(var(--page_padding-vertical) * 2) var(--page_padding-horizontal);
  }
  .CompletedConfetti h4 {
    margin-bottom: calc(var(--page_padding-vertical) * 0.5);
  }
}
@media only screen and (max-width: 425px) {
  .CompletedConfetti {
    margin-bottom: calc(var(--page_padding-vertical) * 3);
  }
}
.LoginPage,
.ForgotPasswordPage,
.ResetPasswordPage {
  padding: 2.5rem;
  min-height: 100dvh;
  width: 100dvw;
  height: auto;
  position: relative;
}
.LoginPage .error,
.LoginPage .FormControl .error,
.ForgotPasswordPage .error,
.ForgotPasswordPage .FormControl .error,
.ResetPasswordPage .error,
.ResetPasswordPage .FormControl .error {
  color: #f0a202;
  margin-bottom: 2em;
}
.LoginPage::before,
.ForgotPasswordPage::before,
.ResetPasswordPage::before {
  content: "";
  display: block;
  position: fixed;
  z-index: 1;
  height: 100%;
  width: 100%;
  top: 0;
  background: url(/images/icon_bg.png);
  background-size: auto 80%;
  background-repeat: no-repeat;
  background-position: calc(100% + 5vh) -5vh;
  opacity: 50%;
}
@media only screen and (max-width: 768px) {
  .LoginPage::before,
  .ForgotPasswordPage::before,
  .ResetPasswordPage::before {
    opacity: 30%;
  }
}
.LoginPage > *,
.ForgotPasswordPage > *,
.ResetPasswordPage > * {
  z-index: 3;
}
.LoginPage .logo,
.ForgotPasswordPage .logo,
.ResetPasswordPage .logo {
  max-width: 250px;
  height: auto;
  margin-top: 5dvh;
}
.LoginPage .logo path,
.ForgotPasswordPage .logo path,
.ResetPasswordPage .logo path {
  fill: #f6f3f6;
}
@media only screen and (max-width: 425px) {
  .LoginPage .logo,
  .ForgotPasswordPage .logo,
  .ResetPasswordPage .logo {
    grid-template-areas: "logo" "title" "subtitle";
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
  .LoginPage .logo img,
  .ForgotPasswordPage .logo img,
  .ResetPasswordPage .logo img {
    height: 60px;
    width: auto;
  }
  .LoginPage .logo p,
  .ForgotPasswordPage .logo p,
  .ResetPasswordPage .logo p {
    text-align: center;
  }
}
.LoginPage h1,
.ForgotPasswordPage h1,
.ResetPasswordPage h1 {
  font-size: 1.5625rem;
}
.LoginPage .Form,
.ForgotPasswordPage .Form,
.ResetPasswordPage .Form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.LoginPage > div[class*=Form],
.ForgotPasswordPage > div[class*=Form],
.ResetPasswordPage > div[class*=Form] {
  margin: calc(var(--page_padding-vertical) * 2.5) auto var(--page_padding-vertical);
  max-width: 350px;
  width: 100%;
}
.LoginPage > div[class*=Form] button[type=submit],
.ForgotPasswordPage > div[class*=Form] button[type=submit],
.ResetPasswordPage > div[class*=Form] button[type=submit] {
  --color: #ffffff;
  --hover-color: white;
  --text-color: #1b0d1a;
  --text-hover-color: #1b0d1a;
  background: var(--color);
  color: var(--text-color);
  border: 2px solid var(--color);
  padding: 0.8em 1.5em;
  background: transparent;
  color: var(--color);
  margin-top: var(--page_padding-vertical);
  padding: 1em 4em;
  align-self: center;
}
.LoginPage > div[class*=Form] button[type=submit]:hover, .LoginPage > div[class*=Form] button[type=submit]:focus, .LoginPage > div[class*=Form] button[type=submit]:active,
.ForgotPasswordPage > div[class*=Form] button[type=submit]:hover,
.ForgotPasswordPage > div[class*=Form] button[type=submit]:focus,
.ForgotPasswordPage > div[class*=Form] button[type=submit]:active,
.ResetPasswordPage > div[class*=Form] button[type=submit]:hover,
.ResetPasswordPage > div[class*=Form] button[type=submit]:focus,
.ResetPasswordPage > div[class*=Form] button[type=submit]:active {
  background-color: var(--hover-color);
  border-color: var(--hover-color);
  color: var(--text-hover-color);
  outline-color: var(--hover-color);
}
.LoginPage > div[class*=Form] button[type=submit]:hover, .LoginPage > div[class*=Form] button[type=submit]:focus, .LoginPage > div[class*=Form] button[type=submit]:active,
.ForgotPasswordPage > div[class*=Form] button[type=submit]:hover,
.ForgotPasswordPage > div[class*=Form] button[type=submit]:focus,
.ForgotPasswordPage > div[class*=Form] button[type=submit]:active,
.ResetPasswordPage > div[class*=Form] button[type=submit]:hover,
.ResetPasswordPage > div[class*=Form] button[type=submit]:focus,
.ResetPasswordPage > div[class*=Form] button[type=submit]:active {
  background: color-mix(in srgb, var(--color) 10%, transparent);
  border-color: var(--color);
  color: var(--color);
}
@media only screen and (max-width: 425px) {
  .LoginPage > div[class*=Form] button[type=submit],
  .ForgotPasswordPage > div[class*=Form] button[type=submit],
  .ResetPasswordPage > div[class*=Form] button[type=submit] {
    width: 100%;
    padding: 1.25em 1.5em;
  }
}
.LoginPage .additional-options,
.ForgotPasswordPage .additional-options,
.ResetPasswordPage .additional-options {
  margin-bottom: 0;
  font-size: 0.75rem;
}
.LoginPage .additional-options a,
.ForgotPasswordPage .additional-options a,
.ResetPasswordPage .additional-options a {
  margin-bottom: 0.75em;
  display: inline-block;
}
.Profile .account-details {
  width: 100%;
  max-width: 1200px;
  margin-top: calc(var(--page_padding-vertical) * 2);
  display: grid;
  column-gap: calc(var(--page_padding-horizontal) * 2);
  row-gap: var(--page_padding-vertical);
  grid-template-areas: "avatar displayName healthDiscipline" "avatar regulatoryBody registrationNumber" "avatar email password" "avatar confirmEmail confirmPassword" "avatar gap buttons";
  grid-template-columns: 1fr 2fr 2fr;
  grid-template-rows: repeat(4, auto) 1fr;
}
.Profile .account-details > .avatar {
  height: 100%;
  grid-area: avatar;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.Profile .account-details > .avatar .remove-profile-picture {
  display: flex;
  align-items: center;
  gap: 1em;
  margin-left: -1em;
}
.Profile .account-details > .avatar .Avatar {
  display: block;
}
.Profile .account-details > .avatar .image {
  min-width: unset !important;
  --avatar-width: 15rem;
  width: var(--avatar-width) !important;
  height: var(--avatar-width) !important;
}
.Profile .account-details > .avatar .image > svg {
  width: var(--avatar-width) !important;
  height: var(--avatar-width) !important;
}
.Profile .account-details > .avatar .image .edit-content svg,
.Profile .account-details > .avatar .image span.Loading,
.Profile .account-details > .avatar .image span.Loading svg {
  width: calc(var(--avatar-width) / 6) !important;
  height: calc(var(--avatar-width) / 6) !important;
  padding: 0;
}
.Profile .account-details [data-control-name=displayName] {
  grid-area: displayName;
}
.Profile .account-details [data-control-name=healthDiscipline] {
  grid-area: healthDiscipline;
}
.Profile .account-details [data-control-name=regulatoryBody] {
  grid-area: regulatoryBody;
}
.Profile .account-details [data-control-name=email] {
  grid-area: email;
}
.Profile .account-details [data-control-name=confirmEmail] {
  grid-area: confirmEmail;
}
.Profile .account-details [data-control-name=registrationNumber] {
  grid-area: registrationNumber;
}
.Profile .account-details [data-control-name=password] {
  grid-area: password;
}
.Profile .account-details [data-control-name=confirmPassword] {
  grid-area: confirmPassword;
}
.Profile .account-details .buttons {
  grid-area: buttons;
  display: flex;
  gap: var(--page_padding-horizontal);
  justify-content: flex-end;
}
.Profile .account-details .buttons .save-button {
  flex-grow: 1;
}
.Profile .account-details .buttons .cancel-button {
  order: -1;
}
@media only screen and (max-width: 70rem) {
  .Profile .account-details {
    margin-bottom: calc(var(--page_padding-vertical) * 4);
    grid-template-columns: 1fr 1fr;
    grid-template-rows: unset;
    grid-template-areas: "avatar avatar" "displayName healthDiscipline" "regulatoryBody registrationNumber" "email password" "confirmEmail confirmPassword" "buttons buttons";
  }
  .Profile .account-details .avatar {
    margin-bottom: calc(var(--page_padding-vertical) * 2);
  }
  .Profile .account-details .avatar .Avatar .image {
    width: auto !important;
    height: auto !important;
    border-radius: 0;
    border: none;
  }
  .Profile .account-details .avatar .Avatar .image > svg,
  .Profile .account-details .avatar .Avatar .image > img {
    border-radius: 50%;
    width: var(--avatar-width) !important;
    height: var(--avatar-width) !important;
    border: 2px solid #755773;
  }
  .Profile .account-details .avatar .Avatar .upload {
    position: relative;
    display: block;
    margin-top: var(--page_padding-vertical);
  }
  .Profile .account-details .avatar .Avatar .upload:before {
    content: unset;
  }
  .Profile .account-details .avatar .Avatar .edit-content {
    position: relative;
    background: #755773;
    transform: unset;
    left: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em;
    font-size: 0.8rem;
    padding: 1em 1.5em;
  }
  .Profile .account-details .avatar .Avatar .edit-content > svg {
    width: 2em !important;
    height: 2em !important;
  }
  .Profile .account-details .remove-profile-picture {
    margin-left: unset;
  }
  .Profile .account-details .buttons {
    width: 50%;
    justify-self: center;
    flex-direction: column;
    row-gap: var(--page_padding-vertical);
  }
  .Profile .account-details .buttons .save-button {
    text-align: center;
    justify-self: stretch;
  }
  .Profile .account-details .buttons .cancel-button {
    order: unset;
  }
}
@media only screen and (max-width: 40rem) {
  .Profile .account-details {
    display: flex;
    flex-direction: column;
    row-gap: calc(var(--page_padding-vertical) * 2);
  }
  .Profile .account-details input,
  .Profile .account-details select {
    margin-bottom: 0;
  }
  .Profile .account-details .buttons {
    width: 100%;
  }
}
.Profile .AccountBillingDetails {
  margin-top: 3rem;
  width: 100%;
  max-width: 768px;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.Profile .AccountBillingDetails h3 {
  font-size: 1.25rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}
.Profile .AccountBillingDetails .ManageBillingAddress {
  min-width: 300px;
  max-width: 400px;
}
.Profile .AccountBillingDetails .ManageBillingAddress .BillingDetails form {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
}
.Profile .AccountBillingDetails .ManagePaymentMethod > .Button:last-child {
  margin-top: 1rem;
}
.Profile .AccountBillingDetails .UserSubscription {
  display: grid;
  column-gap: 3rem;
  margin-bottom: 3rem;
  row-gap: 0.5rem;
  grid-template-columns: auto auto;
  grid-template-areas: "name controls" "validity controls";
}
.Profile .AccountBillingDetails .UserSubscription:last-child {
  margin-bottom: 0;
}
.Profile .AccountBillingDetails .UserSubscription > .name {
  grid-area: name;
}
.Profile .AccountBillingDetails .UserSubscription > .validity {
  grid-area: validity;
  font-size: 0.8rem;
}
.Profile .AccountBillingDetails .UserSubscription > .validity .valid-from:before {
  content: "Started: ";
}
.Profile .AccountBillingDetails .UserSubscription > .validity .valid-to-expires:before {
  content: " | Expiring: ";
}
.Profile .AccountBillingDetails .UserSubscription > .validity .valid-to-renews:before {
  content: " | Renewing: ";
}
.Profile .AccountBillingDetails .controls {
  grid-area: controls;
  display: flex;
  align-items: center;
  justify-self: right;
}
.Profile .AccountBillingDetails .controls > button {
  padding: 0 0.75rem;
  border-left: 1px solid #755773;
}
.Profile .AccountBillingDetails .controls > button:first-child {
  border-left: none;
}
.Profile .AccountBillingDetails .PaymentMethod {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 3rem;
  justify-content: space-between;
  margin: 1rem 0;
}
.Profile .AccountBillingDetails .PaymentMethod > .details {
  display: grid;
  column-gap: 1rem;
  row-gap: 0;
  grid-template-columns: auto 1fr;
  grid-template-areas: "icon card" "icon expiry";
}
.Profile .AccountBillingDetails .PaymentMethod > .details > .icon {
  grid-area: icon;
  align-self: center;
}
.Profile .AccountBillingDetails .PaymentMethod > .details > .card {
  grid-area: card;
  font-weight: 700;
  font-size: 1rem;
}
.Profile .AccountBillingDetails .PaymentMethod > .details > .expiry {
  grid-area: expiry;
}
.Profile .AccountBillingDetails .PreviousPayments {
  background: #f6f3f6;
  padding: 1rem;
}
.Profile .AccountBillingDetails .PreviousPayments > div {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  grid-template-rows: 1fr;
  gap: 1.25rem;
  margin: 1rem 0;
}
.Profile .AccountBillingDetails .PreviousPayments > div .controls {
  grid-area: unset;
  align-self: flex-start;
}
.Profile .AccountBillingDetails .PreviousPayments > div .controls > a {
  margin-left: 1rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  justify-content: center;
}
@media only screen and (max-width: 425px) {
  .Profile .AccountBillingDetails .PreviousPayments > div {
    display: block;
  }
  .Profile .AccountBillingDetails .PreviousPayments > div .date {
    font-weight: bold;
  }
  .Profile .AccountBillingDetails .PreviousPayments > div .controls {
    justify-content: flex-end;
  }
}
@media only screen and (max-width: 1024px) {
  .Profile .AccountBillingDetails {
    grid-template-columns: 1fr;
    grid-template-areas: "subscription" "billingAddress" "paymentMethod" "previousPayments";
  }
}
.Profile .PublicProfile p {
  font-size: 0.9rem;
}
.Profile .public-profile {
  width: 100%;
  display: grid;
  column-gap: 2.5rem;
  row-gap: 1rem;
  grid-template-areas: "isEnabled isEnabled" "publicIsTelehealthAvailable publicIsTelehealthAvailable" "name discipline" "buttons buttons";
  grid-template-columns: 1fr 1fr;
}
.Profile .public-profile [data-control-name=isEnabled] {
  grid-area: isEnabled;
}
.Profile .public-profile [data-control-name=name] {
  grid-area: name;
}
.Profile .public-profile [data-control-name=discipline] {
  grid-area: discipline;
}
.Profile .public-profile [data-control-name=publicIsTelehealthAvailable] {
  grid-area: publicIsTelehealthAvailable;
}
.Profile .public-profile .buttons {
  grid-area: buttons;
  margin-top: var(--page_padding-vertical);
}
.Profile .public-profile input {
  margin-bottom: 0;
}
.Profile .public-profile .Checkbox {
  font-size: 0.8rem;
}
@media only screen and (max-width: 40rem) {
  .Profile .public-profile {
    grid-template-columns: 1fr;
    row-gap: calc(var(--page_padding-vertical) * 1.5);
    grid-template-areas: "isEnabled " "publicIsTelehealthAvailable" "name" "discipline" "buttons";
  }
}
.Profile h2 {
  margin-top: calc(var(--page_padding-vertical) * 2);
  margin-bottom: calc(var(--page_padding-vertical) * 1);
}
@media only screen and (max-width: 768px) {
  .Profile h2 {
    margin-top: calc(var(--page_padding-vertical) * 4);
    margin-bottom: calc(var(--page_padding-vertical) * 2);
  }
  .Profile h2:first-of-type {
    margin-top: calc(var(--page_padding-vertical) * 2);
  }
}
.Profile h3,
.Profile .element-header {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.9rem;
  margin: 0;
}
.HomePage .page-header-subtitle {
  font-size: 1.25rem;
  font-weight: 600;
}
.HomePage h1 {
  margin: 0 0 calc(var(--page_padding-vertical) * 3);
  font-size: 3.8146972656rem;
}
.HomePage h2 {
  margin-top: calc(var(--page_padding-vertical) * 3);
}
.HomePage .programmes {
  display: flex;
  flex-wrap: wrap;
  gap: var(--page_padding-horizontal);
}
.HomePage .programme {
  position: relative;
  width: 20rem;
  background: color-mix(in srgb, #755773 10%, transparent);
  padding: 1.5rem;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: flex-end;
  cursor: pointer;
}
.HomePage .programme:hover, .HomePage .programme:focus, .HomePage .programme:active {
  background: #755773;
  color: #ffffff;
}
.HomePage .programme.completed .tabler-icon {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
}
.HomePage .programme .programme-name {
  font-weight: 700;
  margin-bottom: 1em;
  flex-grow: 1;
}
.HomePage .programme .programme-progression,
.HomePage .programme .programme-modules,
.HomePage .programme .expiry-date {
  font-size: 0.8em;
}
.HomePage .programme p {
  margin: 0;
}
.HomePage .programme.expired {
  opacity: 0.7;
  position: relative;
}
.HomePage .programme.expired:hover, .HomePage .programme.expired:focus, .HomePage .programme.expired:active {
  background: color-mix(in srgb, #755773 10%, transparent);
  color: #755773;
}
.HomePage .programme.expired .hover-text {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #ffffff;
  font-weight: 600;
  background-color: #755773;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.HomePage .programme.expired:hover {
  opacity: 1;
}
.HomePage .programme.expired:hover .hover-text {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .HomePage h1 {
    font-size: 3.0517578125rem;
  }
  .HomePage .programme {
    width: 18rem;
    flex-grow: 1;
  }
}
.CategoryPage .header h1,
.CategoryPage .header h2 {
  margin-bottom: 0;
}
.CategoryPage .header .BackButton,
.CategoryPage .header .description {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .CategoryPage .header .title-container {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    column-gap: var(--page_padding-horizontal);
  }
}
@media only screen and (max-width: 768px) {
  .CategoryPage .header .CompletionTracker {
    margin-top: calc(var(--page_padding-vertical) * 0.5);
  }
  .CategoryPage .header .title-container {
    margin-bottom: calc(var(--page_padding-vertical) * 2.5);
  }
  .CategoryPage .header.has-description .title-container {
    margin-bottom: calc(var(--page_padding-vertical) * 1.5);
  }
  .CategoryPage .header.has-description .description {
    margin-bottom: calc(var(--page_padding-vertical) * 2.5);
    font-weight: 400;
  }
}
.CategoryPage h1 {
  margin: 0;
}
.CategoryPage h3 {
  margin: 1.5rem 0 1rem 0;
  font-size: 1.25rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}