
/* Used to detect in JavaScript if apps have loaded styles or not. */
:root {
  --reach-menu-button: 1;
}

[data-reach-menu] {
  position: relative;
}

[data-reach-menu-popover] {
  display: block;
  position: absolute;
}

[data-reach-menu-popover][hidden] {
  display: none;
}

[data-reach-menu-list],
[data-reach-menu-items] {
  display: block;
  white-space: nowrap;
  border: solid 1px hsla(0, 0%, 0%, 0.25);
  background: hsla(0, 100%, 100%, 0.99);
  outline: none;
  padding: 1rem 0;
  font-size: 85%;
}

[data-reach-menu-item] {
  display: block;
  user-select: none;
}

/*
 The dom structure of a MenuLink is reach-menu-item > a,
 so to target all items we can use `data-reach-menu-item`
*/
[data-reach-menu-item] {
  /*
    These are styled in one rule instead of something like a[data-reach-menu-item]
    and li[data-reach-menu-item] so that apps don't have to fight specificity and
    can style both li and a menu items with one rule,
    ie: `[data-selected] { background: red; }`.
    Otherwise they'd have to define two styles, one for a and one for li.
  */
  /* reach-menu-item */
  cursor: pointer;
  /* a */
  display: block;
  color: inherit;
  font: inherit;
  text-decoration: initial;
  /* both */
  padding: 5px 20px;
}

/* pseudo pseudo selector */
[data-reach-menu-item][data-selected] {
  background: hsl(211, 81%, 36%);
  color: white;
  outline: none;
}

[data-reach-menu-item][aria-disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

dialog {
  position: absolute;
  left: 0;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  margin: auto;
  border: solid;
  padding: 1em;
  background: white;
  color: black;
  display: block;
}

dialog:not([open]) {
  display: none;
}

dialog + .backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.1);
}

._dialog_overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

dialog.fixed {
  position: fixed;
  top: 50%;
  transform: translate(0, -50%);
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@font-face {
  font-family: "Sohne-Buch";
  src: url(/assets/Sohne-Buch-bd1199908d2d32d3ceec4272821bb1e958d8788a5c65393d3ef394af2cd8f79d.otf) format("truetype");
}
@font-face {
  font-family: "Sohne-Kraftig";
  src: url(/assets/Sohne-Kraftig-2bd5ef76d2ee5e51ec22d662c53f139c63a322bc167f2a539af8d9f664770a54.otf) format("truetype");
}
@font-face {
  font-family: "Sohne-Halbfett";
  src: url(/assets/Sohne-Halbfett-07ca8b6df2cfaf8cd4569b2bd8b7dfec28ebab648c12c7143b05237dcf11aef2.otf) format("truetype");
}
body {
  font-family: "Sohne-Buch";
}

button {
  font-family: "Sohne-Buch";
}

h1 {
  font-family: "p22-mackinac-pro", serif;
  font-weight: 700;
  font-size: 20px;
  color: #2b5652;
}
@media (min-width: 768px) {
  h1 {
    font-size: 36px;
  }
}

h2 {
  font-family: "Sohne-Buch";
  font-size: 25px;
}

h3 {
  font-family: "Sohne-Halbfett";
  font-size: 20px;
}

h4,
.activity-summary {
  font-family: "Sohne-Kraftig";
  font-size: 16px;
}

h5 {
  font-family: "Sohne-Kraftig";
  font-size: 14px;
}

h6 {
  color: #aeaeae;
  font-family: "Sohne-Buch";
  font-size: 12px;
}

p {
  font-size: 16px;
  line-height: 1.4;
}

.p-small {
  font-size: 14px;
  font-family: "Sohne-Buch" !important;
}

.lesson-description > p,
.lesson-description > ul > li > p,
.lesson-description > ul > li,
.grey-body {
  font-family: "Sohne-Buch";
  color: #626262;
  font-size: 14px;
}

.lesson-description > ul,
.lesson-description > li,
.bullet-list {
  list-style: disc;
  margin-left: 20px;
  line-height: 1.2rem;
}
.lesson-description > ul h4,
.lesson-description > ul h5,
.lesson-description > li h4,
.lesson-description > li h5,
.bullet-list h4,
.bullet-list h5 {
  margin-bottom: 5px;
  margin-left: -15px;
}

strong {
  font-family: "Sohne-Halbfett";
}

button {
  border: none;
  background-color: transparent;
  display: inline-block;
  -moz-appearance: none;
  -webkit-appearance: none;
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
  font-family: "Sohne-Kraftig";
  padding: 11px;
  line-height: 21px;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-appearance: none;
}
button[class*=-outline] {
  box-shadow: none;
}
button:hover {
  cursor: pointer;
}
button:focus {
  text-decoration: none;
}
button:active:focus {
  outline: none;
}

.button-unstyled {
  font-size: inherit;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.button-primary {
  background-color: #2b5652;
  color: #fdf6ed;
  border: #2b5652;
  display: inline-block;
  -moz-appearance: none;
  -webkit-appearance: none;
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
  font-family: "Sohne-Kraftig";
  padding: 11px;
  line-height: 21px;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-appearance: none;
  min-width: 207px;
  height: 44px;
  border-radius: 9px;
}
.button-primary[class*=-outline] {
  box-shadow: none;
}
.button-primary:hover {
  cursor: pointer;
}
.button-primary:focus {
  text-decoration: none;
}
.button-primary:active:focus {
  outline: none;
}
.button-primary:hover:not(:disabled):not(.is-disabled) {
  background-color: #1a3432;
  color: #fdf6ed;
  opacity: 1;
}
.button-primary:active {
  background-color: #1a3432;
  color: #faebd6;
}
.button-primary:focus-visible:not(:disabled):not(.is-disabled) {
  background-color: #1a3432;
  color: #fdf6ed;
}
.button-primary[class*=-outline] {
  border: 1px solid #2b5652;
}
.button-primary[class*=-outline]:hover:not(:disabled):not(.is-disabled) {
  border-color: transparent;
}
.button-primary:disabled {
  opacity: 0.1;
  cursor: not-allowed;
}
.button-primary.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.link-primary {
  color: #2b5652;
  display: inline-block;
  text-decoration: underline;
  font-size: 1rem;
  font-family: "Sohne-Halbfett";
  transition: all 0.3s ease-in-out;
}
.link-primary:hover:not(:disabled):not(.is-disabled) {
  color: #1a3432;
}

.link-with-img {
  color: #2b5652;
  font-family: "Sohne-Kraftig";
  text-decoration: underline;
  cursor: pointer;
}
.link-with-img.left {
  margin-left: 10px;
}
.link-with-img.right img {
  margin-left: 5px;
  height: 13px;
}

.button-primary-base {
  background-color: #31786c;
  color: #ffffff;
  border: #31786c;
  display: inline-block;
  -moz-appearance: none;
  -webkit-appearance: none;
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
  font-family: "Sohne-Kraftig";
  padding: 11px;
  line-height: 21px;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-appearance: none;
  min-width: 207px;
  height: 44px;
  border-radius: 9px;
}
.button-primary-base[class*=-outline] {
  box-shadow: none;
}
.button-primary-base:hover {
  cursor: pointer;
}
.button-primary-base:focus {
  text-decoration: none;
}
.button-primary-base:active:focus {
  outline: none;
}
.button-primary-base:hover:not(:disabled):not(.is-disabled) {
  background-color: #2b5652;
  color: #ffffff;
  opacity: 1;
}
.button-primary-base:active {
  background-color: #2b5652;
  color: #f2f2f2;
}
.button-primary-base:focus-visible:not(:disabled):not(.is-disabled) {
  background-color: #2b5652;
  color: #ffffff;
}
.button-primary-base[class*=-outline] {
  border: 1px solid #31786c;
}
.button-primary-base[class*=-outline]:hover:not(:disabled):not(.is-disabled) {
  border-color: transparent;
}
.button-primary-base:disabled {
  opacity: 0.1;
  cursor: not-allowed;
}
.button-primary-base.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.link-primary-base {
  color: #31786c;
  display: inline-block;
  text-decoration: underline;
  font-size: 1rem;
  font-family: "Sohne-Halbfett";
  transition: all 0.3s ease-in-out;
}
.link-primary-base:hover:not(:disabled):not(.is-disabled) {
  color: #2b5652;
}

.link-with-img {
  color: #2b5652;
  font-family: "Sohne-Kraftig";
  text-decoration: underline;
  cursor: pointer;
}
.link-with-img.left {
  margin-left: 10px;
}
.link-with-img.right img {
  margin-left: 5px;
  height: 13px;
}

.button-primary-outline {
  background-color: transparent;
  color: #2b5652;
  border: transparent;
  display: inline-block;
  -moz-appearance: none;
  -webkit-appearance: none;
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
  font-family: "Sohne-Kraftig";
  padding: 11px;
  line-height: 21px;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-appearance: none;
  min-width: 207px;
  height: 44px;
  border-radius: 9px;
}
.button-primary-outline[class*=-outline] {
  box-shadow: none;
}
.button-primary-outline:hover {
  cursor: pointer;
}
.button-primary-outline:focus {
  text-decoration: none;
}
.button-primary-outline:active:focus {
  outline: none;
}
.button-primary-outline:hover:not(:disabled):not(.is-disabled) {
  background-color: #2b5652;
  color: #ffffff;
  opacity: 1;
}
.button-primary-outline:active {
  background-color: #2b5652;
  color: #f2f2f2;
}
.button-primary-outline:focus-visible:not(:disabled):not(.is-disabled) {
  background-color: #2b5652;
  color: #ffffff;
}
.button-primary-outline[class*=-outline] {
  border: 1px solid #2b5652;
}
.button-primary-outline[class*=-outline]:hover:not(:disabled):not(.is-disabled) {
  border-color: transparent;
}
.button-primary-outline:disabled {
  opacity: 0.1;
  cursor: not-allowed;
}
.button-primary-outline.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.link-primary-outline {
  color: transparent;
  display: inline-block;
  text-decoration: underline;
  font-size: 1rem;
  font-family: "Sohne-Halbfett";
  transition: all 0.3s ease-in-out;
}
.link-primary-outline:hover:not(:disabled):not(.is-disabled) {
  color: #2b5652;
}

.link-with-img {
  color: #2b5652;
  font-family: "Sohne-Kraftig";
  text-decoration: underline;
  cursor: pointer;
}
.link-with-img.left {
  margin-left: 10px;
}
.link-with-img.right img {
  margin-left: 5px;
  height: 13px;
}

.button-secondary {
  background-color: #fce7ad;
  color: #2b5652;
  border: #fce7ad;
  display: inline-block;
  -moz-appearance: none;
  -webkit-appearance: none;
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
  font-family: "Sohne-Kraftig";
  padding: 11px;
  line-height: 21px;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-appearance: none;
  min-width: 207px;
  height: 44px;
  border-radius: 9px;
}
.button-secondary[class*=-outline] {
  box-shadow: none;
}
.button-secondary:hover {
  cursor: pointer;
}
.button-secondary:focus {
  text-decoration: none;
}
.button-secondary:active:focus {
  outline: none;
}
.button-secondary:hover:not(:disabled):not(.is-disabled) {
  background-color: #fad97c;
  color: #2b5652;
  opacity: 1;
}
.button-secondary:active {
  background-color: #fad97c;
  color: #234542;
}
.button-secondary:focus-visible:not(:disabled):not(.is-disabled) {
  background-color: #fad97c;
  color: #2b5652;
}
.button-secondary[class*=-outline] {
  border: 1px solid #fce7ad;
}
.button-secondary[class*=-outline]:hover:not(:disabled):not(.is-disabled) {
  border-color: transparent;
}
.button-secondary:disabled {
  opacity: 0.1;
  cursor: not-allowed;
}
.button-secondary.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.link-secondary {
  color: #fce7ad;
  display: inline-block;
  text-decoration: underline;
  font-size: 1rem;
  font-family: "Sohne-Halbfett";
  transition: all 0.3s ease-in-out;
}
.link-secondary:hover:not(:disabled):not(.is-disabled) {
  color: #fad97c;
}

.link-with-img {
  color: #2b5652;
  font-family: "Sohne-Kraftig";
  text-decoration: underline;
  cursor: pointer;
}
.link-with-img.left {
  margin-left: 10px;
}
.link-with-img.right img {
  margin-left: 5px;
  height: 13px;
}

.button-white {
  background-color: #ffffff;
  color: #2b5652;
  border: #ffffff;
  display: inline-block;
  -moz-appearance: none;
  -webkit-appearance: none;
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
  font-family: "Sohne-Kraftig";
  padding: 11px;
  line-height: 21px;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-appearance: none;
  min-width: 207px;
  height: 44px;
  border-radius: 9px;
}
.button-white[class*=-outline] {
  box-shadow: none;
}
.button-white:hover {
  cursor: pointer;
}
.button-white:focus {
  text-decoration: none;
}
.button-white:active:focus {
  outline: none;
}
.button-white:hover:not(:disabled):not(.is-disabled) {
  background-color: #e6e6e6;
  color: #e6e6e6;
  opacity: 1;
}
.button-white:active {
  background-color: #e6e6e6;
  color: #d9d9d9;
}
.button-white:focus-visible:not(:disabled):not(.is-disabled) {
  background-color: #e6e6e6;
  color: #e6e6e6;
}
.button-white[class*=-outline] {
  border: 1px solid #ffffff;
}
.button-white[class*=-outline]:hover:not(:disabled):not(.is-disabled) {
  border-color: transparent;
}
.button-white:disabled {
  opacity: 0.1;
  cursor: not-allowed;
}
.button-white.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.link-white {
  color: #ffffff;
  display: inline-block;
  text-decoration: underline;
  font-size: 1rem;
  font-family: "Sohne-Halbfett";
  transition: all 0.3s ease-in-out;
}
.link-white:hover:not(:disabled):not(.is-disabled) {
  color: #e6e6e6;
}

.link-with-img {
  color: #2b5652;
  font-family: "Sohne-Kraftig";
  text-decoration: underline;
  cursor: pointer;
}
.link-with-img.left {
  margin-left: 10px;
}
.link-with-img.right img {
  margin-left: 5px;
  height: 13px;
}

.button-nano {
  padding: 2px 8px;
  font-size: 13px;
  line-height: 18px;
  min-width: 80px;
  border-radius: 4px;
}

.button-small {
  padding: 8.5px;
}

.button-medium {
  padding: 11px;
  min-width: 145px;
}

.button-large {
  padding: 19.5px;
  height: auto;
  width: 270px;
}

.icon-button-container {
  display: flex;
  margin-left: auto;
}
.icon-button-container.large img {
  width: 20px !important;
  height: 20px !important;
  margin-right: 0px !important;
}
.icon-button-container.small img {
  width: auto !important;
  height: 14.5px !important;
  margin-right: 0px !important;
}

.activity-session-wrapper .BeaconFabButtonFrame {
  bottom: 80px !important;
}

/*-----------------------
Carousel
-----------------------*/
.carousel .slide {
  display: none;
  scroll-margin: 40px;
}
.carousel .slide.active {
  display: inline-block;
  width: 100%;
}
.carousel .is-disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

/* Onboarding Carousel */
.onboarding {
  text-align: center;
}
.onboarding h2 {
  font-family: "Sohne-Halbfett";
  margin-top: 35px !important;
  margin-bottom: 15px !important;
}
.onboarding h2,
.onboarding p {
  max-width: 880px;
  margin: 0 auto;
}
.onboarding p {
  margin-block-start: 1em;
}
.onboarding img {
  margin-top: 20px;
  max-width: 350px;
  width: 100%;
}
.onboarding .button-large {
  margin-top: 0px;
}
.onboarding .slide-container {
  display: flex;
  overflow: hidden;
  scroll-behavior: smooth;
  max-width: 300px;
}
@media (min-width: 768px) {
  .onboarding .slide-container {
    max-width: 600px;
  }
}
@media (min-width: 1024px) {
  .onboarding .slide-container {
    max-width: 900px;
  }
}
.onboarding .slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1 0 100%;
  width: 100%;
}
.onboarding .text-content {
  max-width: 40rem;
  margin-bottom: 30px;
}
.onboarding .getting-started-video-container {
  width: 100%;
  margin-bottom: 30px;
  padding-bottom: 45%;
}

/* Dot Carousel */
.dot-picker {
  display: flex;
  justify-content: center;
  margin-top: 30px;
  margin-bottom: 20px;
}
.dot-picker .dot {
  background-color: #c8ebd8;
  border-radius: 100px;
  content: "";
  width: 12px;
  height: 12px;
  margin: 0 5px;
  padding: 6px;
}
.dot-picker .dot.active {
  background-color: #2b5652;
}

.epub-reader #epub-page-divider {
  z-index: 2;
  border-left: 1px solid rgba(204, 204, 204, 0.8);
  border-right: 1px solid rgba(204, 204, 204, 0.8);
  box-shadow: 0 0 20px 15px rgba(204, 204, 204, 0.5);
}

/*-----------------------
Fieldset
-----------------------*/
fieldset {
  display: inline-block;
  position: relative;
  width: 100%;
}

fieldset + fieldset {
  margin-top: 30px;
}

/*-----------------------
Labels
-----------------------*/
label {
  color: #626262;
  display: inline-block;
  font-family: "Sohne-Buch";
  margin-bottom: 10px;
  font-size: 1rem;
  text-align: left;
  width: 100%;
  line-height: 1.4;
}

/*-----------------------
Inputs
-----------------------*/
input,
select,
textarea {
  background-color: #ffffff;
  border: 2px solid #e6e6e6;
  border-radius: 9px;
  box-sizing: border-box;
  appearance: none;
  transition: all 0.3s ease-in-out;
  font-family: "Sohne-Buch";
  font-size: 1rem;
  padding: 15px;
  width: 100%;
  -webkit-font-smoothing: antialiased;
}
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #31786c;
}

/*-----------------------
Hidden Input
-----------------------*/
.hidden-field {
  height: 0px;
  width: 0px;
}

.really.hidden-field input {
  padding: 0px;
  border: none;
}

/*-----------------------
Textarea
-----------------------*/
textarea,
textarea[type=text] {
  height: 100px;
  resize: vertical;
}

