.frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  padding: 30px 30px;
  position: relative;
}

.frame .program-cards {
  display: flex;
  flex-direction: column;
  width: 956px;
  align-items: flex-start;
  gap: 18px;
  position: relative;
  flex: 0 0 auto;
  background-color: #ffffff;
}

.frame .base-card {
  width: 958px;
  align-items: flex-start;
  gap: 24px;
  flex: 0 0 auto;
  margin-right: -2px;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  position: relative;
}

.frame .image-placeholder {
  position: relative;
  width: 467px;
  height: 262.69px;
  border-radius: 8px;
  border: 1px solid;
  border-color: #d0d5dd;
  background-image: url(../img/image-placeholder-54.png);
  background-size: cover;
  background-position: 50% 50%;
}

.frame .content {
  display: flex;
  align-items: flex-start;
  gap: 48px;
  padding: 4px 0px;
  position: relative;
  flex: 1;
  align-self: stretch;
  flex-grow: 1;
  background-color: #ffffff;
}

.frame .text-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  flex: 1;
  align-self: stretch;
  flex-grow: 1;
}

.frame .headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.frame .title {
  position: relative;
  align-self: stretch;
  margin-top: -1px;
  font-family: var(--display-sm-semibold-font-family);
  font-weight: var(--display-sm-semibold-font-weight);
  color: #1d2939;
  font-size: var(--display-sm-semibold-font-size);
  letter-spacing: var(--display-sm-semibold-letter-spacing);
  line-height: var(--display-sm-semibold-line-height);
  font-style: var(--display-sm-semibold-font-style);
}

.frame .sub-headline {
  position: relative;
  align-self: stretch;
  width: 200px;
  flex: 0 0 auto;
}

