@import url(https://fonts.googleapis.com/css2?family=Open+Sans:ital,wdth,wght@0,75..100,300..800;1,75..100,300..800&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Open+Sans:ital,wdth,wght@0,75..100,300..800;1,75..100,300..800&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Open+Sans:ital,wdth,wght@0,75..100,300..800;1,75..100,300..800&display=swap);
@font-face {
  font-family: "Futura LT Pro";
  font-style: light;
  font-weight: 200;
  src: local("Futura LT Pro"), url("../fonts/futura/FuturaLTPro-Light.ttf") format("truetype");
}
@font-face {
  font-family: "Futura LT Pro";
  font-style: normal;
  font-weight: 400;
  src: local("Futura LT Pro"), url("../fonts/futura/FuturaLTPro-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Futura LT Pro";
  font-style: bold;
  font-weight: 600;
  src: local("Futura LT Pro"), url("../fonts/futura/FuturaLTPro-Heavy.ttf") format("truetype");
}
@font-face {
  font-family: "Futura LT Pro";
  font-style: light;
  font-weight: 200;
  src: local("Futura LT Pro"), url("../fonts/futura/FuturaLTPro-Light.ttf") format("truetype");
}
@font-face {
  font-family: "Futura LT Pro";
  font-style: normal;
  font-weight: 400;
  src: local("Futura LT Pro"), url("../fonts/futura/FuturaLTPro-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Futura LT Pro";
  font-style: bold;
  font-weight: 600;
  src: local("Futura LT Pro"), url("../fonts/futura/FuturaLTPro-Heavy.ttf") format("truetype");
}
@font-face {
  font-family: "Futura LT Pro";
  font-style: light;
  font-weight: 200;
  src: local("Futura LT Pro"), url("../fonts/futura/FuturaLTPro-Light.ttf") format("truetype");
}
@font-face {
  font-family: "Futura LT Pro";
  font-style: normal;
  font-weight: 400;
  src: local("Futura LT Pro"), url("../fonts/futura/FuturaLTPro-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Futura LT Pro";
  font-style: bold;
  font-weight: 600;
  src: local("Futura LT Pro"), url("../fonts/futura/FuturaLTPro-Heavy.ttf") format("truetype");
}
.breadcrumb-item-bold {
  font-weight: 700;
}

.product-number-rating {
  border: unset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 0.5625rem;
  height: 1rem;
}
.product-number-rating .product-number {
  display: none;
}
.product-number-rating:not(:has(.TTteaser__star)) {
  display: none;
}
.product-number-rating .TTteaser__star svg {
  vertical-align: top;
}

.product-name-image,
.attributes-container,
.product-detail-add-to-cart {
  padding: 1rem 1.5rem 3rem;
}
@media (min-width: 992px) {
  .product-name-image,
  .attributes-container,
  .product-detail-add-to-cart {
    padding: 1.5rem 1.5rem 4rem;
  }
}
@media (min-width: 1200px) {
  .product-name-image,
  .attributes-container,
  .product-detail-add-to-cart {
    padding: 1.5rem 5.5rem 4rem;
  }
}

.description-and-detail {
  padding: 0;
}

.what-is-included-regular-pdp {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}
@media (min-width: 992px) {
  .what-is-included-regular-pdp {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .what-is-included-regular-pdp {
    padding-right: 5.5rem;
    padding-left: 5.5rem;
  }
}

.product-tabs {
  padding: 0rem 1.5rem;
}
@media (min-width: 992px) {
  .product-tabs {
    padding: 0rem 1.5rem;
  }
}
@media (min-width: 1200px) {
  .product-tabs {
    padding: 0rem 5.5rem;
  }
}

.product-breadcrumb .breadcrumb {
  border-top: unset;
}

.breadcrumb {
  padding-left: 0.5rem;
  padding-top: 0;
  padding-bottom: 3rem;
  gap: 0.75rem;
}
@media (min-width: 992px) {
  .breadcrumb {
    padding-bottom: 4rem;
  }
}
.breadcrumb a {
  color: inherit;
}
.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: inherit;
  content: "";
}
.breadcrumb .lucide-chevron-right {
  width: 1rem;
  height: 1rem;
}

.btn-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 992px) {
  .btn-container {
    margin-bottom: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.btn-container svg {
  width: 1rem;
  height: 1rem;
}

.primary-image .img-fluid {
  width: 100%;
  aspect-ratio: 16/9;
}

.add-to-wishlist-messages {
  z-index: 11;
}

.product-detail-badge {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1.5rem;
}
.product-detail-badge span {
  gap: 0.5rem;
}

.product-name {
  border-bottom: unset;
  margin-bottom: 1rem;
  font-size: 2.5rem;
  line-height: 3rem;
  font-weight: 800;
}
@media (min-width: 992px) {
  .product-name {
    margin-bottom: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .product-name {
    font-size: 3.5rem;
    line-height: 4.25rem;
  }
}

.attributes {
  padding: 0;
}

.product-variation-attributes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.product-variation-attributes:has(+ .view-all-dates-cta) {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom-width: 1px;
  border-bottom-style: dashed;
}
@media (min-width: 992px) {
  .product-variation-attributes:has(+ .view-all-dates-cta) {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: unset;
  }
}
@media (min-width: 992px) {
  .product-variation-attributes {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.product-variation-attributes .attribute {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.product-variation-attributes .attribute.tuition {
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .product-variation-attributes .attribute {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-right: 2rem;
    margin-bottom: 0;
  }
}
.product-variation-attributes .label {
  font-weight: bold;
  width: 40%;
}
@media (min-width: 992px) {
  .product-variation-attributes .label {
    margin-bottom: 1rem;
    width: unset;
  }
}
.product-variation-attributes .note,
.product-variation-attributes .label,
.product-variation-attributes .value {
  font-size: 1rem;
  line-height: 1.375rem;
}
.product-variation-attributes .value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
}
.product-variation-attributes svg {
  width: 1.5rem;
  height: 1.5rem;
  stroke-width: 1px;
}
.product-variation-attributes .value,
.product-variation-attributes .note {
  padding-left: 1rem;
  width: 60%;
}
@media (min-width: 992px) {
  .product-variation-attributes .value,
  .product-variation-attributes .note {
    padding-left: 0;
    width: unset;
  }
}
.product-variation-attributes .note {
  margin-top: 0.5rem;
  margin-left: auto;
}
@media (min-width: 992px) {
  .product-variation-attributes .note {
    margin-left: 0;
  }
}

.attributes-container {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.nav.nav-tabs {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.prices-add-to-cart-actions {
  position: relative;
  z-index: unset;
}

.view-all-dates-cta {
  background-color: transparent;
  padding: 0.95rem 0.75rem;
  line-height: 1rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  border-radius: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
}
@media (min-width: 992px) {
  .view-all-dates-cta {
    margin-top: 1.625rem;
  }
}
.view-all-dates-cta svg {
  width: 1rem;
  height: 1rem;
}

.tab-selectors .cart-and-ipay,
.product-detail-add-to-cart .cart-and-ipay {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  margin: 0;
  -webkit-box-shadow: 2px -2px 4px 0 #545759;
          box-shadow: 2px -2px 4px 0 #545759;
  border-radius: 0;
  padding: 0;
  background-color: #fff;
}
@media (min-width: 992px) {
  .tab-selectors .cart-and-ipay,
  .product-detail-add-to-cart .cart-and-ipay {
    position: relative;
    background-color: unset;
    -webkit-box-shadow: unset;
            box-shadow: unset;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    z-index: unset;
    margin-top: 1rem;
    margin-bottom: 1rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 18.25rem;
  }
}

.cart-and-ipay .notify-me,
.cart-and-ipay .view-cart-link,
.cart-and-ipay .partner-link,
.cart-and-ipay .add-to-cart-msee {
  padding: 1.45rem 0.75rem;
  line-height: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  border-radius: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  width: 100%;
  font-weight: bold;
  white-space: nowrap;
}
@media (min-width: 992px) {
  .cart-and-ipay .notify-me,
  .cart-and-ipay .view-cart-link,
  .cart-and-ipay .partner-link,
  .cart-and-ipay .add-to-cart-msee {
    padding: 0.925rem 0.75rem;
  }
}
.cart-and-ipay .notify-me svg,
.cart-and-ipay .view-cart-link svg,
.cart-and-ipay .partner-link svg,
.cart-and-ipay .add-to-cart-msee svg {
  width: 1rem;
  height: 1rem;
}
.cart-and-ipay .view-cart-link {
  display: none;
}
.cart-and-ipay.product-in-cart .view-cart-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.cart-and-ipay.product-in-cart .add-to-cart-msee {
  display: none;
}

.product-eeu-text {
  color: inherit;
  font-family: "Open Sans", -apple-system, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 0.875rem;
  letter-spacing: 0.00375rem;
}

.product-eeu-credits svg {
  width: 1rem;
  height: 1rem;
}

.ratings-container {
  margin-bottom: 1.5625rem;
}

.TTteaser__read-reviews {
  display: none;
}

.ratings {
  margin-top: 0;
  background-color: unset;
  padding: 0;
}

.average-rating {
  font-family: "Open Sans", -apple-system, sans-serif;
  margin-right: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1rem;
}
.average-rating:empty {
  display: none;
}

.product-tab-wrapper {
  border-bottom: 1px solid #ccc;
}

.theme-color-one-container {
  background-color: var(--product-theme-color-one);
  color: var(--product-text-color);
}

.product-detail-badge .newBadge {
  position: relative;
  font-family: "Open Sans", -apple-system, sans-serif;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 16.8px */
  letter-spacing: 0.06px;
  text-transform: uppercase;
  padding: 0.1875rem 0.5rem;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  border: 0.09375rem solid var(--product-text-color, #DE99A4);
}
.product-detail-badge .newBadge:hover {
  opacity: 0.5;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.product-detail-badge .coming-soonBadge {
  position: relative;
  font-family: "Open Sans", -apple-system, sans-serif;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 16.8px */
  letter-spacing: 0.06px;
  text-transform: uppercase;
  padding: 0.1875rem 0.5rem;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  border: 0.09375rem solid var(--product-text-color, #909EB5);
}
.product-detail-badge .coming-soonBadge:hover {
  opacity: 0.5;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.breadcrumb-home {
  color: var(--product-text-color);
}

.product-name-image .TTteaser__icon--full,
.product-name-image .TTteaser__icon--empty {
  fill: var(--product-text-color) !important;
  stroke: var(--product-text-color) !important;
}
.product-name-image .TTteaser__icon--half {
  stroke: var(--product-text-color) !important;
  color: var(--product-text-color) !important;
}

.view-all-dates-cta {
  color: var(--product-theme-color-one) !important;
  border: 1px solid var(--product-theme-color-one);
}

.notify-me,
.view-cart-link,
.partner-link,
.add-to-cart-msee {
  background-color: var(--product-theme-color-one);
  color: var(--product-text-color) !important;
}

.theme-color-two-container {
  background-color: var(--product-theme-color-two);
}

.product-variation-attributes {
  border-color: var(--product-theme-color-one);
}

.product-variation-attributes .label {
  color: var(--product-theme-color-one);
}

.product-detail .ratings-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.product-detail:not(:has(.TTteaser__star)):not(:has(.product-eeu-heading)) .ratings-container {
  display: none;
}
@media (min-width: 992px) {
  .product-detail .product-name-column {
    padding-right: 2rem;
  }
}
@media (min-width: 992px) {
  .product-detail .product-image-column {
    padding-left: 2rem;
  }
}
.product-detail .attributes-container:not(:has(.product-variation-attributes *)) {
  display: none;
}
.product-detail .add-to-wish-list:hover,
.product-detail .btn-request-info:hover,
.product-detail .btn-brochure:hover,
.product-detail .view-all-dates-cta:hover {
  background-color: initial;
  color: inherit;
  border-color: initial;
}

.bundle-detail .prices {
  text-align: left;
  padding-top: 1rem;
  padding-bottom: 1.5rem;
  border-top: 1px solid var(--product-text-color);
}
@media (min-width: 992px) {
  .bundle-detail .prices {
    padding-bottom: 1.5rem;
  }
}
.bundle-detail .prices .price {
  color: inherit;
}
.bundle-detail .prices .price .strike-through {
  color: inherit;
  margin-right: 0;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.375rem;
}
.bundle-detail .prices .price > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.bundle-detail .prices .price del {
  text-decoration: none;
}
.bundle-detail .prices .sales {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  font-size: 1.5rem;
  line-height: 1.8125rem;
}
@media (min-width: 992px) {
  .bundle-detail .prices .sales {
    font-size: 2rem;
    line-height: 2.375rem;
  }
}
.bundle-detail .prices .discount-percentage {
  font-size: 1rem;
  line-height: 1.375rem;
  font-weight: 500;
}

.product-name-column a.btn-brochure,
.product-name-column .btn-request-info,
.product-name-column .add-to-wish-list {
  color: inherit;
  border-color: inherit;
  border-radius: 1.5px;
  line-height: 1rem;
  font-size: 1rem;
  letter-spacing: -0.24px;
  font-weight: bold;
  padding: 0.9375rem 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  height: 100%;
  text-decoration: none;
}
.product-name-column a.btn-brochure svg,
.product-name-column .btn-request-info svg,
.product-name-column .add-to-wish-list svg {
  min-width: 1rem;
}
.product-name-column a.btn-brochure:focus,
.product-name-column .btn-request-info:focus,
.product-name-column .add-to-wish-list:focus {
  -webkit-box-shadow: 0 0 0 0.2rem #de99a4;
          box-shadow: 0 0 0 0.2rem #de99a4;
}
.product-name-column .add-to-wish-list {
  fill: transparent;
}
.product-name-column .add-to-wish-list .wishlist-saved {
  display: none;
}
.product-name-column .add-to-wish-list.filled {
  fill: currentcolor;
}
.product-name-column .add-to-wish-list.filled .wishlist-saved {
  display: block;
}
.product-name-column .add-to-wish-list.filled .wishlist-save {
  display: none;
}
.product-name-column .add-to-wish-list.filled svg {
  fill: currentcolor;
}
.product-name-column .add-to-wish-list:disabled:hover, .product-name-column .add-to-wish-list:disabled {
  color: inherit;
  border-color: inherit;
}

.nav-container {
  padding: 0rem 1.5rem;
}
@media (min-width: 992px) {
  .nav-container {
    padding: 0rem 1.5rem;
  }
}
@media (min-width: 1200px) {
  .nav-container {
    padding: 0rem 5.5rem;
  }
}

.product-detail-add-to-cart {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 0;
  padding-bottom: 0;
  border-bottom: 1.5px solid #e2e3e4;
}
.product-detail-add-to-cart .cart-and-ipay {
  margin-left: auto;
}

.storepage:has(.tab-selectors .cart-and-ipay) .product-detail-add-to-cart {
  display: none;
}

.recommendations {
  background-color: #f3f2f1;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.recommendations .recommendations-container {
  padding: 3rem 1.5rem;
}
@media (min-width: 992px) {
  .recommendations .recommendations-container {
    padding: 6rem 1.5rem;
  }
}
@media (min-width: 1200px) {
  .recommendations .recommendations-container {
    padding: 6rem 5.5rem;
  }
}
.recommendations .recommendations-container .col-6.col-sm-3:has(.product[data-pid=null]) {
  display: none;
}
.recommendations .title {
  color: #222930;
  font-family: "Futura LT Pro", -apple-system, sans-serif;
  font-size: 2rem;
  font-weight: 800;
  line-height: 2.4rem;
  letter-spacing: 0.04rem;
  margin-bottom: 2rem;
  text-align: left !important;
}
@media (min-width: 992px) {
  .recommendations .title {
    font-size: 2.5rem;
    line-height: 3rem;
    letter-spacing: 0.05rem;
    margin-bottom: 2.5rem;
  }
}

.swiper-slide:has(.product[data-pid=null]) {
  display: none;
}
.swiper-slide .productTile__course__title {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.prices-add-to-cart-actions .cart-and-ipay {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.product-name-column .add-to-wish-list,
.product-name-column .btn-request-info,
.product-name-column .btn-brochure,
.add-to-cart-msee,
.partner-link,
.notify-me,
.view-all-dates-cta,
.view-cart-link {
  position: relative;
}
.product-name-column .add-to-wish-list:hover::after,
.product-name-column .btn-request-info:hover::after,
.product-name-column .btn-brochure:hover::after,
.add-to-cart-msee:hover::after,
.partner-link:hover::after,
.notify-me:hover::after,
.view-all-dates-cta:hover::after,
.view-cart-link:hover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  pointer-events: none;
  z-index: 0;
}
.product-name-column .add-to-wish-list:hover span,
.product-name-column .add-to-wish-list:hover .lucide,
.product-name-column .btn-request-info:hover span,
.product-name-column .btn-request-info:hover .lucide,
.product-name-column .btn-brochure:hover span,
.product-name-column .btn-brochure:hover .lucide,
.add-to-cart-msee:hover span,
.add-to-cart-msee:hover .lucide,
.partner-link:hover span,
.partner-link:hover .lucide,
.notify-me:hover span,
.notify-me:hover .lucide,
.view-all-dates-cta:hover span,
.view-all-dates-cta:hover .lucide,
.view-cart-link:hover span,
.view-cart-link:hover .lucide {
  position: relative;
  z-index: 1;
}

@media (max-width: 768.98px) {
  .mit-footer-wrapper .mit-footer-content {
    padding-bottom: calc(var(--header-height) + 15px);
  }
}