/*-----------------------
Error
-----------------------*/
.error input,
.error textarea,
.error select {
  border: 1px solid #d05050;
  margin-bottom: 5px;
}
.error label,
.error p {
  color: #d05050;
}

/*-----------------------
Success
-----------------------*/
.success p {
  color: #31786c;
}

/*-----------------------
Form
-----------------------*/
.authentication {
  text-align: center;
}
.authentication h1 {
  font-family: "Sohne-Halbfett";
  font-size: 2.2rem;
  margin-bottom: 25px;
  color: #2b5652;
  letter-spacing: 0.5px;
}
@media (min-width: 1024px) {
  .authentication h1 {
    font-size: 3.5rem;
  }
}
.authentication h2 {
  font-family: "Lexend Deca", sans-serif;
  font-size: 1rem;
  margin-bottom: 30px;
}
@media (min-width: 1024px) {
  .authentication h2 {
    font-size: 1.3rem;
  }
}
.authentication h3 {
  color: #626262;
  font-size: 16px;
  line-height: 1.3rem;
  margin: 20px auto 0 auto;
  max-width: 600px;
}
.authentication h3 a {
  color: #2b5652;
  cursor: pointer;
  text-decoration: underline;
}
.authentication form {
  max-width: 600px;
  margin: auto;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.authentication form input[type=submit] {
  margin-top: 30px;
  width: auto;
}

form input[type=submit] {
  width: auto;
}

.selectable-collection button {
  font-size: clamp(1rem, -2.75rem + 16.6667vw, 6rem);
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 20px 25px;
  line-height: inherit;
}
.selectable-collection ul {
  display: flex;
  gap: clamp(0.5rem, -1.875rem + 8.333333vw, 10rem);
  justify-content: center;
  flex-wrap: wrap;
}
.selectable-collection ul li {
  list-style-type: none;
  width: calc(33.3333333333% - 20px);
  text-align: center;
}
@media (min-width: 768px) {
  .selectable-collection ul li {
    width: auto;
  }
}
.selectable-collection .highlighted {
  color: #c2862b;
}

/*-----------------------
Tabs
-----------------------*/
.tabs .tab-content {
  display: none;
}
.tabs .tab-content.active {
  display: block;
  margin: 30px;
}
.tabs .tab-content.active .tab-content-inner {
  display: block;
  margin: 0px auto;
}
.tabs .tab-selectors {
  background-color: #ffffff;
  box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
  padding: 0px 30px 0px;
}
.tabs .tab-selectors ul {
  display: flex;
  margin: 0 auto;
  max-width: 926px;
}
.tabs .tab-selectors ul .tab-selector:not(:last-child) {
  margin-right: 30px;
}
.tabs .tab-selectors ul .tab-selector button {
  border-bottom: 2px solid transparent;
  font-family: "Sohne-Halbfett";
  padding: 0px 0px 10px;
  min-width: auto;
  border-radius: 0px;
}
.tabs .tab-selectors ul .tab-selector.active button {
  border-color: #2b5652;
  color: #2b5652;
}

.drawing-canvas .konvajs-content {
  background-color: #ffffff;
  border-radius: 15px;
  box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
}
.drawing-canvas .konvajs-content:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0px;
  top: 33.3333333333%;
  border-bottom: 1px dashed #282828;
}
.drawing-canvas .konvajs-content:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0px;
  top: 66.6666666667%;
  border-bottom: 1px solid #d05050;
}

.tile {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  background-color: #ffffff;
  border-radius: 15px;
  box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
  position: relative;
  text-align: center;
  padding: 20px;
  border-bottom: 2px solid #ffffff;
  box-sizing: border-box;
  color: #282828;
  cursor: pointer;
}
@media (min-width: 768px) {
  .tile {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
}
@media (min-width: 1450px) {
  .tile {
    height: 202px;
    width: 200px;
    font-size: 123px;
    line-height: 1.1;
  }
}
.tile.tile__dragging {
  opacity: 0.5;
}
.tile.tile__not-draggable {
  user-select: none;
}
.tile.tile__transparent {
  background-color: transparent;
  box-shadow: none;
  border: none;
  padding: 20px 0;
}
.tile.tile__transparent:before, .tile.tile__transparent:after {
  border: none;
}

.pronounce-menu {
  border-radius: 5px;
  margin-top: 2px;
  font-size: 1.25rem;
  text-align: center;
  padding: 5px;
  min-width: 80px;
  max-height: 375px;
  overflow-y: scroll;
}
.pronounce-menu::-webkit-scrollbar {
  width: 8px;
  height: 10px;
}
.pronounce-menu::-webkit-scrollbar-track {
  background-color: #f5f5f5;
  border-radius: 5px;
}
.pronounce-menu::-webkit-scrollbar-thumb {
  background-color: #9d9d9d;
  border-radius: 5px;
  opacity: 1;
}
.pronounce-menu [data-reach-menu-item]:not(:last-child) {
  border-bottom: 1px solid #c8ebd8;
  padding: 10px 20px;
}

.dashboard-nav {
  align-items: center;
  background-color: #2b5652;
  display: flex;
  padding: 20px;
  height: 70px;
}
@media (min-width: 768px) {
  .dashboard-nav {
    padding: 20px 40px;
  }
}
.dashboard-nav .nav-container {
  align-items: center;
  display: flex;
  margin: 0 auto;
  width: 100%;
}
.dashboard-nav .nav-container a {
  text-decoration: none;
  color: #fffbf6;
}
.dashboard-nav .nav-container .nav-left {
  align-items: center;
  margin-right: auto;
  margin-left: 30px;
}
.dashboard-nav .nav-container .nav-left li {
  position: relative;
}
.dashboard-nav .nav-container .nav-left li.profile-dropdown {
  align-items: center;
  display: flex;
  margin-right: 35px;
  height: 70px;
}
.dashboard-nav .nav-container .nav-left li.profile-dropdown .selected-student {
  margin: 20px 0;
  background-color: #c8ebd8;
  border-radius: 7px;
  font-family: "Sohne-Halbfett";
  height: 29px;
  padding: 5px 12px;
  color: #2b5652;
  white-space: nowrap;
  max-width: 175px;
}
@media (min-width: 1024px) {
  .dashboard-nav .nav-container .nav-left li.profile-dropdown .selected-student {
    max-width: fit-content;
  }
}
.dashboard-nav .nav-container .nav-left li.profile-dropdown .selected-student p {
  overflow: hidden;
  text-overflow: ellipsis;
}
.dashboard-nav .nav-container .nav-left li.profile-dropdown .nav-link {
  font-size: 1rem;
  color: #2b5652;
}
.dashboard-nav .nav-container .nav-left li.profile-dropdown .sub-nav-link {
  font-size: 0.9rem;
  color: #31786c;
  margin-left: 0;
}
.dashboard-nav .nav-container .nav-left li:nth-child(n+2) {
  margin-right: 20px;
}
.dashboard-nav .nav-container .nav-right {
  align-items: center;
  margin-left: auto;
}
.dashboard-nav .nav-container .nav-right .nav-list .nav-dropdown {
  right: 0;
  top: 55px;
}
.dashboard-nav .nav-container .nav-right .link-white {
  display: none;
}
@media (min-width: 768px) {
  .dashboard-nav .nav-container .nav-right .link-white {
    display: flex;
  }
}
.dashboard-nav .nav-container .nav-list {
  align-items: center;
  display: flex !important;
  position: relative;
}
.dashboard-nav .nav-container .nav-list > li > a, .dashboard-nav .nav-container .nav-list > li > button {
  font-family: "Sohne-Kraftig";
  text-decoration: none;
}
.dashboard-nav .nav-container .nav-list li {
  color: #fffbf6;
  font-size: 1rem;
}
.dashboard-nav .nav-container .nav-list li a,
.dashboard-nav .nav-container .nav-list li button {
  align-items: center;
  display: flex;
  height: 70px;
  line-height: 1.4rem;
}
.dashboard-nav .nav-container .nav-list li a img,
.dashboard-nav .nav-container .nav-list li button img {
  margin-left: 7px;
  margin-top: 3px;
}
.dashboard-nav .nav-container .nav-list a.active {
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-color: #fce7ad;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
.dashboard-nav .nav-container .nav-dropdown {
  background-color: white;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
  border-radius: 15px;
  top: 58px;
  padding: 30px;
  position: absolute;
  min-width: 230px;
  z-index: 2;
}
.dashboard-nav .nav-container .nav-dropdown hr {
  margin: 20px 0px !important;
}
.dashboard-nav .nav-container .nav-dropdown li {
  align-items: center;
  display: flex;
  margin: 0px;
  margin-bottom: 10px;
}
.dashboard-nav .nav-container .nav-dropdown li:last-of-type {
  margin-bottom: 0px;
}
.dashboard-nav .nav-container .nav-dropdown li.dropdown-item {
  margin-left: 30px !important;
}
.dashboard-nav .nav-container .nav-dropdown li h4 {
  color: #2b5652;
  font-family: "Sohne-Halbfett";
  margin-left: 10px;
}
.dashboard-nav .nav-container .nav-dropdown li a {
  background-color: transparent !important;
  text-decoration: none;
  font-family: "Sohne-Halbfett";
  padding: 0 !important;
  height: 25px !important;
  line-height: 16px !important;
  margin-left: 10px !important;
}
.dashboard-nav .nav-container .nav-dropdown li .nav-link {
  font-size: 1rem;
  color: #2b5652;
}
.dashboard-nav .nav-container .nav-dropdown li .sub-nav-link {
  font-size: 0.9rem;
  color: #31786c;
  margin-left: 0;
}
.dashboard-nav button[aria-expanded=true] + ul.nav-dropdown {
  display: block;
}
.dashboard-nav button[aria-expanded=false] + ul.nav-dropdown {
  display: none;
}

.header-nav {
  background-color: white;
  position: relative;
  box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.1);
  height: 215px;
  padding: 25px 20px 20px 20px;
}
@media (min-width: 768px) {
  .header-nav {
    height: 150px;
  }
}
.header-nav .header-container {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 1200px;
}
@media (min-width: 768px) {
  .header-nav .header-container {
    flex-direction: row;
  }
}
.header-nav .header-container .learner-container {
  width: 100%;
}
@media (min-width: 768px) {
  .header-nav .header-container .learner-container {
    width: calc(100% - 227px);
  }
}
.header-nav .header-container .learner-container h1 {
  margin-bottom: 5px;
}
@media (min-width: 768px) {
  .header-nav .header-container .learner-container h1 {
    margin-bottom: 10px;
  }
}
.header-nav .header-container .learner-container p {
  line-height: 1.1rem;
}
.header-nav .header-container .learner-container .learner-highlights {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.header-nav .header-container .learner-container .learner-highlights span {
  margin: 0 7px;
}
.header-nav .header-container .tab-navigation {
  position: absolute;
  bottom: 0px;
}
.header-nav .header-container .tab-navigation ul {
  display: flex;
  flex-direction: row;
}
.header-nav .header-container .tab-navigation ul li {
  font-family: "Sohne-Halbfett";
  height: 35px;
}
.header-nav .header-container .tab-navigation ul li a {
  color: initial;
  display: block;
  height: 100%;
  text-decoration: none;
}
.header-nav .header-container .tab-navigation ul li:nth-child(2) {
  margin: 0 15px;
}
@media (min-width: 768px) {
  .header-nav .header-container .tab-navigation ul li:nth-child(2) {
    margin: 0 40px;
  }
}
.header-nav .header-container .tab-navigation ul li.active {
  border-bottom: 2px solid #2b5652;
}
.header-nav .header-container .learner-buttons {
  width: 100%;
  text-align: left;
  margin: 10px 0px;
}
@media (min-width: 768px) {
  .header-nav .header-container .learner-buttons {
    width: 207px;
    margin: 0px 0px 0px 20px;
    text-align: center;
  }
}
.header-nav .header-container .learner-buttons button {
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  .mobile-only {
    display: none !important;
  }
}

.desktop-link {
  display: none;
}
@media (min-width: 768px) {
  .desktop-link {
    display: flex;
    color: #ffffff;
  }
}

.mobile-logo {
  display: inline-block;
}
@media (min-width: 768px) {
  .mobile-logo {
    display: none;
  }
}

.desktop-logo {
  display: none;
}
@media (min-width: 768px) {
  .desktop-logo {
    display: inline-block;
  }
}

.mobile-hamburger {
  padding: 3px 0 0 0;
}
.mobile-hamburger .icon-menu-toggle {
  width: 2rem;
  height: 2rem;
  top: -3px;
  display: inline-block;
  fill: #ffffff;
  vertical-align: middle;
  position: relative;
}
@media (min-width: 768px) {
  .mobile-hamburger .icon-menu-toggle {
    display: none;
  }
}
.mobile-hamburger .icon-menu-toggle .line {
  opacity: 1;
  -webkit-transform: rotate(0) translateY(0) translateX(0);
  -ms-transform: rotate(0) translateY(0) translateX(0);
  transform: rotate(0) translateY(0) translateX(0);
  -webkit-transform-origin: 1rem 1em;
  -ms-transform-origin: 1rem 1em;
  transform-origin: 1rem 1em;
  -webkit-transition: opacity 0.2s ease-in-out, -webkit-transform 0.3s ease-in-out;
  transition: opacity 0.2s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -o-transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out;
  transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out;
  transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.mobile-hamburger .icon-menu-toggle .line-1 {
  -webkit-transform-origin: 1rem 2.5rem;
  -ms-transform-origin: 1rem 2.5rem;
  transform-origin: 1rem 2.5rem;
}
.mobile-hamburger .icon-menu-toggle .line-3 {
  -webkit-transform-origin: 1rem 4rem;
  -ms-transform-origin: 1rem 4rem;
  transform-origin: 1rem 4rem;
}
.mobile-hamburger[aria-expanded=true] svg {
  left: -1px;
}
.mobile-hamburger[aria-expanded=true] .line-1 {
  -webkit-transform: rotate(45deg) translateY(0) translateX(0);
  -ms-transform: rotate(45deg) translateY(0) translateX(0);
  transform: rotate(45deg) translateY(0) translateX(0);
}
.mobile-hamburger[aria-expanded=true] .line-2 {
  opacity: 0;
}
.mobile-hamburger[aria-expanded=true] .line-3 {
  -webkit-transform: rotate(-45deg) translateY(0) translateX(0);
  -ms-transform: rotate(-45deg) translateY(0) translateX(0);
  transform: rotate(-45deg) translateY(0) translateX(0);
}

dialog {
  position: fixed;
}

dialog:modal {
  border-radius: 15px;
  border: none;
  max-width: 94%;
  padding: 0;
  max-height: 80vh;
  max-height: 80svh;
}
@media (min-width: 1024px) {
  dialog:modal {
    max-width: 1240px;
    max-width: 96%;
  }
}
dialog:modal#confirmation-modal {
  min-width: 300px;
  width: 75%;
  padding: 30px;
}
@media (min-width: 768px) {
  dialog:modal#confirmation-modal {
    max-width: 500px;
  }
}
dialog:modal#confirmation-modal .modal-content {
  padding: 30px 0px;
}
dialog:modal#confirmation-modal .close {
  padding: 0;
  top: 0px;
  right: 0px;
}

/* Modal Content/Box */
.modal-content {
  background-color: white;
  max-width: 1240px;
  padding: 30px;
}
.modal-content h2 {
  margin-bottom: 10px;
  font-family: "Sohne-Kraftig";
}
.modal-content button {
  margin-top: 25px;
}
.modal-content ol,
.modal-content ul {
  list-style: revert;
  margin-left: 20px;
}
.modal-content .modal-container-split {
  display: grid;
  gap: 4%;
  grid-template-columns: 100%;
  padding: 30px;
}
@media (min-width: 1024px) {
  .modal-content .modal-container-split {
    grid-template-columns: 48% 48%;
  }
}
.modal-content .modal-container-split img {
  width: 100%;
  min-width: 530px;
}
.modal-content .modal-container-split .modal-split-right p {
  margin-bottom: 15px;
}
.modal-content .modal-container-split .modal-split-right li:not(:last-child) p {
  margin-bottom: 0px;
}

.modal-banner-header {
  background-color: #2b5652;
  padding: 30px 60px;
  position: sticky;
  top: 0;
  z-index: 1;
}
.modal-banner-header h2 {
  color: white;
  margin-bottom: 0;
}

.modal-small .modal-content {
  max-width: 750px;
}