.frame .description-set {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.frame .div {
  align-items: center;
  display: flex;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.frame .text {
  position: relative;
  width: 70px;
  font-family: var(--text-md-medium-font-family);
  font-weight: var(--text-md-medium-font-weight);
  color: #101828;
  font-size: var(--text-md-medium-font-size);
  text-align: center;
  letter-spacing: var(--text-md-medium-letter-spacing);
  line-height: var(--text-md-medium-line-height);
  font-style: var(--text-md-medium-font-style);
}

.frame .description {
  position: relative;
  flex: 1;
  margin-top: -1px;
  font-family: var(--text-md-regular-font-family);
  font-weight: var(--text-md-regular-font-weight);
  color: #667085;
  font-size: var(--text-md-regular-font-size);
  letter-spacing: var(--text-md-regular-letter-spacing);
  line-height: var(--text-md-regular-line-height);
  font-style: var(--text-md-regular-font-style);
}

.frame .buttons {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.frame .button {
  all: unset;
  box-sizing: border-box;
  display: flex;
  width: 124px;
  align-items: center;
  justify-content: center;
  position: relative;
  align-self: stretch;
}

.frame .button-base {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  position: relative;
  flex: 1;
  align-self: stretch;
  flex-grow: 1;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid;
  border-color: #98a2b3;
  box-shadow: var(--shadow-xs);
}

.frame .text-wrapper {
  position: relative;
  width: fit-content;
  margin-top: -3px;
  margin-bottom: -1px;
  font-family: var(--text-md-semibold-font-family);
  font-weight: var(--text-md-semibold-font-weight);
  color: #475467;
  font-size: var(--text-md-semibold-font-size);
  text-align: center;
  letter-spacing: var(--text-md-semibold-letter-spacing);
  line-height: var(--text-md-semibold-line-height);
  white-space: nowrap;
  font-style: var(--text-md-semibold-font-style);
}

.frame .div-2 {
  display: inline-flex;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.frame .base-tab {
  width: 956px;
  height: 48px;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.frame .base-part {
  flex-direction: column;
  height: 48px;
  align-items: center;
  justify-content: center;
  flex: 1;
  flex-grow: 1;
  background-color: #667085;
  border: 1px solid;
  border-color: #344054;
  display: flex;
  position: relative;
}

.frame .label-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 28px;
  position: relative;
  flex: 1;
  align-self: stretch;
  width: 100%;
  flex-grow: 1;
}

.frame .label {
  position: relative;
  flex: 1;
  margin-top: -2px;
  font-family: var(--text-xl-semibold-font-family);
  font-weight: var(--text-xl-semibold-font-weight);
  color: #ffffff;
  font-size: var(--text-xl-semibold-font-size);
  text-align: center;
  letter-spacing: var(--text-xl-semibold-letter-spacing);
  line-height: var(--text-xl-semibold-line-height);
  font-style: var(--text-xl-semibold-font-style);
}

.frame .div-wrapper {
  height: 48px;
  margin-left: -1px;
  background-color: #ffffff;
  border: 1px solid;
  border-color: #d0d5dd;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.frame .label-2 {
  position: relative;
  flex: 1;
  font-family: var(--text-lg-medium-font-family);
  font-weight: var(--text-lg-medium-font-weight);
  color: #667085;
  font-size: var(--text-lg-medium-font-size);
  text-align: center;
  letter-spacing: var(--text-lg-medium-letter-spacing);
  line-height: var(--text-lg-medium-line-height);
  font-style: var(--text-lg-medium-font-style);
}

.frame .div-3 {
  display: flex;
  flex-direction: column;
  width: 956px;
  align-items: center;
  gap: 96px;
  position: relative;
  flex: 0 0 auto;
}

.frame .div-4 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.frame .container {
  display: flex;
  width: 956px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.frame .text-2 {
  position: relative;
  flex: 1;
  margin-top: -1px;
  font-family: var(--display-sm-semibold-font-family);
  font-weight: var(--display-sm-semibold-font-weight);
  color: #000000;
  font-size: var(--display-sm-semibold-font-size);
  text-align: center;
  letter-spacing: var(--display-sm-semibold-letter-spacing);
  line-height: var(--display-sm-semibold-line-height);
  font-style: var(--display-sm-semibold-font-style);
}

.frame .div-5 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.frame .p {
  align-self: stretch;
  margin-top: -1px;
  color: #292929;
  font-size: var(--text-lg-medium-font-size);
  line-height: var(--text-lg-medium-line-height);
  position: relative;
  font-family: var(--text-lg-medium-font-family);
  font-weight: var(--text-lg-medium-font-weight);
  letter-spacing: var(--text-lg-medium-letter-spacing);
  font-style: var(--text-lg-medium-font-style);
}

.frame .div-6 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.frame .div-wrapper-2 {
  display: flex;
  width: 239px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 8px;
  background-color: #f9ac66;
  border: 1px solid;
  border-color: #ff7d05;
  position: relative;
  flex: 0 0 auto;
}

.frame .text-wrapper-2 {
  position: relative;
  width: fit-content;
  margin-top: -1px;
  font-family: var(--text-lg-semibold-font-family);
  font-weight: var(--text-lg-semibold-font-weight);
  color: #ffffff;
  font-size: var(--text-lg-semibold-font-size);
  letter-spacing: var(--text-lg-semibold-letter-spacing);
  line-height: var(--text-lg-semibold-line-height);
  white-space: nowrap;
  font-style: var(--text-lg-semibold-font-style);
}

.frame .div-wrapper-3 {
  height: 48px;
  display: flex;
  width: 239px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 8px;
  position: relative;
  margin-top: -1px;
  background-color: #ffffff;
  border: 1px solid;
  border-color: #ff7d05;
}

.frame .text-wrapper-3 {
  position: relative;
  width: fit-content;
  margin-top: -3px;
  margin-bottom: -1px;
  font-family: var(--text-md-medium-font-family);
  font-weight: var(--text-md-medium-font-weight);
  color: #000000;
  font-size: var(--text-md-medium-font-size);
  letter-spacing: var(--text-md-medium-letter-spacing);
  line-height: var(--text-md-medium-line-height);
  white-space: nowrap;
  font-style: var(--text-md-medium-font-style);
}

.frame .div-7 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin-left: -1px;
  position: relative;
  flex: 0 0 auto;
}

.frame .div-wrapper-4 {
  height: 96px;
  display: flex;
  width: 239px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 8px;
  position: relative;
  margin-top: -1px;
  background-color: #ffffff;
  border: 1px solid;
  border-color: #ff7d05;
}

.frame .text-wrapper-4 {
  position: relative;
  width: fit-content;
  font-family: var(--text-md-medium-font-family);
  font-weight: var(--text-md-medium-font-weight);
  color: #000000;
  font-size: var(--text-md-medium-font-size);
  letter-spacing: var(--text-md-medium-letter-spacing);
  line-height: var(--text-md-medium-line-height);
  white-space: nowrap;
  font-style: var(--text-md-medium-font-style);
}

.frame .container-2 {
  width: 956px;
  align-items: center;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.frame .div-wrapper-5 {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #f9ac66;
  border-radius: 999px;
  overflow: hidden;
  position: relative;
  flex: 0 0 auto;
}

.frame .text-wrapper-5 {
  position: relative;
  width: 36px;
  height: 36px;
  margin-top: -1px;
  font-family: var(--text-xl-semibold-font-family);
  font-weight: var(--text-xl-semibold-font-weight);
  color: #ffffff;
  font-size: var(--text-xl-semibold-font-size);
  text-align: center;
  letter-spacing: var(--text-xl-semibold-letter-spacing);
  line-height: var(--text-xl-semibold-line-height);
  white-space: nowrap;
  font-style: var(--text-xl-semibold-font-style);
}

.frame .text-wrapper-6 {
  position: relative;
  width: fit-content;
  font-family: var(--display-xs-semibold-font-family);
  font-weight: var(--display-xs-semibold-font-weight);
  color: #000000;
  font-size: var(--display-xs-semibold-font-size);
  text-align: center;
  letter-spacing: var(--display-xs-semibold-letter-spacing);
  line-height: var(--display-xs-semibold-line-height);
  white-space: nowrap;
  font-style: var(--display-xs-semibold-font-style);
}

.frame .play-math-PC {
  width: 956px;
  color: #00000099;
  font-size: var(--text-md-medium-font-size);
  line-height: var(--text-md-medium-line-height);
  position: relative;
  font-family: var(--text-md-medium-font-family);
  font-weight: var(--text-md-medium-font-weight);
  letter-spacing: var(--text-md-medium-letter-spacing);
  font-style: var(--text-md-medium-font-style);
}

.frame .container-3 {
  flex-direction: column;
  width: 956px;
  align-items: flex-start;
  justify-content: center;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.frame .text-3 {
  position: relative;
  align-self: stretch;
  margin-top: -1px;
  font-family: var(--text-md-medium-font-family);
  font-weight: var(--text-md-medium-font-weight);
  color: #00000099;
  font-size: var(--text-md-medium-font-size);
  letter-spacing: var(--text-md-medium-letter-spacing);
  line-height: var(--text-md-medium-line-height);
  font-style: var(--text-md-medium-font-style);
}

.frame .div-wrapper-6 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.frame .text-wrapper-7 {
  position: relative;
  width: 956px;
  margin-top: -1px;
  font-family: var(--text-md-medium-font-family);
  font-weight: var(--text-md-medium-font-weight);
  color: #00000099;
  font-size: var(--text-md-medium-font-size);
  letter-spacing: var(--text-md-medium-letter-spacing);
  line-height: var(--text-md-medium-line-height);
  font-style: var(--text-md-medium-font-style);
}

.frame .play-math-wrapper {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.frame .container-4 {
  flex-direction: column;
  width: 956px;
  align-items: flex-start;
  gap: 48px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.frame .container-5 {
  align-items: center;
  align-self: stretch;
  width: 100%;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.frame .text-4 {
  position: relative;
  width: 956px;
  margin-top: -1px;
  font-family: var(--display-sm-semibold-font-family);
  font-weight: var(--display-sm-semibold-font-weight);
  color: #101828;
  font-size: var(--display-sm-semibold-font-size);
  text-align: center;
  letter-spacing: var(--display-sm-semibold-letter-spacing);
  line-height: var(--display-sm-semibold-line-height);
  font-style: var(--display-sm-semibold-font-style);
}

.frame .tabs-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.frame .tabs {
  display: flex;
  width: 316px;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.frame .base-tab-2 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.frame .base-part-2 {
  height: 36px;
  background-color: #667085;
  border-radius: 999px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.frame .label-3 {
  display: flex;
  height: 36px;
  align-items: center;
  justify-content: center;
  padding: 10px 28px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.frame .label-4 {
  position: relative;
  width: fit-content;
  margin-top: -3px;
  margin-bottom: -1px;
  font-family: var(--text-md-medium-font-family);
  font-weight: var(--text-md-medium-font-weight);
  color: #ffffff;
  font-size: var(--text-md-medium-font-size);
  text-align: center;
  letter-spacing: var(--text-md-medium-letter-spacing);
  line-height: var(--text-md-medium-line-height);
  white-space: nowrap;
  font-style: var(--text-md-medium-font-style);
}

.frame .base-part-3 {
  height: 36px;
  background-color: #ffffff;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid;
  border-color: #d0d5dd;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.frame .label-5 {
  display: flex;
  height: 36px;
  align-items: center;
  justify-content: center;
  padding: 10px 28px;
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: #ffffff;
}

.frame .label-6 {
  position: relative;
  width: fit-content;
  margin-top: -3px;
  margin-bottom: -1px;
  font-family: var(--text-md-medium-font-family);
  font-weight: var(--text-md-medium-font-weight);
  color: #475467;
  font-size: var(--text-md-medium-font-size);
  text-align: center;
  letter-spacing: var(--text-md-medium-letter-spacing);
  line-height: var(--text-md-medium-line-height);
  white-space: nowrap;
  font-style: var(--text-md-medium-font-style);
}

.frame .playmath {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 48px;
  padding: 4px 421px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: #ffffff;
}

.frame .arrows {
  position: relative;
  width: 90px;
  height: 284px;
  left: -150px;
  margin-left: -333.5px;
}

@keyframes scroll-step {
  0% {
	transform: translateX(0);
  }
  100% {
	transform: translateX(-100%);
  }
}

.frame .group-wrapper {
  position: relative;
  width: 534px;
  height: 284px;
  margin-left: -195.5px;
  margin-right: -195.5px;
  border-radius: 16px;
  overflow: hidden;
  border: 16px solid;
  border-color: #000000;
}

.frame .group {
  position: relative;
  display: flex;
  width: 6805px;
  height: 284px;
}

.frame .group.paused {
      animation-play-state: paused;
}

.frame .group2 {
  position: relative;
  display: flex;
  width: 6805px;
  height: 284px;
}

.frame .group2.paused {
      animation-play-state: paused;
}

.frame .playmath-textbook {
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  left: 0;
  background-image: url(../img/m_text_0.png);
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-2 {
  left: 525px;
  background-image: url(../img/m_text_1.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-3 {
  left: 1050px;
  background-image: url(../img/m_text_2.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-4 {
  left: 1575px;
  background-image: url(../img/m_text_3.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-5 {
  left: 2100px;
  background-image: url(../img/m_text_4.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-6 {
  left: 2625px;
  background-image: url(../img/m_text_5.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-7 {
  left: 3150px;
  background-image: url(../img/m_text_6.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-8 {
  left: 3675px;
  background-image: url(../img/m_text_7.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-9 {
  left: 4200px;
  background-image: url(../img/m_text_8.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-10 {
  left: 4725px;
  background-image: url(../img/m_text_9.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-11 {
  left: 5250px;
  background-image: url(../img/m_text_10.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-textbook-12 {
  left: 5775px;
  background-image: url(../img/m_text_11.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal {
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  left: 0;
  background-image: url(../img/m_cal_0.png);
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-2 {
  left: 525px;
  background-image: url(../img/m_cal_1.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-3 {
  left: 1050px;
  background-image: url(../img/m_cal_2.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-4 {
  left: 1575px;
  background-image: url(../img/m_cal_3.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-5 {
  left: 2100px;
  background-image: url(../img/m_cal_4.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-6 {
  left: 2625px;
  background-image: url(../img/m_cal_5.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-7 {
  left: 3150px;
  background-image: url(../img/m_cal_6.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-8 {
  left: 3675px;
  background-image: url(../img/m_cal_7.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-9 {
  left: 4200px;
  background-image: url(../img/m_cal_8.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-10 {
  left: 4725px;
  background-image: url(../img/m_cal_9.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-11 {
  left: 5250px;
  background-image: url(../img/m_cal_10.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-12 {
  left: 5775px;
  background-image: url(../img/m_cal_11.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .playmath-cal-13 {
  left: 6300px;
  background-image: url(../img/m_cal_12.png);
  position: absolute;
  width: 505px;
  height: 284px;
  top: 0;
  background-size: cover;
  background-position: 50% 50%;
}

.frame .img {
  position: relative;
  width: 90px;
  height: 284px;
  left:150px;
  margin-right: -333.5px;
}