/* The Close Button */
.close {
  float: right;
  position: sticky;
  top: 20px;
  right: 20px;
  z-index: 2;
}
.close img {
  width: auto;
  height: 16px;
  margin-top: 0 !important;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.onboarding-modal {
  max-width: 60%;
}

body.modal-open {
  overflow: hidden;
}

dialog {
  border: none;
}

dialog:modal {
  max-width: 70%;
}

.header {
  margin: 30px 50px Impo !important;
  color: black;
  text-align: center;
}

.description {
  margin: 30px 0;
  text-align: center;
}

.warning-buttons {
  display: flex;
  justify-content: space-around;
}
.warning-buttons button {
  margin-top: 0;
}

@media (max-width: 768px) {
  dialog:modal {
    max-width: 94%;
  }
  .warning-buttons {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
}
/* --------------------------
Universal Pill
-------------------------- */
.pill-container {
  align-items: center;
  display: flex;
  margin-bottom: 10px;
}

.pill {
  border-radius: 7px;
  padding: 0 10px;
  margin-left: 10px;
  width: fit-content;
}
.pill p {
  font-size: 14px;
  font-family: "Sohne-Halbfett";
}
.pill.gold {
  color: #c2862b;
  border: 2px solid #ffe7c3;
}
.pill.green {
  color: #2b5652;
  border: 2px solid #c8ebd8;
}
.pill.grey {
  color: #9d9d9d;
  border: 2px solid #aeaeae;
}
.pill.completed {
  color: #2b5652;
  border: 2px solid #c8ebd8;
  position: relative;
}
.pill.completed ::before {
  background: url(/assets/icons/green-check-cb2d36c08baff618651c601532343a39a8d15fde5dee0138b40b95a3566f800d.svg);
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  background-size: 12px;
  background-repeat: no-repeat;
  left: 10px;
  top: 4px;
}
.pill.completed p {
  margin-left: 15px;
}

/* --------------------------
Universal Outline
-------------------------- */
.outline-container {
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  margin-top: 20px;
  padding: 20px;
  width: 100%;
}

.outline-grid {
  display: grid;
  gap: 25px 25px;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 768px) {
  .outline-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .outline-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.outline-grid .outline-container {
  margin-top: 0;
  padding: 15px 20px;
}
.outline-grid .outline-container p {
  font-family: "Sohne-Kraftig";
  margin-bottom: 2px;
}

.outline-activity-container {
  margin-top: 10px;
  padding: 12px 20px;
}
.outline-activity-container .pill-container {
  margin-bottom: 0;
}

.outline-profile-container {
  margin-top: 0px;
  text-align: center;
  padding: 30px 20px;
}
.outline-profile-container h2 {
  margin-top: 20px;
  font-size: 1.25rem;
}
.outline-profile-container button {
  margin-top: 20px;
}
.outline-profile-container .profile-icon {
  align-items: center;
  border-radius: 100%;
  display: flex;
  height: 100px;
  justify-content: center;
  margin: 0 auto;
  width: 100px;
}
.outline-profile-container .profile-icon span {
  font-family: "p22-mackinac-pro", serif;
  font-size: 2.25rem;
}
.outline-profile-container .profile-icon.purple {
  background-color: #3f3148;
  color: #fce7ad;
}
.outline-profile-container .profile-icon.blue {
  background-color: #0f3e88;
  color: #bfe5f1;
}
.outline-profile-container .profile-icon.green {
  background-color: #c8ebd8;
  color: #31786c;
}

.outline-divider {
  width: 100%;
}
.outline-divider hr {
  height: 1px;
  color: #e6e6e6;
}

.setting-container {
  margin-top: 30px;
}
.setting-container h3,
.setting-container p {
  margin-bottom: 15px;
}
.setting-container .plan-type {
  align-items: center;
  margin-bottom: 10px;
}
.setting-container .plan-type p {
  font-family: "Sohne-Halbfett";
  margin-bottom: 0;
}
.setting-container .plan-type img {
  height: 28px;
  width: 28px;
  margin-right: 10px;
}

.settings-tile {
  max-width: 750px;
  margin: 0 auto;
}

.lesson-blade {
  border-radius: 4px 0 0 4px;
  box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.1);
  width: 100%;
  margin: 0;
  position: fixed;
  right: 0;
  top: 0;
  height: 100vh;
  height: 100svh;
  padding: 20px;
  padding-bottom: 90px;
  overflow-y: scroll;
}
@media (min-width: 768px) {
  .lesson-blade {
    width: 800px;
  }
}
.lesson-blade .close {
  margin-bottom: 20px;
  margin-top: 0px;
  top: 0px;
}
.lesson-blade .blade-activity-header {
  margin-top: 25px;
}
.lesson-blade .program-overview {
  border-bottom: none;
  padding-bottom: 0;
}
.lesson-blade .program-overview .progress-icon {
  width: 70px;
  height: 70px;
  margin-right: 15px;
}
.lesson-blade .program-overview .program-information h2 {
  font-size: 1.55rem;
}
.lesson-blade .instructor-activity-footer {
  left: auto;
  margin-left: -30px;
  width: 100%;
}
@media (min-width: 768px) {
  .lesson-blade .instructor-activity-footer {
    width: 800px;
  }
}
.lesson-blade .instructor-activity-footer a {
  float: right;
}

.view-more {
  margin: 15px 0;
  text-align: center;
}
.view-more button,
.view-more a {
  padding: 0;
  color: #2b5652;
  font-family: "Sohne-Kraftig";
  font-size: 1rem;
  margin-right: 5px;
  margin-top: 0;
  text-decoration: underline;
}

.footer-container {
  background-color: #2b5652;
  height: auto;
  padding: 40px;
  width: 100%;
}
@media (min-width: 768px) {
  .footer-container {
    height: 200px;
  }
}
.footer-container .footer-table {
  display: grid;
  width: 100%;
  gap: 20px;
  grid-template-columns: repeat(2, auto);
}
.footer-container .footer-legal {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 15px;
}
@media (min-width: 768px) {
  .footer-container .footer-legal {
    flex-direction: row;
  }
}
.footer-container .footer-legal > * {
  margin: 10px;
}
.footer-container .footer-legal a,
.footer-container .footer-legal p {
  color: #fdf6ed;
  font-family: "Sohne-Kraftig";
  line-height: inherit;
}
.footer-container .footer-legal a {
  text-decoration: underline;
}
.footer-container .footer-legal a.inline-link {
  margin: 0;
}

.flash-messages {
  position: absolute;
  top: 75px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.flash-messages .flash-message {
  background-color: #c8ebd8;
  border: 1px solid #2b5652;
  border-radius: 9px;
  text-align: center;
  margin: 0 auto;
  padding: 10px;
  min-width: 40vw;
  line-height: 1.2rem;
}
.flash-messages .flash-message.flash-notice, .flash-messages .flash-message.flash-success {
  background-color: #c8ebd8;
  border-color: #31786c;
}
.flash-messages .flash-message.flash-alert {
  background-color: #ffcaca;
  border-color: #d05050;
}
.flash-messages .flash-message.flash-neutral, .flash-messages .flash-message.flash-warning {
  background-color: #fef5de;
  border-color: #fad97c;
}
.flash-messages .flash-message a {
  color: #2b5652;
  cursor: pointer;
  text-decoration: underline;
}

.radial-progress-indicator {
  position: relative;
  color: #31786c;
  font-family: "Sohne-Halbfett";
}
.radial-progress-indicator svg {
  transform: rotate(-90deg); /* starts progress at top */
}
.radial-progress-indicator__track, .radial-progress-indicator__indicator {
  fill: transparent;
}
.radial-progress-indicator__track {
  stroke: #c8ebd8;
}
.radial-progress-indicator__indicator {
  stroke: #31786c;
  stroke-linecap: round;
}
.radial-progress-indicator__label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

@media (min-width: 768px) {
  .screen-warning-visibility {
    display: none;
  }
}
@media (max-width: 500px) {
  .warning-buttons {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
}
.embed-container {
  position: relative;
  padding-bottom: 54.3%;
}
.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#unit-blade .modal {
  position: relative;
  z-index: 1;
}

/* --------------------------
Wrapper
-------------------------- */
.activity-wrapper {
  height: calc(100vh - 70px);
  height: calc(100svh - 70px);
  background-color: #2b5652;
  display: inline-table;
  width: 100%;
}

/* --------------------------
Header
-------------------------- */
.activity-header {
  color: #fffbf6;
  padding: 15px 30px;
  position: relative;
  width: 100%;
}
@media (min-width: 768px) {
  .activity-header {
    align-items: center;
    display: flex;
    width: calc(100% - 280px);
  }
}
.activity-header .logo {
  margin-top: 10px;
  width: 140px;
}
@media (min-width: 768px) {
  .activity-header .logo {
    margin: 0px;
  }
}
.activity-header .title {
  margin: auto;
  padding: 20px 0px 0px;
  text-align: center;
}
@media (min-width: 768px) {
  .activity-header .title {
    padding: 0px 20px;
  }
}
.activity-header .title p {
  font-family: "Sohne-Buch";
  line-height: inherit;
}
.activity-header .title * + h1 {
  font-family: "Sohne-Halbfett";
  margin-top: 5px;
}
.activity-header .title h1 {
  font-family: "Sohne-Halbfett";
  color: #fdf6ed;
  font-size: 1.25rem;
}
.activity-header .account {
  position: absolute;
  top: 20px;
  right: 30px;
}
@media (min-width: 768px) {
  .activity-header .account {
    position: relative;
    min-width: 140px;
    text-align: right;
    top: unset;
    right: unset;
  }
}
.activity-header .account button {
  background-color: #fffbf6;
  border: none;
  border-radius: 20em;
  color: #2b5652;
  font-family: "Sohne-Kraftig";
  font-size: 1.2rem;
  height: 40px;
  padding: 0px;
  width: 40px;
}

/* --------------------------
Activity Content
-------------------------- */
.activity-content {
  background-color: #fffbf6;
  border-radius: 15px;
  display: flex;
  justify-content: center;
  margin: 0px 30px 30px;
  min-height: calc(100vh - 170px);
  min-height: calc(100svh - 170px);
  width: calc(100% - 60px);
}
@media (min-width: 768px) {
  .activity-content {
    min-height: calc(100vh - 120px);
    min-height: calc(100svh - 120px);
  }
}
.activity-content .activity-content-inner {
  align-items: center;
  display: flex;
  justify-content: center;
  font-family: "Lexend Deca", sans-serif;
  padding: 20px;
  width: 100%;
}
.activity-content .activity-content-inner button {
  font-family: "Lexend Deca", sans-serif;
}

/* --------------------------
Activity Overview
-------------------------- */
.activity-review {
  align-items: flex-start;
  flex-direction: column !important;
  gap: 30px;
}
@media (min-width: 768px) {
  .activity-review {
    flex-direction: row !important;
    padding: 20px 25px;
  }
}
.activity-review aside {
  display: flex;
  flex-direction: column;
  width: 140px;
  gap: 10px;
}
.activity-review .activity-thumbnail {
  display: flex;
  justify-content: center;
  background-color: #ffffff;
  border: solid 2px #31786c;
  border-radius: 4px;
  position: relative;
}
.activity-review .thumbnail {
  width: 100px;
  height: auto;
}
.activity-review .video-thumbnail {
  opacity: 0.8;
}
.activity-review .play-icon-container {
  display: flex;
  position: absolute;
  bottom: 5px;
  right: 5px;
}
.activity-review .play-icon-container img {
  width: 22px;
}
.activity-review .video-link {
  text-align: center;
}
.activity-review .icon-button-container {
  margin-left: 0px;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .activity-review .icon-button-container {
    margin-left: auto;
    margin-top: 0;
  }
}

.activity-overview {
  max-width: 430px;
}
.activity-overview h4,
.activity-overview p {
  margin-bottom: 15px;
}

.activity-flex {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media (min-width: 1024px) {
  .activity-flex {
    flex-direction: row;
  }
}
.activity-flex .icon-button-container {
  margin-top: 15px;
  margin-left: 0;
}
@media (min-width: 1024px) {
  .activity-flex .icon-button-container {
    margin-top: 0px;
    margin-left: auto;
  }
}

/* --------------------------
Wrapper
-------------------------- */
.instructor-activity-wrapper {
  background-color: #fdf6ed;
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
  padding-bottom: 80px;
}

/* --------------------------
Navigation Header
-------------------------- */
.instructor-activity-header {
  background-color: #ffffff;
  box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.1);
  padding: 15px 30px;
  position: relative;
}
.instructor-activity-header .inner {
  margin: 0 auto;
  max-width: 926px;
}
@media (min-width: 768px) {
  .instructor-activity-header .inner {
    display: flex;
  }
}
.instructor-activity-header .inner p + h1 {
  margin-top: 8px;
}
@media (min-width: 768px) {
  .instructor-activity-header .inner h1 {
    font-size: 1.6rem;
  }
}
.instructor-activity-header .inner .instructor-title p {
  line-height: inherit;
}
.instructor-activity-header .inner .actions {
  margin-left: auto;
  margin-top: 10px;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .instructor-activity-header .inner .actions {
    margin-top: 0;
  }
}
.instructor-activity-header .inner .actions .about-action {
  color: #2b5652;
  margin-right: 20px;
}
.instructor-activity-header .inner .actions button,
.instructor-activity-header .inner .actions a {
  align-items: center;
  display: flex;
  font-family: "Sohne-Buch";
  padding: 0;
  text-decoration: underline;
}
.instructor-activity-header .inner .actions button img,
.instructor-activity-header .inner .actions a img {
  margin-right: 10px;
}

.instructor-controls {
  margin-right: auto;
  display: flex;
  gap: 15px;
  margin-bottom: 15px;
  width: 100%;
  overflow: hidden;
  overflow-x: scroll;
}
.instructor-controls:after {
  content: "";
  display: block;
  pointer-events: none;
  position: absolute;
  height: 45px;
  width: 40px;
  right: 25px;
  background-image: linear-gradient(to left, #fdf6ed, rgba(255, 255, 255, 0));
}
@media (min-width: 768px) {
  .instructor-controls {
    display: block;
    margin-top: 0px;
    margin-bottom: 0px;
    flex: 0;
    margin-left: 30px;
    overflow: visible;
  }
  .instructor-controls:after {
    content: unset;
  }
}
.instructor-controls button,
.instructor-controls a {
  min-width: 120px;
  text-align: left;
  font-size: 12px;
  line-height: 1.2;
  padding: 6px;
  flex: 1;
}
.instructor-controls button:last-of-type,
.instructor-controls a:last-of-type {
  margin-right: 25px;
}
@media (min-width: 768px) {
  .instructor-controls button,
  .instructor-controls a {
    width: 80px;
    min-width: 80px;
    min-height: 70px;
    height: fit-content;
    text-align: center;
    margin-bottom: 20px;
    padding: 6px 3px;
  }
  .instructor-controls button:last-of-type,
  .instructor-controls a:last-of-type {
    margin-right: 0px;
  }
}
.instructor-controls button .inner,
.instructor-controls a .inner {
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .instructor-controls button .inner,
  .instructor-controls a .inner {
    flex-direction: column;
  }
}
.instructor-controls button .instructor-control-link,
.instructor-controls a .instructor-control-link {
  text-decoration: none;
  color: inherit;
}
.instructor-controls button .instructor-control-link:visited,
.instructor-controls a .instructor-control-link:visited {
  color: inherit;
}
.instructor-controls button img,
.instructor-controls a img {
  width: 24px;
  margin-right: 5px;
  transition: all 0.3s ease-in-out;
}
@media (min-width: 768px) {
  .instructor-controls button img,
  .instructor-controls a img {
    margin: 0px 0px 3px;
  }
}
.instructor-controls button:hover img, .instructor-controls button:focus-visible img,
.instructor-controls a:hover img,
.instructor-controls a:focus-visible img {
  filter: brightness(0) invert(1);
}

.script-content-inner {
  padding: 30px;
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  max-width: 1000px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .script-content-inner {
    flex-direction: row;
  }
}
.script-content-inner table,
.script-content-inner th,
.script-content-inner td {
  border: 1px solid;
  padding: 10px;
}
.script-content-inner th {
  font-weight: 700;
}

/* --------------------------
Content
-------------------------- */
.card {
  background-color: #ffffff;
  box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
  border-radius: 15px;
  margin: 0 auto;
  width: 100%;
  padding: 30px;
}
.card .card-header {
  display: flex;
}
.card .card-header h2 {
  font-size: 20px;
  font-family: "Sohne-Halbfett";
}
.card .card-header .badge {
  margin-left: auto;
  font-size: 0.85rem;
  line-height: 1.4;
}

.script-group {
  display: flex;
  gap: 20px;
}
.script-group:first-of-type {
  margin-top: 20px;
}
.script-group:not(:first-of-type) {
  margin-top: 25px;
}
.script-group h3 {
  margin-bottom: 0px;
  font-family: "Sohne-Buch";
  font-size: 0.9rem;
  width: 4rem;
  height: 4rem;
  color: white;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  border-radius: 100%;
  line-height: 1;
  justify-content: center;
  font-size: 20px;
}
.script-group .text {
  border-radius: 15px;
  padding: 20px;
  padding-bottom: 5px;
  width: 100%;
}
.script-group .text * {
  font-size: 18px;
  line-height: 1.4;
}
.script-group.say h3, .script-group.greeting h3 {
  background-color: #2b5652;
}
.script-group.say .text, .script-group.greeting .text {
  background-color: #e6f5f2;
  border: 1px solid #e6e6e6;
  border-top-left-radius: 0px;
  color: #2b5652;
}
.script-group.say .text *, .script-group.greeting .text * {
  font-family: "Sohne-Halbfett";
  font-size: 20px;
}
.script-group.do h3, .script-group.error_correction h3 {
  background-color: #ffffff;
}
.script-group.do .text, .script-group.error_correction .text {
  border: 1px solid #e6e6e6;
  color: #626262;
}
.script-group.error_correction .text {
  background-color: #e6e6e6;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.script-group.error_correction .error-correction-icon {
  margin-right: 5px;
}
.script-group.error_correction .error-correction-prefix {
  font-weight: 700;
  margin-right: 5px;
}
.script-group.note h3 {
  background-color: #e5ab54;
}
.script-group.note .text {
  background-color: #fef5de;
}
.script-group ol {
  list-style: revert;
  margin-left: 20px;
}
.script-group .rich-text * {
  margin-bottom: 15px;
}
.script-group .rich-text strong,
.script-group .rich-text b {
  font-family: "Sohne-Halbfett";
}
.script-group .rich-text a {
  color: #2b5652;
}

.script-controls {
  justify-content: space-between;
  display: flex;
  margin-top: 30px;
}
.script-controls button {
  align-items: center;
  color: #2b5652;
  display: flex;
  font-family: "Sohne-Buch";
  text-decoration: underline;
  padding: 0;
}
.script-controls button:nth-child(1) img {
  margin-right: 10px;
  margin-top: 3px;
}
.script-controls button:nth-child(2) img {
  margin-left: 10px;
  margin-top: 3px;
}

.badge {
  border-radius: 7px;
  padding: 0px 8px;
  height: 24px;
  line-height: 1.2;
  white-space: nowrap;
}
.badge.incomplete {
  border: 2px solid #ffe7c3;
  color: #c2862b;
  font-family: "Sohne-Halbfett";
}

.script-content-and-evaluation {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 30px;
}
.script-content-and-evaluation .evaluation {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px;
}
.script-content-and-evaluation .evaluation-text {
  font-size: 14px;
  line-height: 1.2;
}
.script-content-and-evaluation .grading-options {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.script-content-and-evaluation .grading-options .grading-options-button-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.script-content-and-evaluation .grading-options .grade-option-secondary-content {
  font-size: 14px;
  color: #626262;
}
.script-content-and-evaluation .grading-options button {
  border: 2px solid #e6e6e6;
  border-radius: 9px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex: 1;
}
.script-content-and-evaluation .grading-options button img {
  width: 20px;
}
.script-content-and-evaluation .grading-options button:hover:enabled {
  border: 2px solid #31786c;
}
.script-content-and-evaluation .grading-options button.incorrect:hover:enabled {
  border: 2px solid #d05050;
}
.script-content-and-evaluation .grading-options button:disabled {
  color: #282828;
  background-color: #f5f5f5;
  cursor: not-allowed;
}
.script-content-and-evaluation .grading-options button.selected {
  border: 2px solid #31786c;
  background-color: #c8ebd8;
}
.script-content-and-evaluation .grading-options button.selected.incorrect {
  border: 2px solid #d05050;
  background-color: #ffcaca;
}
.script-content-and-evaluation .evaluation-locked-banner {
  background-color: #fce7ad;
  font-family: "Sohne-Halbfett";
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 20px 25px;
  border-radius: 9px;
  gap: 18px;
}
.script-content-and-evaluation .end-of-lesson-banner p {
  display: flex;
  gap: 10px;
}

/* --------------------------
Activity Footer
-------------------------- */
.instructor-activity-footer {
  position: fixed;
  bottom: 0px;
  box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  left: 0px;
  right: 0px;
  padding: 15px 30px;
}
.instructor-activity-footer .inner {
  display: flex;
  align-items: center;
  margin: 0 auto;
  max-width: 926px;
}
.instructor-activity-footer .inner a:first-child {
  min-width: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.instructor-activity-footer .inner a:first-child:hover:not(:disabled):not(.is-disabled) img, .instructor-activity-footer .inner a:first-child:focus-visible:not(:disabled):not(.is-disabled) img {
  filter: brightness(0) invert(1);
}
.instructor-activity-footer .inner a:last-child {
  margin-left: auto;
  min-width: 200px;
}

.tab-content-inner {
  max-width: 1200px;
}

.jump-to-lesson-activity {
  display: flex;
}
.jump-to-lesson-activity input {
  height: 44px;
  margin-left: 20px;
  margin-right: 20px;
}

.login-redirect {
  display: none;
}

.dashboard {
  text-align: center;
}
.dashboard.waiting-room {
  display: flex;
  padding: 0 30px;
  gap: 50px;
}
.dashboard main {
  width: 65%;
  padding: 50px 0;
  text-align: left;
}
.dashboard main header {
  margin-bottom: 50px;
}
.dashboard main header h2 {
  font-family: "Lexend Deca", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: #2b5652;
}
@media (min-width: 1024px) {
  .dashboard main header h2 {
    font-size: 3rem;
  }
}
.dashboard main header a {
  text-decoration: underline;
}
.dashboard main ul {
  text-align: center;
  margin-top: 20px;
  display: flex;
  gap: 50px;
  align-items: baseline;
  justify-content: space-between;
}
.dashboard main ul li {
  flex: 1 1 0px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.dashboard main ul h3 {
  font-size: 1.5rem;
  font-weight: bold;
}
.dashboard main ul img {
  width: 100%;
}
.dashboard aside {
  width: 34.9%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding-left: 50px;
  border-left: 2px solid #aeaeae;
  text-align: center;
}
.dashboard aside dt {
  font-size: 1.2rem;
  font-weight: bold;
  color: #9d9d9d;
  margin-bottom: 10px;
}
.dashboard aside dd {
  font-size: 3rem;
}
.dashboard aside dd:first-of-type {
  margin-bottom: 30px;
}
.dashboard aside p {
  font-size: 1.5rem;
}
.dashboard aside .cta {
  max-width: 350px;
}
.dashboard aside .cta p {
  font-style: italic;
}
.dashboard aside .cta .button-primary {
  margin-top: 20px;
  height: auto;
  width: 100%;
  font-size: 1.5rem;
  padding: 20px;
}
.dashboard p {
  font-size: 1.2rem;
}

.dashboard-content {
  background-color: #fffbf6;
  min-height: calc(100vh - 70px);
  min-height: calc(100svh - 70px);
  padding: 30px 20px;
}
.dashboard-content.with-header {
  min-height: calc(100vh - 220px);
  min-height: calc(100svh - 220px);
}
.dashboard-content .dashboard-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.dashboard-content .dashboard-inner .dashboard-tile {
  background-color: white;
  box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
  border-radius: 15px;
  margin-bottom: 25px;
  padding: 30px;
  width: 100%;
}
.dashboard-content .dashboard-inner .dashboard-tile .section-header h3 {
  margin-bottom: 10px;
}
.dashboard-content .dashboard-inner .choose-profile-header {
  max-width: 620px;
  text-align: center;
  margin: 40px auto 60px auto;
}
.dashboard-content .dashboard-inner .choose-profile-container {
  display: grid;
  grid-template-columns: repeat(1, auto);
  gap: 25px;
  max-width: 620px;
  margin: 0 auto;
  margin-bottom: 60px;
  padding: 70px;
}
@media (min-width: 768px) {
  .dashboard-content .dashboard-inner .choose-profile-container {
    grid-template-columns: repeat(2, auto);
  }
}
.dashboard-content .dashboard-inner .tutor-choose-profile-container {
  gap: 25px;
  max-width: 620px;
  margin: 0 auto;
  margin-bottom: 60px;
  text-align: center;
}
.dashboard-content .progress-icon {
  margin-right: 20px;
}
.dashboard-content .unit-information {
  text-decoration: none;
  color: #282828;
}
.dashboard-content .unit-information .progress-icon {
  margin-right: 12px;
}
.dashboard-content .unit-information.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.dashboard-content .table-of-contents {
  align-items: center;
}
.dashboard-content .table-of-contents img {
  margin-right: 12px;
}
.dashboard-content .table-of-contents .progress-icon {
  width: 43px;
  height: 43px;
}
.dashboard-content .disclaimer {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40px;
  gap: 40px;
}
@media (min-width: 768px) {
  .dashboard-content .disclaimer {
    flex-direction: row;
  }
}
.dashboard-content .disclaimer .call-to-action {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  border-radius: 15px;
  padding: 27px 30px;
  background-color: #c8ebd8;
  width: 100%;
}
.dashboard-content .disclaimer .call-to-action p {
  font-size: 1.2rem;
}
@media (min-width: 900px) {
  .dashboard-content .disclaimer .call-to-action {
    flex-direction: row;
    padding: 48px 30px;
    gap: 40px;
  }
}
.dashboard-content .disclaimer aside {
  flex-shrink: 0;
  text-align: center;
}
@media (min-width: 768px) {
  .dashboard-content .disclaimer aside {
    margin-right: 40px;
  }
}
.dashboard-content .disclaimer .video-container {
  display: flex;
  justify-content: center;
  background-color: #ffffff;
  border: solid 2px #ffffff;
  border-radius: 4px;
  position: relative;
  margin-bottom: 10px;
}
.dashboard-content .disclaimer .thumbnail {
  width: 180px;
  height: 110px;
  opacity: 0.8;
}
.dashboard-content .disclaimer .play-icon-container {
  display: flex;
  position: absolute;
  bottom: 5px;
  right: 5px;
}
.dashboard-content .disclaimer .play-icon-container img {
  width: 22px;
}
.dashboard-content .disclaimer .video-link {
  color: #626262;
  font-size: 16px;
  text-align: center;
}
.dashboard-content .disclaimer .getting-started-video-container {
  width: 700px;
}

.internal-flex {
  display: flex;
  flex-direction: row;
}
.internal-flex .completed-on {
  margin-left: auto;
  margin-top: -3px;
}
.internal-flex .completed-on img {
  width: 16px !important;
  height: 17px !important;
}
.internal-flex .completed-on span.completed-on-label {
  color: #aeaeae;
  font-family: "Sohne-Buch";
  font-size: 12px;
}
.internal-flex .completed-on span.completed-on-time {
  color: #626262;
  font-family: "Sohne-Buch";
  text-decoration: none;
}
.internal-flex .completed-on .icon-button-container.large {
  margin-top: 5px;
}

.program-overview {
  align-items: center;
  display: flex;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #e6e6e6;
}
.program-overview .pill-container,
.program-overview p {
  max-width: 700px;
  text-align: left;
}
.program-overview .pill-container + p {
  font-family: "Sohne-Buch";
}
.program-overview .pill-container {
  align-items: flex-start;
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .program-overview .pill-container {
    align-items: center;
    flex-direction: row;
  }
}
.program-overview .pill-container .pill {
  margin: 0 0 10px 0;
}
@media (min-width: 768px) {
  .program-overview .pill-container .pill {
    margin: 0 0 0 10px;
  }
}

#unit-container .program-overview {
  padding-top: 30px;
}

.row {
  display: grid;
  gap: 0px 25px;
  grid-template-columns: repeat(1, 1fr);
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  .row fieldset {
    margin-top: 0;
  }
}

.table-of-contents-toggle {
  align-items: center;
  appearance: none;
  display: flex;
  padding: 0px;
  width: 100%;
}
.table-of-contents-toggle .program-overview {
  width: 100%;
}
.table-of-contents-toggle:after {
  content: "";
  background: url(/assets/icons/caret-right-grey-eb1b36731856381a3ecc3b27ecc06862a735873ff1dfac2cde0b4c60c46fccf2.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  display: block;
  height: 30px;
  position: absolute;
  right: 10px;
  transform: rotate(90deg);
  width: 15px;
}
.table-of-contents-toggle[aria-expanded=false] .program-overview {
  border-bottom: 0px;
  margin-bottom: 0px;
  padding: 0px;
}
.table-of-contents-toggle[aria-expanded=true]:after {
  transform: rotate(-90deg);
  transform-origin: top left;
}

.table-of-contents-toggle[aria-expanded=false] + .toggle-grid {
  display: none;
}

.table-of-contents-toggle[aria-expanded=true] + .toggle-grid {
  display: grid;
}

/* --------------------------
Promo Card
-------------------------- */
.promo-card {
  border-radius: 15px;
  background-color: #31786c;
  min-height: 300px;
  display: flex;
  padding: 30px;
}
.promo-card .text-block {
  margin-top: auto;
}
.promo-card .text-block h2,
.promo-card .text-block p,
.promo-card .text-block a {
  color: #ffffff;
}
.promo-card .text-block p {
  max-width: 620px;
}

/* --------------------------
Form Card
-------------------------- */
h3 {
  font-size: 20px;
  font-family: "Sohne-Kraftig";
}

.group-inputs {
  display: flex;
  gap: 20px;
}
.group-inputs fieldset {
  margin-top: 0px;
}

hr {
  border: none;
  border-top: 1px solid #e6e6e6;
  margin: 30px 0px !important;
}

/* --------------------------
What's Next
-------------------------- */
.lesson-group,
.activity-group {
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  padding: 20px;
}
.lesson-group:not(:first-child),
.activity-group:not(:first-child) {
  margin-top: 20px;
}
.lesson-group p,
.lesson-group li,
.activity-group p,
.activity-group li {
  color: #626262;
}
.lesson-group h5,
.lesson-group p,
.lesson-group li,
.activity-group h5,
.activity-group p,
.activity-group li {
  font-size: 14px;
}
.lesson-group ul,
.activity-group ul {
  margin-left: 15px;
}
.lesson-group ul li,
.activity-group ul li {
  list-style: disc;
}
.lesson-group ul li:not(:last-child),
.activity-group ul li:not(:last-child) {
  margin-bottom: 5px;
}
.lesson-group p,
.lesson-group ul,
.activity-group p,
.activity-group ul {
  margin-top: 10px;
}

.activity-resume-banner {
  background-color: #fce7ad;
  padding: 15px 30px;
}
.activity-resume-banner .inner {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 926px;
}
@media (min-width: 768px) {
  .activity-resume-banner .inner {
    flex-direction: row;
  }
}
.activity-resume-banner a {
  text-decoration: underline;
  line-height: initial;
  color: #282828;
}
@media (min-width: 768px) {
  .activity-resume-banner a {
    margin-left: 5px;
  }
}

@media (min-width: 768px) {
  .activity-group {
    display: flex;
  }
}
.activity-group img {
  width: 115px;
  margin-bottom: 20px;
  height: fit-content;
}
@media (min-width: 768px) {
  .activity-group img {
    margin: 0px 20px 0px 0px;
  }
}
.activity-group h4,
.activity-group h5 {
  font-family: "Sohne-Kraftig";
  margin-bottom: 10px;
}
.activity-group h5 {
  margin-top: 10px;
}
.activity-group .link-primary {
  flex: none;
}

/* --------------------------
Page Footer
-------------------------- */
.page-footer {
  background-color: #2b5652;
  padding: 30px;
}
.page-footer .footer-content {
  display: flex;
  margin-bottom: 60px;
}
.page-footer .footer-content a {
  margin-left: auto;
  min-width: auto;
}
.page-footer .legal-block {
  justify-content: center;
  align-items: center;
  display: flex;
  gap: 20px;
  color: #fdf6ed;
}
.page-footer .legal-block a {
  color: #fdf6ed;
}

.dashboard-content .dashboard-inner .inner-header {
  align-items: baseline;
  border-bottom: 1px solid #c8ebd8;
  display: flex;
  margin-bottom: 35px;
  margin-top: 50px;
}
.dashboard-content .dashboard-inner .inner-header h1 {
  margin-bottom: 25px;
}
.dashboard-content .dashboard-inner .inner-header img {
  height: 24px;
  width: 24px;
  margin-right: 15px;
}
.dashboard-content .dashboard-inner .dashboard-tile.assign-landing, .dashboard-content .dashboard-inner .dashboard-tile.assign-learner {
  padding: 25px;
}
@media (min-width: 768px) {
  .dashboard-content .dashboard-inner .dashboard-tile.assign-landing, .dashboard-content .dashboard-inner .dashboard-tile.assign-learner {
    padding: 30px 40px;
  }
}
.dashboard-content .dashboard-inner .dashboard-tile.assign-landing {
  align-items: center;
  background-color: #fce7ad;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .dashboard-content .dashboard-inner .dashboard-tile.assign-landing {
    flex-direction: row;
  }
}
.dashboard-content .dashboard-inner .dashboard-tile.assign-landing img {
  margin-right: 30px;
}
.dashboard-content .dashboard-inner .dashboard-tile.assign-landing .assign-information {
  width: 100%;
}
.dashboard-content .dashboard-inner .dashboard-tile.assign-learner {
  align-items: center;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .dashboard-content .dashboard-inner .dashboard-tile.assign-learner {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .dashboard-content .dashboard-inner .dashboard-tile.assign-learner button,
  .dashboard-content .dashboard-inner .dashboard-tile.assign-learner .button-primary {
    margin-left: 20px;
  }
}
.dashboard-content .dashboard-inner .dashboard-tile.assign-learner .learner-information {
  margin-bottom: 20px;
  width: 100%;
}
@media (min-width: 768px) {
  .dashboard-content .dashboard-inner .dashboard-tile.assign-learner .learner-information {
    margin-bottom: 0px;
    width: calc(100% - 227px);
  }
}
.dashboard-content .dashboard-inner .dashboard-tile h2 {
  margin-bottom: 10px;
}

.login-select {
  max-width: 1000px;
  display: flex;
  flex-direction: column;
}
.login-select .login-links {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .login-select .login-links {
    flex-direction: row;
  }
}
.login-select a {
  margin: 10px;
}
.login-select img {
  max-width: 250px;
  margin: 0 auto;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .login-select img {
    max-width: 600px;
  }
}

.new-tutoring-assignment {
  float: right;
}

.tutor-details .assign-learner.archived {
  opacity: 0.6; /* Reduce opacity to visually indicate the inactive state */
  background-color: #f7f7f7;
  border: 1px dotted #aeaeae;
}
.tutor-details button.archive {
  background-color: #a11b1b;
}

.responsive-font {
  /* linear interpolation: https://css-tricks.com/linearly-scale-font-size-with-css-clamp-based-on-the-viewport */
  font-size: clamp(4rem, -1.25rem + 23.3333vw, 11rem);
}

#instructor-controls {
  padding: 10px 20px;
  position: fixed;
  bottom: 0px;
  right: 10px;
  background-color: #31786c;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  z-index: 1;
}
#instructor-controls *:not(:last-child) {
  margin-right: 5px;
}
#instructor-controls div.input-field {
  display: inline-block;
}
#instructor-controls div.input-field label {
  color: white;
  margin-bottom: 0;
  font-size: 0.8em;
}
#instructor-controls div.input-field input,
#instructor-controls div.input-field select {
  padding: 4px 8px;
}
#instructor-controls button {
  border: none;
  border-radius: 5px;
  background-color: #fdf6ed;
  color: #2b5652;
  padding: 5px;
  cursor: pointer;
}

#instructor-controls {
  padding: 10px 20px;
  position: fixed;
  bottom: 0px;
  right: 10px;
  background-color: #31786c;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  z-index: 1;
}
#instructor-controls button:not(:last-child) {
  margin-right: 5px;
}
#instructor-controls button {
  border: none;
  border-radius: 5px;
  background-color: #fdf6ed;
  color: #2b5652;
  padding: 5px;
  cursor: pointer;
}

.hidden {
  visibility: hidden;
}

.activity-content-inner .full-bleed {
  width: calc(100vw - 60px);
  position: relative;
  left: 50%;
  right: 50%;
  margin-right: calc(-1 * (50vw - 30px));
  margin-left: calc(-1 * (50vw - 30px));
}
.activity-content-inner.no-vertical-padding {
  padding-top: 0;
  padding-bottom: 0;
}

.left-activity li {
  text-align: left !important;
}

.bridge-sound-connector {
  width: 5rem;
  height: 0.5em;
  border: solid 0.05em #282828;
  border-color: #282828 transparent transparent transparent;
  border-radius: 60%/0.5em 0.5em 0 0;
  transform: rotateX(180deg);
  z-index: 0;
  margin-top: -2.5rem;
}

.bridge-sound-short-connector {
  width: 5rem;
  height: 0.5em;
  border: solid 0.05em #282828;
  border-color: #282828 transparent transparent transparent;
  border-radius: 60%/0.5em 0.5em 0 0;
  transform: rotateX(180deg);
  z-index: 0;
  margin-top: -1.3rem;
}

.breaking-words-apart {
  min-height: calc(100vh - 170px);
  min-height: calc(100svh - 170px);
  display: flex;
  align-items: flex-end;
}
.breaking-words-apart--tapping {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.breaking-words-apart--tapping ul {
  padding: 0px;
  list-style-type: none;
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 15px;
  min-height: 20px;
}
.breaking-words-apart--tapping ul li {
  border-bottom: 3px solid black;
  text-align: center;
  min-width: 80px;
}
@media (min-width: 1450px) {
  .breaking-words-apart--tapping ul li {
    min-width: 90px;
  }
}
.breaking-words-apart--tapping__button-wrapper {
  height: 130px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.breaking-words-apart--tapping button {
  display: block;
  margin: 0 auto;
}
.breaking-words-apart .breaking-sounds {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.breaking-words-apart .breaking-sounds ul {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 0px;
  list-style-type: none;
}
.breaking-words-apart .breaking-sounds__sound-bank {
  padding-bottom: 200px;
}
.breaking-words-apart .breaking-sounds__answer-container {
  display: flex;
  gap: 15px;
  justify-content: center;
  padding-bottom: 130px;
}
.breaking-words-apart .breaking-sounds__answer-container div.breaking-sounds__answer {
  min-height: 130px;
  min-width: 80px;
  padding: 0 10px;
  border-bottom: 3px solid #282828;
  display: flex;
  justify-content: center;
  align-items: center;
}
.breaking-words-apart .breaking-sounds__answer-container div.breaking-sounds__answer--dragging {
  outline: 1px dotted #282828;
  outline-offset: -1px;
}
.breaking-words-apart .breaking-sounds__answer-container div.breaking-sounds__answer--dragging-over {
  background-color: #f5f5f5;
}
.breaking-words-apart .breaking-sounds__answer-container div.breaking-sounds__answer--final-bridge {
  border-bottom-style: dashed;
}
@media (min-width: 1450px) {
  .breaking-words-apart .breaking-sounds__answer-container div.breaking-sounds__answer {
    min-width: 90px;
  }
}
.breaking-words-apart .breaking-sounds__drop-indicator {
  outline: 1px solid #31786c;
  height: 100px;
}
.breaking-words-apart .tile {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  width: 60px;
}
@media (min-width: 1450px) {
  .breaking-words-apart .tile {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
    width: 70px;
  }
}

.word-puzzle #letters.inactive,
.word-puzzle #letters .dragging {
  opacity: 0.5;
}
.word-puzzle #drop-targets {
  min-height: 102px;
  margin-bottom: 100px;
}
@media (min-width: 768px) {
  .word-puzzle #drop-targets {
    min-height: 127px;
  }
}
@media (min-width: 1450px) {
  .word-puzzle #drop-targets {
    min-height: 202px;
  }
}
.word-puzzle #drop-targets li {
  box-sizing: unset;
}
.word-puzzle #drop-targets.dragging .drop-target {
  border: 1px dashed #282828;
  background-color: #fdf6ed;
  border-radius: 5px 5px 0 0;
}
.word-puzzle ul,
.word-puzzle ol {
  padding: 0px;
}
.word-puzzle ul li {
  list-style-type: none;
}
.word-puzzle .tile--empty {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
}
@media (min-width: 768px) {
  .word-puzzle .tile--empty {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
}
@media (min-width: 1450px) {
  .word-puzzle .tile--empty {
    height: 202px;
    width: 200px;
    font-size: 123px;
    line-height: 1.1;
  }
}
.word-puzzle span {
  position: relative;
  z-index: 1;
}
.word-puzzle #letters ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-bottom: 200px;
}
@media (min-width: 768px) {
  .word-puzzle #letters ul.grid {
    display: grid;
    grid-template-columns: repeat(4, auto);
    gap: 20px;
    margin-bottom: 80px;
  }
}
.word-puzzle p {
  padding: 0;
  margin: 0;
}
.word-puzzle ol li {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  list-style-type: none;
  border-bottom: 3px solid black;
}
@media (min-width: 768px) {
  .word-puzzle ol li {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
}
@media (min-width: 1450px) {
  .word-puzzle ol li {
    height: 202px;
    width: 200px;
    font-size: 123px;
    line-height: 1.1;
  }
}
.word-puzzle ol li > * {
  margin-bottom: 5px;
}
.word-puzzle ol {
  display: flex;
  gap: 20px;
  justify-content: center;
}
.word-puzzle .drop-target {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  border: 1px solid transparent;
}
@media (min-width: 768px) {
  .word-puzzle .drop-target {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
}
@media (min-width: 1450px) {
  .word-puzzle .drop-target {
    height: 202px;
    width: 200px;
    font-size: 123px;
    line-height: 1.1;
  }
}
.word-puzzle #drop-targets.dragging .drop-target {
  border: 1px dashed black;
}
.word-puzzle #drop-targets .drop-target.drag-over {
  background-color: #eeeeee;
}
.word-puzzle .tile.drag-over {
  border-style: dotted;
}
.word-puzzle #letters.drag-over {
  background-color: rgba(0, 0, 0, 0.2);
}
.word-puzzle .tap-and-say {
  margin-top: -23px;
}
.word-puzzle .tap-and-say ol button {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  background-color: #ffffff;
  border-radius: 15px;
  box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
  position: relative;
  text-align: center;
  padding: 20px;
  border-bottom: 2px solid #ffffff;
  box-sizing: border-box;
  color: #282828;
  cursor: pointer;
  border: none;
  border-bottom: 2px solid transparent;
}
@media (min-width: 768px) {
  .word-puzzle .tap-and-say ol button {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
}
@media (min-width: 1450px) {
  .word-puzzle .tap-and-say ol button {
    height: 202px;
    width: 200px;
    font-size: 123px;
    line-height: 1.1;
  }
}
.word-puzzle .tap-and-say ol button span {
  display: block;
  margin-top: -13px;
  font-size: 65px;
}
@media (min-width: 768px) {
  .word-puzzle .tap-and-say ol button span {
    margin-top: -15px;
    font-size: 74px;
  }
}
@media (min-width: 1450px) {
  .word-puzzle .tap-and-say ol button span {
    margin-top: -25px;
    font-size: 122px;
  }
}
.word-puzzle .tap-and-say li {
  border-bottom: none;
}
.word-puzzle .tap-and-say .highlighted {
  background-color: transparent;
}
.word-puzzle .tap-and-say .highlighted button {
  background-color: #ffe7c3;
}
.word-puzzle .tap-and-say .student-controls {
  margin-top: 20px;
}

.reading-words {
  font-size: clamp(4rem, 2.5rem + 6.6667vw, 6rem);
}
.reading-words ul {
  display: grid;
  gap: 30px;
}
.reading-words ul button {
  color: #282828;
  padding: 12px 25px;
  margin: 0px;
}
.reading-words ul button.highlighted {
  color: #c2862b;
}
@media (min-width: 768px) {
  .reading-words ul {
    grid-auto-flow: row;
  }
  .reading-words ul li:nth-child(4n+1) {
    grid-row: 1;
  }
  .reading-words ul li:nth-child(4n+2) {
    grid-row: 2;
  }
  .reading-words ul li:nth-child(4n+3) {
    grid-row: 3;
  }
  .reading-words ul li:nth-child(4n+4) {
    grid-row: 4;
  }
}

.reading-words-target-sound__sounds {
  display: flex;
  justify-content: space-around;
  min-width: 75vw;
  padding: 2.5rem;
  border-radius: 15px;
  background-color: #fce7ad;
  color: #282828;
}
.reading-words-target-sound__sound {
  font-size: clamp(1rem, -1.25rem + 10vw, 4rem);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.reading-words-target-sound__sound--bridge {
  width: 5rem;
  height: 2rem;
  border: solid 0.3rem #282828;
  border-color: #282828 transparent transparent transparent;
  border-radius: 60%/2rem 2rem 0 0;
  transform: rotateX(180deg);
  margin-top: -1rem;
}
.reading-words-target-sound__words {
  margin: 0 auto;
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 50px 100px;
}
@media (min-width: 1024px) {
  .reading-words-target-sound__words {
    grid-template-columns: repeat(3, auto);
  }
}
@media (min-width: 1200px) {
  .reading-words-target-sound__words {
    gap: 50px 150px;
  }
}
.reading-words-target-sound__words-with-bridge {
  font-size: clamp(1rem, -1.25rem + 10vw, 4rem);
  margin-top: 2rem;
  gap: 25px 75px;
}
.reading-words-target-sound__word-sounds {
  z-index: 2;
}
.reading-words-target-sound__word {
  font-size: clamp(1rem, -1.25rem + 10vw, 4rem);
  place-self: center;
  display: flex;
  gap: 15px;
}
.reading-words-target-sound__word-sound {
  color: black;
  height: clamp(1rem, -1.25rem + 10vw, 4rem);
  padding: 0px 11px 12px 11px;
}
.reading-words-target-sound__word-sound--highlighted {
  color: #c2862b;
}
.reading-words-target-sound__word-with-bridge {
  place-self: center;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.reading-words-target-sound__word-with-bridge .reading-words-target-sound__word-sound {
  font-size: clamp(1rem, -1.25rem + 10vw, 3.5rem);
}

.reading-phrases {
  font-size: clamp(4rem, 3.25rem + 3.3333vw, 5rem);
}
.reading-phrases ol {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.reading-phrases ol button {
  color: black;
  padding: 0px 5px 17px 5px;
  height: clamp(4rem, 3.25rem + 3.3333vw, 5rem);
}
.reading-phrases .reading-phrases__wordbutton {
  padding: 0;
}
.reading-phrases .reading-phrases__word--highlighted {
  color: #c2862b;
}

.reading-sentences {
  font-size: clamp(1rem, -0.9459rem + 8.6486vw, 5rem);
}
.reading-sentences ol {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: flex-start;
}
.reading-sentences__word {
  color: black;
  padding: 8px 5px 24px 5px;
  height: clamp(1rem, -0.9459rem + 8.6486vw, 5rem);
}
.reading-sentences__word--highlighted {
  color: #c2862b;
}

.reading-text {
  max-width: 700px;
}
.reading-text p {
  font-size: clamp(1rem, -0.9459rem + 8.6486vw, 2rem);
  margin-bottom: 2rem;
}
.reading-text__scrollable-wrapper {
  height: calc(100vh - 270px);
  overflow-y: scroll;
}

.reading-rimes {
  font-size: clamp(4rem, 2.5rem + 6.6667vw, 6rem);
}
.reading-rimes ol {
  display: grid;
  gap: 50px;
}
.reading-rimes ol button {
  color: black;
  height: clamp(4rem, 2.5rem + 6.6667vw, 6rem);
  padding: 12px 25px 30px;
}
@media (min-width: 768px) {
  .reading-rimes ol {
    grid-auto-flow: row;
  }
  .reading-rimes ol li:nth-child(4n+1) {
    grid-row: 1;
  }
  .reading-rimes ol li:nth-child(4n+2) {
    grid-row: 2;
  }
  .reading-rimes ol li:nth-child(4n+3) {
    grid-row: 3;
  }
  .reading-rimes ol li:nth-child(4n+4) {
    grid-row: 4;
  }
}
.reading-rimes__sound--highlighted {
  color: #c2862b !important;
}

.spelling-chain .word-puzzle #letters ul,
.reading-chain .word-puzzle #letters ul {
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  .spelling-chain .word-puzzle .tile,
  .spelling-chain .word-puzzle .tile--empty,
  .spelling-chain .word-puzzle .drop-target,
  .spelling-chain .word-puzzle .button-unstyled,
  .spelling-chain .word-puzzle ol li,
  .reading-chain .word-puzzle .tile,
  .reading-chain .word-puzzle .tile--empty,
  .reading-chain .word-puzzle .drop-target,
  .reading-chain .word-puzzle .button-unstyled,
  .reading-chain .word-puzzle ol li {
    height: 102px;
    width: 100px;
    font-size: 62px;
    line-height: 0.77;
  }
  .spelling-chain .word-puzzle ol button span,
  .reading-chain .word-puzzle ol button span {
    display: block;
    margin-top: -13px;
    font-size: 62px;
  }
  .spelling-chain .tap-and-say,
  .reading-chain .tap-and-say {
    margin-top: 0;
  }
  .spelling-chain .word-puzzle #drop-targets,
  .reading-chain .word-puzzle #drop-targets {
    margin-bottom: 0;
    min-height: 166px;
  }
}
@media (min-width: 1200px) {
  .spelling-chain .word-puzzle .tile,
  .spelling-chain .word-puzzle .tile--empty,
  .spelling-chain .word-puzzle .drop-target,
  .spelling-chain .word-puzzle .button-unstyled,
  .spelling-chain .word-puzzle ol li,
  .reading-chain .word-puzzle .tile,
  .reading-chain .word-puzzle .tile--empty,
  .reading-chain .word-puzzle .drop-target,
  .reading-chain .word-puzzle .button-unstyled,
  .reading-chain .word-puzzle ol li {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
  .spelling-chain .word-puzzle ol button span,
  .reading-chain .word-puzzle ol button span {
    display: block;
    margin-top: -15px;
    font-size: 74px;
  }
  .spelling-chain .word-puzzle #letters ul,
  .reading-chain .word-puzzle #letters ul {
    justify-content: left;
  }
  .spelling-chain .tap-and-say,
  .reading-chain .tap-and-say {
    margin-top: 0;
  }
  .spelling-chain .word-puzzle #drop-targets,
  .reading-chain .word-puzzle #drop-targets {
    margin-bottom: 0;
    min-height: 191px;
  }
}

#say-and-write #example {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
}
#say-and-write #drawing-area {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  justify-content: center;
}

.spelling-practice {
  width: 100%;
}
.spelling-practice .examples {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  margin-bottom: 100px;
}
.spelling-practice .drawing-area {
  display: flex;
  justify-content: center;
}
.spelling-practice__tile {
  height: 127px;
  width: 125px;
  font-size: 74px;
  line-height: 0.95;
  min-width: fit-content;
}

.sound-game-tokens ol {
  display: flex;
  gap: 20px;
}
.sound-game-tokens .token {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  border-bottom: 3px solid black;
}
@media (min-width: 768px) {
  .sound-game-tokens .token {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
}
@media (min-width: 1450px) {
  .sound-game-tokens .token {
    height: 202px;
    width: 200px;
    font-size: 123px;
    line-height: 1.1;
  }
}

.handwriting #animation {
  position: relative;
  height: 200px;
  width: 200px;
  margin: 0 auto;
  background-color: #ffffff;
  border-radius: 15px;
  box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
  margin: 0px auto 40px;
}
.handwriting #animation.is-upper {
  overflow: hidden;
}
.handwriting #animation.is-upper:before {
  z-index: 1;
}
.handwriting #animation.is-upper video {
  transform: scale(1.5);
  margin-top: -32px;
}
.handwriting #animation.animation-letter--i video, .handwriting #animation.animation-letter--j video {
  padding-top: 2px;
}
.handwriting #animation.animation-letter--k video, .handwriting #animation.animation-letter--l video, .handwriting #animation.animation-letter--t video {
  padding-top: 7px;
}
.handwriting #animation.animation-letter--q video {
  padding-top: 27px;
}
.handwriting #animation.animation-letter--r video {
  padding-top: 11px;
}
.handwriting #animation.animation-letter--y video {
  padding-top: 30px;
}
.handwriting #animation.animation-letter--E video, .handwriting #animation.animation-letter--F video, .handwriting #animation.animation-letter--H video, .handwriting #animation.animation-letter--K video, .handwriting #animation.animation-letter--M video, .handwriting #animation.animation-letter--N video, .handwriting #animation.animation-letter--P video, .handwriting #animation.animation-letter--R video, .handwriting #animation.animation-letter--T video, .handwriting #animation.animation-letter--X video, .handwriting #animation.animation-letter--Y video, .handwriting #animation.animation-letter--Z video {
  padding-top: 14px;
}
.handwriting #animation:before {
  content: "";
  border-bottom: 1px solid #d05050;
  display: block;
  position: absolute;
  width: 100%;
  left: 0px;
  top: 66.6666666667%;
}
.handwriting #animation:after {
  content: "";
  border-bottom: 1px dashed #282828;
  display: block;
  position: absolute;
  width: 100%;
  left: 0px;
  top: 33.3333333333%;
}
.handwriting #animation video {
  width: 165px;
  margin: 0 auto;
  display: block;
  padding-top: 15px;
}

[data-react-class=TapAndSay] {
  height: 100%;
  width: 100%;
}

.tap-and-say ol button:disabled {
  cursor: not-allowed;
}
.tap-and-say ol button .tappable-sound {
  font-size: clamp(4rem, -1.25rem + 23.3333vw, 11rem);
}
.tap-and-say .student-controls {
  display: flex;
  justify-content: center;
  min-width: unset;
}
.tap-and-say .student-controls button {
  width: 100%;
  max-width: 450px;
}

#standalone-tap-and-say {
  height: 100%;
}
#standalone-tap-and-say #selection-area {
  padding: 50px 30px;
  margin-bottom: 100px;
  background-color: #fdf6ed;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  margin: -20px -20px 0px;
  border-bottom: 1px solid #9d9d9d;
}
@media (min-width: 768px) {
  #standalone-tap-and-say #selection-area {
    margin: -20px -20px 0px;
    width: calc(100% + 40px);
  }
}
#standalone-tap-and-say #selection-area ul {
  padding: 0;
  margin: 0;
  display: flex;
  gap: clamp(0rem, -2.875rem + 8.333333vw, 10rem);
  justify-content: center;
}
#standalone-tap-and-say #selection-area ul li {
  list-style-type: none;
}
#standalone-tap-and-say #selection-area button.selected {
  text-decoration: underline;
  opacity: 0.25;
}
#standalone-tap-and-say #selection-area button {
  color: black;
  font-size: clamp(1rem, -0.9459rem + 8.6486vw, 5rem);
  height: clamp(1rem, -0.9459rem + 8.6486vw, 5rem);
  padding: 0px 20px 14px;
}
#standalone-tap-and-say #tapping-area {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(100% - 211px);
}
@media (min-width: 768px) {
  #standalone-tap-and-say #tapping-area {
    height: calc(100% - 251px);
  }
}
#standalone-tap-and-say #tapping-area .tap-and-say {
  height: 60%;
}
#standalone-tap-and-say #tapping-area ol {
  padding: 0;
  margin: 0;
  display: flex;
  gap: clamp(3rem, -1.875rem + 8.333333vw, 10rem);
  justify-content: center;
  align-items: center;
  height: 100%;
}
#standalone-tap-and-say #tapping-area ol li {
  list-style-type: none;
}
#standalone-tap-and-say #tapping-area ol button {
  color: black;
  font-size: clamp(4rem, -1.25rem + 23.3333vw, 11rem);
  height: clamp(4rem, -1.25rem + 23.3333vw, 11rem);
  padding: 0px 10px 32px 10px;
}
#standalone-tap-and-say #tapping-area ol button:disabled {
  color: inherit;
}
#standalone-tap-and-say #tapping-area ol .highlighted button {
  color: #c2862b;
}

.flash-card .revealed-word,
.flash-card .revealed-word__sounds {
  display: flex;
  justify-content: center;
  margin-bottom: 100px;
}
.flash-card .revealed-word .tile {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  background-color: #ffffff;
  border-radius: 15px;
  box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
  position: relative;
  text-align: center;
  padding: 20px;
  border-bottom: 2px solid #ffffff;
  box-sizing: border-box;
  color: #282828;
  cursor: pointer;
  padding: 20px 40px;
  width: auto !important;
}
@media (min-width: 768px) {
  .flash-card .revealed-word .tile {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
}
@media (min-width: 1450px) {
  .flash-card .revealed-word .tile {
    height: 202px;
    width: 200px;
    font-size: 123px;
    line-height: 1.1;
  }
}
.flash-card .revealed-word__sounds {
  gap: 30px;
}
.flash-card .revealed-word__sounds .tile {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  min-width: 100px;
  width: auto;
}
@media (min-width: 1450px) {
  .flash-card .revealed-word__sounds .tile {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
    min-width: 125px;
    width: auto;
  }
}
.flash-card .revealed-sentence {
  font-size: clamp(1rem, -0.9459rem + 8.6486vw, 5rem);
}

.sentence-jumble .tile__empty {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  background-color: #ffffff;
  border-radius: 15px;
  box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.1);
  position: relative;
  text-align: center;
  padding: 20px;
  border-bottom: 2px solid #ffffff;
  box-sizing: border-box;
  color: #282828;
  cursor: pointer;
}
@media (min-width: 768px) {
  .sentence-jumble .tile__empty {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
}
@media (min-width: 1450px) {
  .sentence-jumble .tile__empty {
    height: 202px;
    width: 200px;
    font-size: 123px;
    line-height: 1.1;
  }
}
.sentence-jumble .tile--placeholder {
  color: transparent;
}
.sentence-jumble .tile--placeholder:before {
  border: none;
}
.sentence-jumble .tile--placeholder:after {
  border: none;
}
.sentence-jumble .word-bank ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.sentence-jumble .answer-container {
  border-bottom: solid 3px black;
}
.sentence-jumble .answer {
  display: flex;
  gap: 10px;
  margin-top: 100px;
  min-width: 50%;
  min-height: 127px;
  padding: 10px;
}
.sentence-jumble .answer.answer__dragging {
  background-color: #fdf6ed;
  border-radius: 5px 5px 0 0;
  outline: 1px dashed #282828;
}
.sentence-jumble .answer-drop-target {
  flex-grow: 1;
}
.sentence-jumble .word-bank .tile,
.sentence-jumble .word-bank .tile__empty,
.sentence-jumble .answer .tile,
.sentence-jumble .answer .tile__empty {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  width: auto;
}
@media (min-width: 1200px) {
  .sentence-jumble .word-bank ul {
    gap: 20px;
    padding: 0 50px;
  }
  .sentence-jumble .answer {
    padding: 10px 50px;
    margin-top: 200px;
    gap: 20px;
  }
}

.completing-sentences {
  width: calc(100vw - 120px);
}
.completing-sentences__word-bank {
  padding-bottom: 100px;
}
.completing-sentences__word-bank ul {
  display: flex;
  gap: 20px;
  padding: 0 50px;
  justify-content: center;
}
.completing-sentences__sentence {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.completing-sentences__sentence--center {
  justify-content: center;
}
.completing-sentences__sentence ul {
  display: flex;
  align-items: center;
  gap: 30px;
}
.completing-sentences__sentence-text {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  width: auto;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .completing-sentences__sentence-text {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
}
.completing-sentences__target-word-container {
  display: flex;
  align-items: center;
}
.completing-sentences__target-word {
  height: 120px;
  min-width: 200px;
  display: inline-flex;
  border: 1px dashed transparent;
  border-bottom: 2px solid #282828;
  justify-content: center;
}
.completing-sentences__target-word--dragging {
  border: 1px dashed #282828;
  border-bottom: 2px solid #282828;
}
.completing-sentences__target-word--dragging-over {
  background-color: #f5f5f5;
}
.completing-sentences__target-word--word-visible {
  align-items: flex-end;
}
@media (min-width: 768px) {
  .completing-sentences__target-word {
    height: 150px;
  }
}
.completing-sentences__target-word-inner {
  width: 100%;
}
@media (min-width: 768px) {
  .completing-sentences__sentence-text {
    width: auto;
  }
}
.completing-sentences .tile {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  width: auto;
}
@media (min-width: 768px) {
  .completing-sentences .tile {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
    width: auto;
  }
}

.writing-target-sound {
  min-height: calc(100vh - 170px);
  min-height: calc(100svh - 170px);
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
}
.writing-target-sound__words {
  font-size: 4rem;
  padding-bottom: 2rem;
  display: grid;
  gap: 20px 150px;
  text-align: center;
}
@media (min-width: 768px) {
  .writing-target-sound__words {
    grid-template-columns: repeat(2, auto);
  }
}
@media (min-width: 1024px) {
  .writing-target-sound__words {
    grid-template-columns: repeat(3, auto);
  }
}

.finding-s-as-z {
  font-size: 4rem;
}
.finding-s-as-z ol {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.finding-s-as-z ol button {
  padding-left: 0;
  padding-right: 0;
}
.finding-s-as-z__word--target {
  padding-bottom: 17px;
  border-bottom: 3px solid #282828;
}
.finding-s-as-z__word--highlighted {
  color: #c2862b;
  border-color: #c2862b;
}

.building-words-ending {
  min-height: calc(100vh - 170px);
  min-height: calc(100svh - 170px);
  font-size: 4rem;
  display: flex;
  flex-direction: column;
}
.building-words-ending__bottom-section {
  display: flex;
  flex: 1;
}
.building-words-ending__sound-bank {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
}
.building-words-ending__divider {
  border-bottom: 2px solid #e6e6e6;
}
.building-words-ending__words {
  display: grid;
  gap: 0 300px;
}
@media (min-width: 768px) {
  .building-words-ending__words {
    grid-template-columns: repeat(2, auto);
  }
}
.building-words-ending__word {
  display: flex;
  align-items: center;
}
.building-words-ending__drop-target {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 140px;
  border: dashed 1px transparent;
  border-bottom: solid 2px #282828;
  margin-left: 10px;
}
.building-words-ending__drop-target--dragging {
  border: dashed 1px #282828;
  border-bottom: solid 2px #282828;
}
.building-words-ending__drop-target--dragging-over {
  background-color: #f5f5f5;
}
.building-words-ending .tile {
  height: 127px;
  width: 125px;
  font-size: 74px;
  line-height: 0.95;
  width: fit-content;
}

.building-words-with-ar {
  width: calc(100vw - 120px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 100px;
}
.building-words-with-ar .sound-bank {
  display: flex;
  justify-content: center;
  width: 100%;
}
.building-words-with-ar .sound-bank ul {
  max-width: 500px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.building-words-with-ar .answer-container {
  width: 100%;
  max-width: 600px;
  border-bottom: solid 3px #282828;
}
.building-words-with-ar .answer {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.building-words-with-ar .answer.answer--dragging {
  background-color: #fdf6ed;
  border-radius: 5px 5px 0 0;
  outline: 1px dashed #282828;
}
@media (min-width: 768px) {
  .building-words-with-ar .sound-bank ul {
    max-width: 650px;
  }
  .building-words-with-ar .answer-container {
    max-width: 700px;
  }
}
@media (min-width: 1450px) {
  .building-words-with-ar .sound-bank ul {
    max-width: 1000px;
    gap: 20px;
    padding: 0 50px;
  }
  .building-words-with-ar .answer-container {
    max-width: 1100px;
  }
  .building-words-with-ar .answer {
    padding: 10px 50px;
    margin-top: 200px;
    gap: 20px;
  }
}

.letter-sounds ul {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 0 80px;
}
@media (min-width: 768px) {
  .letter-sounds ul {
    grid-template-columns: repeat(3, auto);
  }
}
@media (min-width: 1200px) {
  .letter-sounds ul {
    grid-template-columns: repeat(6, auto);
  }
}

.adaptive-learning ol {
  list-style: decimal;
  margin-left: 25px;
  padding-bottom: 25px;
}
.adaptive-learning ol li {
  margin: 5px 0;
}
.adaptive-learning ol li span {
  margin-left: 10px;
  padding: 5px 0;
}
.adaptive-learning ol li.current span {
  background-color: #c8ebd8;
  display: inline-block;
  width: 100px;
}
.adaptive-learning table {
  margin-top: 20px;
}
.adaptive-learning table th,
.adaptive-learning table td {
  padding: 10px;
  border: 1px solid #eee;
}

.building-words .tile {
  height: 85px;
  width: 150px;
  font-size: 50px;
  line-height: 0.77;
  border-bottom: none;
  min-width: 75px;
  width: fit-content;
}
.building-words--fixed-tile-size .tile {
  min-width: 150px;
}
@media (min-width: 900px) {
  .building-words--fixed-tile-size {
    min-width: 180px;
  }
}
.building-words__sound-bank {
  padding-bottom: 100px;
}
.building-words__sound-bank ul {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, auto);
}
@media (min-width: 768px) {
  .building-words__sound-bank ul {
    grid-template-columns: repeat(4, auto);
  }
}
@media (min-width: 1024px) {
  .building-words__sound-bank {
    padding-bottom: 50px;
  }
}
.building-words__answer-container ol {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.building-words__answer-container--two-columns ol {
  display: grid;
  gap: 80px;
}
@media (min-width: 768px) {
  .building-words__answer-container--two-columns ol {
    grid-template-columns: repeat(2, auto);
  }
}
@media (min-width: 900px) {
  .building-words__answer-container--two-columns ol {
    gap: 60px 100px;
  }
}
.building-words__drop-target {
  width: 500px;
  border-bottom: solid 3px #282828;
  min-height: 90px;
  display: flex;
}
.building-words__drop-target--two-columns {
  width: 300px;
}
@media (min-width: 900px) {
  .building-words__drop-target--two-columns {
    width: 360px;
  }
}
.building-words__drop-target--droppable {
  background-color: #fdf6ed;
  border-radius: 5px 5px 0 0;
  outline: 1px dashed #282828;
  outline-offset: -1px;
}
.building-words__drop-target--droppable.building-words__drop-target--dragging-over {
  background-color: #f5f5f5;
}
.building-words .building-words__drop-target .tile:not(:first-child) {
  box-shadow: none;
}
.building-words__drop-indicator {
  outline: 2px solid #31786c;
  margin: 0 2px;
  height: 80px;
  margin-top: 5px;
}

.dividing-words-into-syllables {
  width: calc(100vw - 120px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.dividing-words-into-syllables__letter-bank {
  padding-bottom: 200px;
}
.dividing-words-into-syllables__letter-bank ul {
  display: flex;
  justify-content: center;
  gap: 15px;
  padding: 0px;
  width: 80%;
  flex-wrap: wrap;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .dividing-words-into-syllables__letter-bank ul {
    width: auto;
    margin: 0;
    flex-wrap: nowrap;
  }
}
.dividing-words-into-syllables__answer-container {
  display: flex;
  gap: 30px;
  justify-content: center;
}
.dividing-words-into-syllables__drop-target {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  min-height: 130px;
  min-width: 100px;
  max-width: 220px;
  padding: 0 12px;
  border: 1px solid #282828;
}
.dividing-words-into-syllables__drop-target--droppable {
  border: 1px solid transparent;
  border-bottom: 1px solid #282828;
  outline: 1px dotted #282828;
  outline-offset: -1px;
}
.dividing-words-into-syllables__drop-target--droppable.dividing-words-into-syllables__drop-target--dragging-over {
  background-color: #f5f5f5;
}
@media (min-width: 1450px) {
  .dividing-words-into-syllables__drop-target {
    min-width: 160px;
  }
}
.dividing-words-into-syllables__drop-indicator {
  outline: 1px solid #31786c;
  height: 80%;
}
.dividing-words-into-syllables .tile {
  height: 102px;
  width: 100px;
  font-size: 62px;
  line-height: 0.77;
  width: 60px;
}
@media (min-width: 1024px) {
  .dividing-words-into-syllables .tile {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
    width: 70px;
  }
}

.tapping-out-syllables {
  font-size: clamp(4rem, 2.5rem + 6.6667vw, 6rem);
}
.tapping-out-syllables ul {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
.tapping-out-syllables .highlighted {
  color: #c2862b;
}

.key-word-practice {
  font-size: clamp(4rem, 3.25rem + 3.3333vw, 5rem);
}
.key-word-practice__words {
  display: grid;
  grid-template-columns: 1fr 1fr;
  place-items: center;
  gap: 25px;
  margin-bottom: 60px;
}
.key-word-practice .grid-columns--3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.key-word-practice .word-with-components {
  padding: 0.5rem 1rem;
}
.key-word-practice .word-with-components__word {
  display: flex;
}
.key-word-practice .word-with-components__word-component--target {
  color: #c2862b;
}
.key-word-practice .word-with-components__word-component--target:not([data-bridge-sound=true]) {
  border-bottom: 3px solid #c2862b;
}
.key-word-practice .word-with-components--hidden {
  background-color: #c2862b;
  opacity: 0.25;
}
.key-word-practice .word-with-components--hidden * {
  visibility: hidden;
}
.key-word-practice .bridge-sound-connector {
  margin-top: -0.3em;
}

.flexing-ow {
  font-size: clamp(4rem, 2.5rem + 6.6667vw, 6rem);
}
.flexing-ow__intro-container ol {
  display: grid;
  gap: 50px;
  place-items: center;
}
.flexing-ow__intro-container button {
  min-height: clamp(4rem, 2.5rem + 6.6667vw, 6rem);
  padding: 10px;
}
.flexing-ow .reading-sentences ol {
  gap: 50px;
}
.flexing-ow .reading-sentences__word--target {
  padding-bottom: 17px;
  border-bottom: 3px solid #282828;
}
.flexing-ow .reading-sentences__word--highlighted {
  color: #c2862b;
  border-color: #c2862b;
}
.flexing-ow button {
  color: #282828;
}
.flexing-ow button.highlighted {
  color: #c2862b;
}

.reading-word-parts-and-nonsense-words {
  font-size: clamp(1.5rem, -2.75rem + 9.6667vw, 6rem);
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  height: 80vh;
}
.reading-word-parts-and-nonsense-words section ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  place-items: center;
  gap: 10px 1vw;
  grid-template-columns: 50% 50%;
  max-width: 80vw;
}
@media (min-width: 768px) {
  .reading-word-parts-and-nonsense-words section ul {
    gap: 60px 1vw;
    grid-template-columns: 25% 25% 25% 25%;
  }
}
.reading-word-parts-and-nonsense-words .divider {
  border-top: 1px solid #9d9d9d;
}
.reading-word-parts-and-nonsense-words button {
  color: #282828;
  padding: 12px 25px;
  margin: 0px;
  font-size: inherit;
  display: flex;
}
.reading-word-parts-and-nonsense-words button.highlighted {
  color: #c2862b;
}
.reading-word-parts-and-nonsense-words button .letter {
  height: clamp(2rem, -4rem + 9.6667vw, 4rem);
}
.reading-word-parts-and-nonsense-words button .letter.target {
  border-bottom: 3px solid;
}

.explaining-contraction {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 100px;
}
.explaining-contraction .sound-bank {
  display: flex;
  justify-content: center;
  width: 100%;
}
.explaining-contraction .sound-bank ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.explaining-contraction .sound-bank ul li.split {
  padding-left: 40px;
}
.explaining-contraction .answer-container {
  width: 100%;
  border-bottom: solid 3px #282828;
}
.explaining-contraction .answer {
  display: flex;
  min-height: 105px;
  padding: 0 18px;
  gap: 10px;
}
.explaining-contraction .answer.answer--dragging {
  background-color: #fdf6ed;
  border-radius: 5px 5px 0 0;
  outline: 1px dashed #282828;
}
.explaining-contraction .answer .tile-contracted {
  width: auto;
  display: flex;
  animation: 1s contraction ease-out forwards;
}
.explaining-contraction .answer .tile-contracted span {
  animation: 0.5s shrink forwards;
  transform-origin: left center;
  display: flex;
}
.explaining-contraction .answer .tile-contracted:before {
  animation: 0.5s showApostrophe 0.5s forwards ease-out;
  content: "’";
  transform: scale(0);
  transform-origin: top;
}
.explaining-contraction__drop-indicator {
  outline: 2px solid #31786c;
  margin: 0 2px;
  margin: 5px 0;
}
@media (min-width: 768px) {
  .explaining-contraction .tile {
    height: 102px;
    width: 100px;
    font-size: 62px;
    line-height: 0.77;
  }
}
@media (min-width: 1024px) {
  .explaining-contraction .tile {
    height: 127px;
    width: 125px;
    font-size: 74px;
    line-height: 0.95;
  }
  .explaining-contraction .answer {
    min-height: 130px;
  }
}

@keyframes shrink {
  0% {
    opacity: 1;
    transform: scale(1);
    width: 45px;
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
    width: 0;
  }
}
@keyframes showApostrophe {
  from {
    transform: scale(0.1);
    opacity: 0;
    width: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
    width: 18px;
  }
}
@keyframes contraction {
  from {
    width: 125px;
  }
  to {
    width: 60px;
  }
}
.noninteractive {
  max-width: 500px;
}
.noninteractive img {
  width: 100%;
  height: auto;
}

.flexing-with-nonsense-words ul {
  display: grid;
  row-gap: 20px;
  column-gap: clamp(100px, 20vw, 500px);
  grid-template-columns: 1fr 1fr;
}
.flexing-with-nonsense-words ul li {
  text-align: left;
}
.flexing-with-nonsense-words ul li button {
  color: #282828;
  font-size: clamp(48px, 40px + 6.6667vw, 72px);
  padding-block: 10px;
}
@media (min-width: 1200px) {
  .flexing-with-nonsense-words ul li button {
    font-size: 96px;
  }
}

.sorting-words {
  width: calc(100vw - 120px);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sorting-words__table {
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}
.sorting-words__table-column {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 530px;
  border: 2px solid #282828;
  border-left: none;
  min-width: 30%;
  max-width: 300px;
}
.sorting-words__table-column:first-child {
  border-left: 2px solid #282828;
}
.sorting-words__table-header {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 60px;
  background-color: #fce7ad;
  border-bottom: 2px solid #282828;
}
.sorting-words__table-header--highlighted {
  background-color: #fad97c;
}
.sorting-words__table-header:hover {
  background-color: #fad97c;
}
.sorting-words__table-header button {
  color: #282828;
  font-size: 2.5rem;
  padding: 20px;
  width: 100%;
}
.sorting-words__table-droparea {
  display: flex;
  margin: 1px;
  border: solid 1px transparent;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 10px;
  flex: 1;
}
.sorting-words__table-droparea--dragging {
  border: dashed 1px #282828;
}
.sorting-words__table-droparea--dragging-over {
  background-color: #f5f5f5;
}
.sorting-words__table-tile-container:not(:last-child) {
  margin-bottom: 10px;
}
.sorting-words__deck {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 65px;
  margin-top: 20px;
}
.sorting-words__deck-tiles {
  position: relative;
}
.sorting-words__deck-tiles .tile {
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.05);
  border: solid 1px #e6e6e6;
  width: 100%;
}
.sorting-words__deck-tile-container {
  position: absolute;
  top: 0;
  left: 0;
}
.sorting-words__deck-tile-container span {
  opacity: 0;
}
.sorting-words__deck-tile-container--bottom {
  position: relative;
  top: 0;
  left: 0;
}
.sorting-words__deck-tile-container--bottom span {
  opacity: 0;
}
.sorting-words__deck-tile-container--top {
  opacity: 1;
}
.sorting-words__deck-tile-container--top span {
  opacity: 1;
}
.sorting-words__deck-tile-container--invisible {
  opacity: 0;
}
.sorting-words__deck-tile-container--next-up span {
  opacity: 1;
}
.sorting-words__deck-tile-container-inner {
  position: absolute;
  border-radius: 15px;
}
.sorting-words .tile {
  height: 65px;
  width: 100px;
  font-size: 36px;
  line-height: 0.6;
  width: auto;
}

.i-spy ul {
  display: grid;
  row-gap: 20px;
  column-gap: clamp(75px, 10vw, 300px);
  grid-template-columns: 1fr 1fr;
}
.i-spy button {
  color: #282828;
  background-color: transparent;
  font-size: clamp(48px, 40px + 2.6667vw, 72px);
  padding: 10px;
  line-height: inherit;
}
.i-spy button.highlighted [data-target] {
  color: #c2862b;
}
@media (min-width: 1200px) {
  .i-spy ul {
    row-gap: 30px;
    column-gap: 300px;
  }
  .i-spy button {
    font-size: 80px;
  }
}

.sounds-for-c .sound-bank {
  text-align: center;
  margin-bottom: 50px;
}
.sounds-for-c .sound-bank p {
  font-size: 6rem;
}
@media (orientation: portrait) {
  .sounds-for-c .sound-bank {
    margin-bottom: 100px;
  }
}
@media (min-width: 1200px) {
  .sounds-for-c .sound-bank {
    margin-bottom: 70px;
  }
}

.adding-s-to-words-ending-in-plain-old-y {
  min-height: calc(100svh - 170px);
  font-size: 4rem;
  display: flex;
  flex-direction: column;
}
.adding-s-to-words-ending-in-plain-old-y__bottom-section {
  display: flex;
  flex: 1;
}
.adding-s-to-words-ending-in-plain-old-y__sound-bank {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
}
.adding-s-to-words-ending-in-plain-old-y__divider {
  border-bottom: 2px solid #e6e6e6;
}
.adding-s-to-words-ending-in-plain-old-y__words {
  display: grid;
  gap: 0 150px;
}
@media (min-width: 768px) {
  .adding-s-to-words-ending-in-plain-old-y__words {
    grid-template-columns: repeat(2, auto);
  }
}
@media (min-width: 1200px) {
  .adding-s-to-words-ending-in-plain-old-y__words {
    gap: 0 300px;
  }
}
.adding-s-to-words-ending-in-plain-old-y__word {
  display: flex;
  align-items: center;
}
.adding-s-to-words-ending-in-plain-old-y__drop-target {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 140px;
  border: dashed 1px transparent;
  border-bottom: solid 2px #282828;
  margin-left: 10px;
  width: 120px;
}
.adding-s-to-words-ending-in-plain-old-y__drop-target--dragging {
  border: dashed 1px #282828;
  border-bottom: solid 2px #282828;
}
.adding-s-to-words-ending-in-plain-old-y__drop-target--dragging-over {
  background-color: #f5f5f5;
}
.adding-s-to-words-ending-in-plain-old-y__letters-swap {
  display: inline-block;
  position: relative;
  width: 40px;
}
.adding-s-to-words-ending-in-plain-old-y__letter-y {
  animation: 0.5s shrink forwards;
}
.adding-s-to-words-ending-in-plain-old-y__letter-i {
  position: absolute;
  left: 0;
  opacity: 0;
  color: #c2862b;
  transform: scale(0);
  transform-origin: center;
  animation: 0.5s expand 0.5s forwards ease-out;
}
.adding-s-to-words-ending-in-plain-old-y__tile--highlighted {
  color: #c2862b;
}
.adding-s-to-words-ending-in-plain-old-y__tile-feedback {
  position: absolute;
  left: -100px;
}
.adding-s-to-words-ending-in-plain-old-y .tile {
  height: 127px;
  width: 125px;
  font-size: 74px;
  line-height: 0.95;
  width: fit-content;
}
@keyframes shrink {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}
@keyframes expand {
  from {
    transform: scale(0.1);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.stats-boxes-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 20px;
}

.stats-box {
  width: 320px;
  display: flex;
  margin-bottom: 20px;
}

.square-container {
  width: 90px;
  height: 90px;
  background: rgba(43, 86, 82, 0.08);
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #2b5652;
}
.square-container .high-content {
  font-size: 32px;
  line-height: 38px;
  font-weight: 800;
}

.content-container {
  margin: auto;
}
.content-container h6 {
  font-size: 14px;
  line-height: 16px;
  color: #000000;
  margin-bottom: 8px;
}

.no-details {
  color: #2b5652;
  font-size: 10px;
  line-height: 12px;
  margin-bottom: 8px;
}

.durationlabel-bar {
  display: flex;
}
.durationlabel-bar .duration-label {
  color: #2b5652;
  font-size: 10px;
  line-height: 12px;
  margin-bottom: 8px;
  width: 100px;
}
.durationlabel-bar .duration-label .info {
  vertical-align: bottom;
}
.durationlabel-bar .value-bar-container {
  display: flex;
}
.durationlabel-bar .value-bar-container .progress-value {
  color: #2b5652;
  font-size: 12px;
  line-height: 14px;
  margin-bottom: 8px;
  margin-left: 8px;
}

.bar-container {
  width: 87px;
  height: 16px;
  opacity: 0.8;
  background: gray;
  border-radius: 4px;
  margin-bottom: 4px;
}
.bar-container .progress-bar {
  border-radius: 4px;
  background: #2b5652;
  height: 100%;
}

.progress-info {
  height: 46px;
  background: rgba(43, 86, 82, 0.08);
  border-radius: 4px;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
}
.progress-info .star-icon-container {
  width: 46px;
  height: 100%;
  background: #2b5652;
  margin-right: 20px;
  border-radius: 4px 0px 0px 4px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.skip-activity .icon-form-container {
  display: flex;
  gap: 20px;
  margin: 20px auto;
}
.skip-activity .skip-activity-form-container {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.skip-activity .skip-activity-form-container p {
  font-family: "Sohne-Buch";
  text-wrap: pretty;
}
.skip-activity .skip-activity-form-container .buttons-container {
  display: flex;
  justify-content: start;
  gap: 50px;
  width: 70%;
}

@media (max-width: 568px) {
  .skip-activity .buttons-container {
    flex-direction: column;
    gap: 30px;
  }
}
turbo-frame[aria-busy=true][data-remote-load=true],
.stream-loading {
  margin-top: 50px;
  visibility: hidden;
  position: relative;
}
turbo-frame[aria-busy=true][data-remote-load=true]#unit-blade,
.stream-loading#unit-blade {
  width: 800px;
  height: 100vh;
  position: absolute;
  background-color: white;
  right: 0;
  top: 0;
  margin-top: auto;
  visibility: inherit;
  padding-top: 100px;
  border-radius: 4px 0 0 4px;
  box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.1);
  z-index: 1;
}
turbo-frame[aria-busy=true][data-remote-load=true]:before,
.stream-loading:before {
  border: 3px solid #282828;
  border-radius: 50%;
  border-top-color: #282828;
  border-right-color: transparent;
  border-top-color: transparent;
  content: "";
  height: 30px;
  animation: spin 0.5s linear infinite;
  width: 30px;
  position: absolute;
  left: 50%;
  visibility: visible;
}
turbo-frame[aria-busy=true][data-remote-load=true] turbo-frame,
.stream-loading turbo-frame {
  display: none;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@font-face {
  font-family: "Sharpen";
  src: url(/assets/Sharpen-7ee3a0641ff6e5f665150a494e33b9fd7a9c173ccfff333c0edc10c5f07e9436.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "Sharpen" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-A .path1:before {
  content: "\e968";
  color: rgb(168, 168, 168);
}

.icon-A .path2:before {
  content: "\e969";
  margin-left: -0.4453125em;
  color: rgb(49, 120, 108);
}

.icon-A .path3:before {
  content: "\e96a";
  margin-left: -0.4453125em;
  color: rgb(255, 255, 255);
}

.icon-A .path4:before {
  content: "\e96b";
  margin-left: -0.4453125em;
  color: rgb(49, 120, 108);
}

.icon-B .path1:before {
  content: "\e96c";
  color: rgb(168, 168, 168);
}

.icon-B .path2:before {
  content: "\e96d";
  margin-left: -0.4296875em;
  color: rgb(49, 120, 108);
}

.icon-B .path3:before {
  content: "\e96e";
  margin-left: -0.4296875em;
  color: rgb(255, 255, 255);
}

.icon-B .path4:before {
  content: "\e96f";
  margin-left: -0.4296875em;
  color: rgb(49, 120, 108);
}

.icon-C .path1:before {
  content: "\e970";
  color: rgb(168, 168, 168);
}

.icon-C .path2:before {
  content: "\e971";
  margin-left: -0.4296875em;
  color: rgb(49, 120, 108);
}

.icon-C .path3:before {
  content: "\e972";
  margin-left: -0.4296875em;
  color: rgb(255, 255, 255);
}

.icon-C .path4:before {
  content: "\e973";
  margin-left: -0.4296875em;
  color: rgb(49, 120, 108);
}

.icon-D .path1:before {
  content: "\e974";
  color: rgb(168, 168, 168);
}

.icon-D .path2:before {
  content: "\e975";
  margin-left: -0.4716796875em;
  color: rgb(49, 120, 108);
}

.icon-D .path3:before {
  content: "\e976";
  margin-left: -0.4716796875em;
  color: rgb(255, 255, 255);
}

.icon-D .path4:before {
  content: "\e977";
  margin-left: -0.4716796875em;
  color: rgb(49, 120, 108);
}

.icon-E .path1:before {
  content: "\e978";
  color: rgb(168, 168, 168);
}

.icon-E .path2:before {
  content: "\e979";
  margin-left: -0.3876953125em;
  color: rgb(49, 120, 108);
}

.icon-E .path3:before {
  content: "\e97a";
  margin-left: -0.3876953125em;
  color: rgb(255, 255, 255);
}

.icon-E .path4:before {
  content: "\e97b";
  margin-left: -0.3876953125em;
  color: rgb(49, 120, 108);
}

.icon-F .path1:before {
  content: "\e97c";
  color: rgb(168, 168, 168);
}

.icon-F .path2:before {
  content: "\e97d";
  margin-left: -0.3818359375em;
  color: rgb(49, 120, 108);
}

.icon-F .path3:before {
  content: "\e97e";
  margin-left: -0.3818359375em;
  color: rgb(255, 255, 255);
}

.icon-F .path4:before {
  content: "\e97f";
  margin-left: -0.3818359375em;
  color: rgb(49, 120, 108);
}

.icon-G .path1:before {
  content: "\e980";
  color: rgb(168, 168, 168);
}

.icon-G .path2:before {
  content: "\e981";
  margin-left: -0.4814453125em;
  color: rgb(49, 120, 108);
}

.icon-G .path3:before {
  content: "\e982";
  margin-left: -0.4814453125em;
  color: rgb(255, 255, 255);
}

.icon-G .path4:before {
  content: "\e983";
  margin-left: -0.4814453125em;
  color: rgb(49, 120, 108);
}

.icon-H .path1:before {
  content: "\e984";
  color: rgb(168, 168, 168);
}

.icon-H .path2:before {
  content: "\e985";
  margin-left: -0.4814453125em;
  color: rgb(49, 120, 108);
}

.icon-H .path3:before {
  content: "\e986";
  margin-left: -0.4814453125em;
  color: rgb(255, 255, 255);
}

.icon-H .path4:before {
  content: "\e987";
  margin-left: -0.4814453125em;
  color: rgb(49, 120, 108);
}

.icon-I .path1:before {
  content: "\e988";
  color: rgb(168, 168, 168);
}

.icon-I .path2:before {
  content: "\e989";
  margin-left: -0.3037109375em;
  color: rgb(49, 120, 108);
}

.icon-I .path3:before {
  content: "\e98a";
  margin-left: -0.3037109375em;
  color: rgb(255, 255, 255);
}

.icon-I .path4:before {
  content: "\e98b";
  margin-left: -0.3037109375em;
  color: rgb(49, 120, 108);
}

.icon-J .path1:before {
  content: "\e98c";
  color: rgb(168, 168, 168);
}

.icon-J .path2:before {
  content: "\e98d";
  margin-left: -0.4033203125em;
  color: rgb(49, 120, 108);
}

.icon-J .path3:before {
  content: "\e98e";
  margin-left: -0.4033203125em;
  color: rgb(255, 255, 255);
}

.icon-J .path4:before {
  content: "\e98f";
  margin-left: -0.4033203125em;
  color: rgb(49, 120, 108);
}

.icon-K .path1:before {
  content: "\e990";
  color: rgb(168, 168, 168);
}

.icon-K .path2:before {
  content: "\e991";
  margin-left: -0.4609375em;
  color: rgb(49, 120, 108);
}

.icon-K .path3:before {
  content: "\e992";
  margin-left: -0.4609375em;
  color: rgb(255, 255, 255);
}

.icon-K .path4:before {
  content: "\e993";
  margin-left: -0.4609375em;
  color: rgb(49, 120, 108);
}

.icon-L .path1:before {
  content: "\e994";
  color: rgb(168, 168, 168);
}

.icon-L .path2:before {
  content: "\e995";
  margin-left: -0.376953125em;
  color: rgb(49, 120, 108);
}

.icon-L .path3:before {
  content: "\e996";
  margin-left: -0.376953125em;
  color: rgb(255, 255, 255);
}

.icon-L .path4:before {
  content: "\e997";
  margin-left: -0.376953125em;
  color: rgb(49, 120, 108);
}

.icon-M .path1:before {
  content: "\e998";
  color: rgb(168, 168, 168);
}

.icon-M .path2:before {
  content: "\e999";
  margin-left: -0.544921875em;
  color: rgb(49, 120, 108);
}

.icon-M .path3:before {
  content: "\e99a";
  margin-left: -0.544921875em;
  color: rgb(255, 255, 255);
}

.icon-M .path4:before {
  content: "\e99b";
  margin-left: -0.544921875em;
  color: rgb(49, 120, 108);
}

.icon-N .path1:before {
  content: "\e99c";
  color: rgb(168, 168, 168);
}

.icon-N .path2:before {
  content: "\e99d";
  margin-left: -0.5029296875em;
  color: rgb(49, 120, 108);
}

.icon-N .path3:before {
  content: "\e99e";
  margin-left: -0.5029296875em;
  color: rgb(255, 255, 255);
}

.icon-N .path4:before {
  content: "\e99f";
  margin-left: -0.5029296875em;
  color: rgb(49, 120, 108);
}

.icon-O .path1:before {
  content: "\e9a0";
  color: rgb(168, 168, 168);
}

.icon-O .path2:before {
  content: "\e9a1";
  margin-left: -0.4921875em;
  color: rgb(49, 120, 108);
}

.icon-O .path3:before {
  content: "\e9a2";
  margin-left: -0.4921875em;
  color: rgb(255, 255, 255);
}

.icon-O .path4:before {
  content: "\e9a3";
  margin-left: -0.4921875em;
  color: rgb(49, 120, 108);
}

.icon-P .path1:before {
  content: "\e9a4";
  color: rgb(168, 168, 168);
}

.icon-P .path2:before {
  content: "\e9a5";
  margin-left: -0.4033203125em;
  color: rgb(49, 120, 108);
}

.icon-P .path3:before {
  content: "\e9a6";
  margin-left: -0.4033203125em;
  color: rgb(255, 255, 255);
}

.icon-P .path4:before {
  content: "\e9a7";
  margin-left: -0.4033203125em;
  color: rgb(49, 120, 108);
}

.icon-Q .path1:before {
  content: "\e9a8";
  color: rgb(168, 168, 168);
}

.icon-Q .path2:before {
  content: "\e9a9";
  margin-left: -0.4921875em;
  color: rgb(49, 120, 108);
}

.icon-Q .path3:before {
  content: "\e9aa";
  margin-left: -0.4921875em;
  color: rgb(255, 255, 255);
}

.icon-Q .path4:before {
  content: "\e9ab";
  margin-left: -0.4921875em;
  color: rgb(49, 120, 108);
}

.icon-R .path1:before {
  content: "\e9ac";
  color: rgb(168, 168, 168);
}

.icon-R .path2:before {
  content: "\e9ad";
  margin-left: -0.439453125em;
  color: rgb(49, 120, 108);
}

.icon-R .path3:before {
  content: "\e9ae";
  margin-left: -0.439453125em;
  color: rgb(255, 255, 255);
}

.icon-R .path4:before {
  content: "\e9af";
  margin-left: -0.439453125em;
  color: rgb(49, 120, 108);
}

.icon-S .path1:before {
  content: "\e9b0";
  color: rgb(168, 168, 168);
}

.icon-S .path2:before {
  content: "\e9b1";
  margin-left: -0.392578125em;
  color: rgb(49, 120, 108);
}

.icon-S .path3:before {
  content: "\e9b2";
  margin-left: -0.392578125em;
  color: rgb(255, 255, 255);
}

.icon-S .path4:before {
  content: "\e9b3";
  margin-left: -0.392578125em;
  color: rgb(49, 120, 108);
}

.icon-T .path1:before {
  content: "\e9b4";
  color: rgb(168, 168, 168);
}

.icon-T .path2:before {
  content: "\e9b5";
  margin-left: -0.3662109375em;
  color: rgb(49, 120, 108);
}

.icon-T .path3:before {
  content: "\e9b6";
  margin-left: -0.3662109375em;
  color: rgb(255, 255, 255);
}

.icon-T .path4:before {
  content: "\e9b7";
  margin-left: -0.3662109375em;
  color: rgb(49, 120, 108);
}

.icon-U .path1:before {
  content: "\e9b8";
  color: rgb(168, 168, 168);
}

.icon-U .path2:before {
  content: "\e9b9";
  margin-left: -0.4658203125em;
  color: rgb(49, 120, 108);
}

.icon-U .path3:before {
  content: "\e9ba";
  margin-left: -0.4658203125em;
  color: rgb(255, 255, 255);
}

.icon-U .path4:before {
  content: "\e9bb";
  margin-left: -0.4658203125em;
  color: rgb(49, 120, 108);
}

.icon-V .path1:before {
  content: "\e9bc";
  color: rgb(168, 168, 168);
}

.icon-V .path2:before {
  content: "\e9bd";
  margin-left: -0.4501953125em;
  color: rgb(49, 120, 108);
}

.icon-V .path3:before {
  content: "\e9be";
  margin-left: -0.4501953125em;
  color: rgb(255, 255, 255);
}

.icon-V .path4:before {
  content: "\e9bf";
  margin-left: -0.4501953125em;
  color: rgb(49, 120, 108);
}

.icon-W .path1:before {
  content: "\e9c0";
  color: rgb(168, 168, 168);
}

.icon-W .path2:before {
  content: "\e9c1";
  margin-left: -0.6279296875em;
  color: rgb(49, 120, 108);
}

.icon-W .path3:before {
  content: "\e9c2";
  margin-left: -0.6279296875em;
  color: rgb(255, 255, 255);
}

.icon-W .path4:before {
  content: "\e9c3";
  margin-left: -0.6279296875em;
  color: rgb(49, 120, 108);
}

.icon-X .path1:before {
  content: "\e9c4";
  color: rgb(168, 168, 168);
}

.icon-X .path2:before {
  content: "\e9c5";
  margin-left: -0.4345703125em;
  color: rgb(49, 120, 108);
}

.icon-X .path3:before {
  content: "\e9c6";
  margin-left: -0.4345703125em;
  color: rgb(255, 255, 255);
}

.icon-X .path4:before {
  content: "\e9c7";
  margin-left: -0.4345703125em;
  color: rgb(49, 120, 108);
}

.icon-Y .path1:before {
  content: "\e9c8";
  color: rgb(168, 168, 168);
}

.icon-Y .path2:before {
  content: "\e9c9";
  margin-left: -0.4189453125em;
  color: rgb(49, 120, 108);
}

.icon-Y .path3:before {
  content: "\e9ca";
  margin-left: -0.4189453125em;
  color: rgb(255, 255, 255);
}

.icon-Y .path4:before {
  content: "\e9cb";
  margin-left: -0.4189453125em;
  color: rgb(49, 120, 108);
}

.icon-Z .path1:before {
  content: "\e9cc";
  color: rgb(168, 168, 168);
}

.icon-Z .path2:before {
  content: "\e9cd";
  margin-left: -0.4189453125em;
  color: rgb(49, 120, 108);
}

.icon-Z .path3:before {
  content: "\e9ce";
  margin-left: -0.4189453125em;
  color: rgb(255, 255, 255);
}

.icon-Z .path4:before {
  content: "\e9cf";
  margin-left: -0.4189453125em;
  color: rgb(49, 120, 108);
}

.icon-a .path1:before {
  content: "\e900";
  color: rgb(168, 168, 168);
}

.icon-a .path2:before {
  content: "\e901";
  margin-left: -0.3974609375em;
  color: rgb(49, 120, 108);
}

.icon-a .path3:before {
  content: "\e902";
  margin-left: -0.3974609375em;
  color: rgb(255, 255, 255);
}

.icon-a .path4:before {
  content: "\e903";
  margin-left: -0.3974609375em;
  color: rgb(49, 120, 108);
}

.icon-b .path1:before {
  content: "\e904";
  color: rgb(168, 168, 168);
}

.icon-b .path2:before {
  content: "\e905";
  margin-left: -0.3974609375em;
  color: rgb(49, 120, 108);
}

.icon-b .path3:before {
  content: "\e906";
  margin-left: -0.3974609375em;
  color: rgb(255, 255, 255);
}

.icon-b .path4:before {
  content: "\e907";
  margin-left: -0.3974609375em;
  color: rgb(49, 120, 108);
}

.icon-c .path1:before {
  content: "\e908";
  color: rgb(168, 168, 168);
}

.icon-c .path2:before {
  content: "\e909";
  margin-left: -0.33984375em;
  color: rgb(49, 120, 108);
}

.icon-c .path3:before {
  content: "\e90a";
  margin-left: -0.33984375em;
  color: rgb(255, 255, 255);
}

.icon-c .path4:before {
  content: "\e90b";
  margin-left: -0.33984375em;
  color: rgb(49, 120, 108);
}

.icon-d .path1:before {
  content: "\e90c";
  color: rgb(168, 168, 168);
}

.icon-d .path2:before {
  content: "\e90d";
  margin-left: -0.4033203125em;
  color: rgb(49, 120, 108);
}

.icon-d .path3:before {
  content: "\e90e";
  margin-left: -0.4033203125em;
  color: rgb(255, 255, 255);
}

.icon-d .path4:before {
  content: "\e90f";
  margin-left: -0.4033203125em;
  color: rgb(49, 120, 108);
}

.icon-e .path1:before {
  content: "\e910";
  color: rgb(168, 168, 168);
}

.icon-e .path2:before {
  content: "\e911";
  margin-left: -0.3720703125em;
  color: rgb(49, 120, 108);
}

.icon-e .path3:before {
  content: "\e912";
  margin-left: -0.3720703125em;
  color: rgb(255, 255, 255);
}

.icon-e .path4:before {
  content: "\e913";
  margin-left: -0.3720703125em;
  color: rgb(49, 120, 108);
}

.icon-f .path1:before {
  content: "\e914";
  color: rgb(168, 168, 168);
}

.icon-f .path2:before {
  content: "\e915";
  margin-left: -0.2509765625em;
  color: rgb(49, 120, 108);
}

.icon-f .path3:before {
  content: "\e916";
  margin-left: -0.2509765625em;
  color: rgb(255, 255, 255);
}

.icon-f .path4:before {
  content: "\e917";
  margin-left: -0.2509765625em;
  color: rgb(49, 120, 108);
}

.icon-g .path1:before {
  content: "\e918";
  color: rgb(168, 168, 168);
}

.icon-g .path2:before {
  content: "\e919";
  margin-left: -0.408203125em;
  color: rgb(49, 120, 108);
}

.icon-g .path3:before {
  content: "\e91a";
  margin-left: -0.408203125em;
  color: rgb(255, 255, 255);
}

.icon-g .path4:before {
  content: "\e91b";
  margin-left: -0.408203125em;
  color: rgb(49, 120, 108);
}

.icon-h .path1:before {
  content: "\e91c";
  color: rgb(168, 168, 168);
}

.icon-h .path2:before {
  content: "\e91d";
  margin-left: -0.376953125em;
  color: rgb(49, 120, 108);
}

.icon-h .path3:before {
  content: "\e91e";
  margin-left: -0.376953125em;
  color: rgb(255, 255, 255);
}

.icon-h .path4:before {
  content: "\e91f";
  margin-left: -0.376953125em;
  color: rgb(49, 120, 108);
}

.icon-i .path1:before {
  content: "\e920";
  color: rgb(168, 168, 168);
}

.icon-i .path2:before {
  content: "\e921";
  margin-left: -0.177734375em;
  color: rgb(49, 120, 108);
}

.icon-i .path3:before {
  content: "\e922";
  margin-left: -0.177734375em;
  color: rgb(255, 255, 255);
}

.icon-i .path4:before {
  content: "\e923";
  margin-left: -0.177734375em;
  color: rgb(49, 120, 108);
}

.icon-j .path1:before {
  content: "\e924";
  color: rgb(168, 168, 168);
}

.icon-j .path2:before {
  content: "\e925";
  margin-left: -0.16796875em;
  color: rgb(49, 120, 108);
}

.icon-j .path3:before {
  content: "\e926";
  margin-left: -0.16796875em;
  color: rgb(255, 255, 255);
}

.icon-j .path4:before {
  content: "\e927";
  margin-left: -0.16796875em;
  color: rgb(49, 120, 108);
}

.icon-k .path1:before {
  content: "\e928";
  color: rgb(168, 168, 168);
}

.icon-k .path2:before {
  content: "\e929";
  margin-left: -0.361328125em;
  color: rgb(49, 120, 108);
}

.icon-k .path3:before {
  content: "\e92a";
  margin-left: -0.361328125em;
  color: rgb(255, 255, 255);
}

.icon-k .path4:before {
  content: "\e92b";
  margin-left: -0.361328125em;
  color: rgb(49, 120, 108);
}

.icon-l .path1:before {
  content: "\e92c";
  color: rgb(168, 168, 168);
}

.icon-l .path2:before {
  content: "\e92d";
  margin-left: -0.162109375em;
  color: rgb(49, 120, 108);
}

.icon-l .path3:before {
  content: "\e92e";
  margin-left: -0.162109375em;
  color: rgb(255, 255, 255);
}

.icon-l .path4:before {
  content: "\e92f";
  margin-left: -0.162109375em;
  color: rgb(49, 120, 108);
}

.icon-m .path1:before {
  content: "\e930";
  color: rgb(168, 168, 168);
}

.icon-m .path2:before {
  content: "\e931";
  margin-left: -0.5810546875em;
  color: rgb(49, 120, 108);
}

.icon-m .path3:before {
  content: "\e932";
  margin-left: -0.5810546875em;
  color: rgb(255, 255, 255);
}

.icon-m .path4:before {
  content: "\e933";
  margin-left: -0.5810546875em;
  color: rgb(49, 120, 108);
}

.icon-n .path1:before {
  content: "\e934";
  color: rgb(168, 168, 168);
}

.icon-n .path2:before {
  content: "\e935";
  margin-left: -0.376953125em;
  color: rgb(49, 120, 108);
}

.icon-n .path3:before {
  content: "\e936";
  margin-left: -0.376953125em;
  color: rgb(255, 255, 255);
}

.icon-n .path4:before {
  content: "\e937";
  margin-left: -0.376953125em;
  color: rgb(49, 120, 108);
}

.icon-o .path1:before {
  content: "\e938";
  color: rgb(168, 168, 168);
}

.icon-o .path2:before {
  content: "\e939";
  margin-left: -0.3876953125em;
  color: rgb(49, 120, 108);
}

.icon-o .path3:before {
  content: "\e93a";
  margin-left: -0.3876953125em;
  color: rgb(255, 255, 255);
}

.icon-o .path4:before {
  content: "\e93b";
  margin-left: -0.3876953125em;
  color: rgb(49, 120, 108);
}

.icon-p .path1:before {
  content: "\e93c";
  color: rgb(168, 168, 168);
}

.icon-p .path2:before {
  content: "\e93d";
  margin-left: -0.3974609375em;
  color: rgb(49, 120, 108);
}

.icon-p .path3:before {
  content: "\e93e";
  margin-left: -0.3974609375em;
  color: rgb(255, 255, 255);
}

.icon-p .path4:before {
  content: "\e93f";
  margin-left: -0.3974609375em;
  color: rgb(49, 120, 108);
}

.icon-q .path1:before {
  content: "\e940";
  color: rgb(168, 168, 168);
}

.icon-q .path2:before {
  content: "\e941";
  margin-left: -0.3974609375em;
  color: rgb(49, 120, 108);
}

.icon-q .path3:before {
  content: "\e942";
  margin-left: -0.3974609375em;
  color: rgb(255, 255, 255);
}

.icon-q .path4:before {
  content: "\e943";
  margin-left: -0.3974609375em;
  color: rgb(49, 120, 108);
}

.icon-r .path1:before {
  content: "\e944";
  color: rgb(168, 168, 168);
}

.icon-r .path2:before {
  content: "\e945";
  margin-left: -0.2568359375em;
  color: rgb(49, 120, 108);
}

.icon-r .path3:before {
  content: "\e946";
  margin-left: -0.2568359375em;
  color: rgb(255, 255, 255);
}

.icon-r .path4:before {
  content: "\e947";
  margin-left: -0.2568359375em;
  color: rgb(49, 120, 108);
}

.icon-s .path1:before {
  content: "\e948";
  color: rgb(168, 168, 168);
}

.icon-s .path2:before {
  content: "\e949";
  margin-left: -0.3037109375em;
  color: rgb(49, 120, 108);
}

.icon-s .path3:before {
  content: "\e94a";
  margin-left: -0.3037109375em;
  color: rgb(255, 255, 255);
}

.icon-s .path4:before {
  content: "\e94b";
  margin-left: -0.3037109375em;
  color: rgb(49, 120, 108);
}

.icon-t .path1:before {
  content: "\e94c";
  color: rgb(168, 168, 168);
}

.icon-t .path2:before {
  content: "\e94d";
  margin-left: -0.24609375em;
  color: rgb(49, 120, 108);
}

.icon-t .path3:before {
  content: "\e94e";
  margin-left: -0.24609375em;
  color: rgb(255, 255, 255);
}

.icon-t .path4:before {
  content: "\e94f";
  margin-left: -0.24609375em;
  color: rgb(49, 120, 108);
}

.icon-u .path1:before {
  content: "\e950";
  color: rgb(168, 168, 168);
}

.icon-u .path2:before {
  content: "\e951";
  margin-left: -0.3818359375em;
  color: rgb(49, 120, 108);
}

.icon-u .path3:before {
  content: "\e952";
  margin-left: -0.3818359375em;
  color: rgb(255, 255, 255);
}

.icon-u .path4:before {
  content: "\e953";
  margin-left: -0.3818359375em;
  color: rgb(49, 120, 108);
}

.icon-v .path1:before {
  content: "\e954";
  color: rgb(168, 168, 168);
}

.icon-v .path2:before {
  content: "\e955";
  margin-left: -0.361328125em;
  color: rgb(49, 120, 108);
}

.icon-v .path3:before {
  content: "\e956";
  margin-left: -0.361328125em;
  color: rgb(255, 255, 255);
}

.icon-v .path4:before {
  content: "\e957";
  margin-left: -0.361328125em;
  color: rgb(49, 120, 108);
}

.icon-w .path1:before {
  content: "\e958";
  color: rgb(168, 168, 168);
}

.icon-w .path2:before {
  content: "\e959";
  margin-left: -0.5029296875em;
  color: rgb(49, 120, 108);
}

.icon-w .path3:before {
  content: "\e95a";
  margin-left: -0.5029296875em;
  color: rgb(255, 255, 255);
}

.icon-w .path4:before {
  content: "\e95b";
  margin-left: -0.5029296875em;
  color: rgb(49, 120, 108);
}

.icon-x .path1:before {
  content: "\e95c";
  color: rgb(168, 168, 168);
}

.icon-x .path2:before {
  content: "\e95d";
  margin-left: -0.3564453125em;
  color: rgb(49, 120, 108);
}

.icon-x .path3:before {
  content: "\e95e";
  margin-left: -0.3564453125em;
  color: rgb(255, 255, 255);
}

.icon-x .path4:before {
  content: "\e95f";
  margin-left: -0.3564453125em;
  color: rgb(49, 120, 108);
}

.icon-y .path1:before {
  content: "\e960";
  color: rgb(168, 168, 168);
}

.icon-y .path2:before {
  content: "\e961";
  margin-left: -0.3662109375em;
  color: rgb(49, 120, 108);
}

.icon-y .path3:before {
  content: "\e962";
  margin-left: -0.3662109375em;
  color: rgb(255, 255, 255);
}

.icon-y .path4:before {
  content: "\e963";
  margin-left: -0.3662109375em;
  color: rgb(49, 120, 108);
}

.icon-z .path1:before {
  content: "\e964";
  color: rgb(168, 168, 168);
}

.icon-z .path2:before {
  content: "\e965";
  margin-left: -0.30859375em;
  color: rgb(49, 120, 108);
}

.icon-z .path3:before {
  content: "\e966";
  margin-left: -0.30859375em;
  color: rgb(255, 255, 255);
}

.icon-z .path4:before {
  content: "\e967";
  margin-left: -0.30859375em;
  color: rgb(49, 120, 108);
}

:root {
  --green-base: #31786c;
  --white-base: #ffffff;
}

.visually-hidden:not(:focus):not(:active) {
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
}
