/**
 * Public CSS
 */

mark {
  background-color: #09e1c0;
  color: #fff;
}

#top-menu .btn-first,
#top-menu .btn-last {
  padding-right: 0 !important;
}

#top-menu .btn a,
a.btn-header-free {
  border: solid 1px;
  border-radius: 0.35rem;
  color: #09e1c0 !important;
  margin-top: -0.25rem;
}

#top-menu .btn-solid a,
a.btn-header-free {
  background: #09e1c0 !important;
  border-color: #09e1c0 !important;
  color: white !important;
}

/* #top-menu .current-menu-item a {
  text-decoration: underline;
} */

/* #top-menu .current-menu-item a, */
#top-menu .btn-courses a {
  background: #7272ff !important;
  border-color: #7272ff !important;
  color: white !important;
}

#top-menu .btn-trial a,
a.btn-header-free {
  background: #2ea3f2 !important;
  border-color: #2ea3f2 !important;
  color: white !important;
}

#top-menu .btn-first a {
  margin-top: 1rem;
  border-radius: 0.35rem 0.35rem 0 0;
}

#top-menu .btn-first+.btn-last a {
  border-radius: 0 0 0.35rem 0.35rem;
}

@media (min-width: 980px) {

  #top-menu .btn a,
  #top-menu .current-menu-item a {
    padding: 0.35rem 0.5rem !important;
  }

  #top-menu .btn-first a {
    border-radius: 0.35rem 0 0 0.35rem;
    margin-top: 0;
  }

  #top-menu .btn-first+.btn-last a {
    margin-left: -0.25rem;
    border-radius: 0 0.35rem 0.35rem 0;
  }
}

html body .et_pb_newsletter_button,
html body .button {
  color: #ffffff !important;
  cursor: pointer;
  display: inline-block;
  border: solid 10px #09e1c0 !important;
  border-radius: 100px !important;
  letter-spacing: 1px;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 0.25em 0.7em !important;
  background-color: #09e1c0 !important;
  transition: all 300ms ease 0ms;
  text-decoration: none !important;
}

html body .et_pb_newsletter_button:hover,
html body .button:hover {
  letter-spacing: 2px !important;
  text-decoration: none !important;
}

.button.wc-forward,
.button.alt,
#wp-submit {
  background-color: #7272ff !important;
  border: solid 10px #7272ff !important;
}

.button:hover {
  /* letter-spacing: 2px!important; */
}

.button::after {
  display: none !important;
}

.with-icon::after,
.button.button-icon::after,
#wpmc-next::after,
#wpmc-skip-login::after {
  content: "";
  display: inline-block !important;
  margin-left: 0.75em;
  line-height: inherit;
  opacity: 1;
  font-size: inherit;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.25em 0 0.25em 0.4em;
  border-color: transparent transparent transparent currentColor;
  vertical-align: middle;
  position: relative;
  bottom: 2px;
}

#wpmc-prev:hover {
  left: 0 !important;
}

#wpmc-prev::before,
#wpmc-prev:hover::before {
  content: "" !important;
  left: 0 !important;
  display: inline-block !important;
  margin-right: 0.75em;
  line-height: inherit;
  opacity: 1 !important;
  font-size: inherit !important;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.25em 0.4em 0.25em 0;
  border-color: transparent currentColor transparent transparent;
  vertical-align: middle;
  position: relative !important;
  bottom: 2px;
}

.button-trial-login {
  display: inline-block;
  margin-top: 1rem;
}

#coupon_code {
  background-color: white !important;
  border: solid 1px #ccc !important;
  color: #555 !important;
  height: 55px;
  font-size: 16px !important;
}

#coupon_code::placeholder {
  color: #777 !important;
  opacity: 1;
  /* Firefox */
}

.col2-set+h3,
.wpmc-step-item .other-info-checkout-fields h3 {
  margin-top: 1em;
}

/* Hide update cart button (as you can't update qty) */
.woocommerce button[name="update_cart"],
.woocommerce input[name="update_cart"] {
  display: none !important;
}

/* Remove the remove button on bundles as you can't remove a bundle */
.coupon-bundle .woocommerce-remove-coupon {
  display: none;
}

/* Hide view cart button on cart page as it's pointless */
.woocommerce-cart .woocommerce-notices-wrapper .button {
  display: none !important;
}

.woocommerce-form-login-toggle a,
.woocommerce-form-coupon-toggle a {
  text-decoration: underline;
}

/* Align social login buttons center */
body div.nsl-container-block[data-align="left"] .nsl-container-buttons {
  align-items: center;
}

/* Login modal */
body .learndash-wrapper .ld-modal-heading {
  display: none;
}

body .learndash-wrapper .ld-login-modal {
  margin-top: 100px;
}

body .learndash-wrapper .ld-modal {
  transform: translateX(-50%);
}

body .learndash-wrapper .ld-login-modal .ld-login-modal-form .login-username::before,
body .learndash-wrapper .ld-login-modal .ld-login-modal-form .login-password::before {
  top: 1.55em;
  font-size: 1.2em;
  line-height: 2;
  vertical-align: middle;
}

body form#loginform p {
  font-size: 1rem;
  margin: 0;
}

body form#loginform label {
  font-size: 0.8em;
}

body form#loginform .input {
  border-width: 1px;
  font-size: inherit;
  padding: 0.5em 1em 0.5em 2em;
  max-width: 100%;
  margin: 0;
}

.learndash-wrapper-login-modal {
  position: relative;
  top: 0;
  transition: all ease 100ms 50ms;
}

.ld-modal-open {
  top: 100px;
}

.learndash-wrapper-login-modal.learndash-wrapper.ld-modal-closed {
  top: 0;
  display: block !important;
  visibility: hidden;
}

.ld-tabs-content a:not(.btn) {
  font-weight: bold;
}

.ld-tabs-content a:not(.btn):hover {
  text-decoration: underline;
}

/* Typography */
body .course-index a,
body .et_pb_row p a,
body .et_pb_row li a {
  color: inherit;
  font-weight: bold;
  text-decoration: underline;
}

body .et_pb_text .et_pb_text_inner h2 {
  font-size: 32px;
}

.n5-hr {
  border: 0;
  background-color: #ccc;
  height: 1px;
  margin: 40px 0;
}

.n5-account-heading {
  font-size: 24px;
  font-weight: normal !important;
  margin-bottom: 10px;
  line-height: 1.5;
}

.n5-submit {
  margin-top: 15px;
}

/* Shortcodes */
.subscription {
  line-height: 1;
}

.subscription.align-center {
  text-align: center;
}

.subscription.align-left {
  text-align: left;
}

.subscription.align-right {
  text-align: right;
}

.subscription.sm {
  font-size: 1.5em;
}

.subscription.md {
  font-size: 2em;
}

.subscription.lg {
  font-size: 3em;
}

.subscription.xl {
  font-size: 4em;
}

.subscription span {
  font-weight: bold;
  position: relative;
}

.subscription sup,
.subscription sub {
  font-size: 0.35em;
}

.subscription sup {
  bottom: 1.5em;
}

.subscription sub {
  top: 0.3em;
}

.subscription.crossed-out {
  opacity: 0.75;
}

.subscription.crossed-out span::after {
  border-top: 0.16em solid #d00;
  content: "";
  display: inline-block;
  left: -0.15em;
  right: -0.15em;
  margin-top: -0.1em;
  position: absolute;
  transform: rotate(-28deg);
  top: 50%;
}

/* Price table tweaks */
.et_pb_pricing_heading {
  display: flex;
  flex-direction: column;
}

.et_pb_pricing_heading .et_pb_best_value {
  order: 1;
}

.et_pb_pricing_heading .et_pb_pricing_title {
  order: 2;
}

.et_pb_pricing_heading .et_pb_best_value {
  margin-top: -1.2rem;
}

/* Course tweaks */
.admin-bar .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content {
  padding-top: 3em;
}

.ld-focus-content ul {
  list-style-type: disc;
}

/* custom list */
.n5-check-list ul {
  padding: 0 !important;
}

@media (min-width: 980px) {
  .n5-check-list ul {
    columns: 2;
  }
}

@media (min-width: 980px) {
  .n5-check-list.n5-check-list-single-column ul {
    columns: 1;
  }
}

.n5-check-list li {
  color: #7272ff;
  font-weight: bold;
  font-size: 1.25em;
  list-style: none;
  margin-bottom: 0.75em;
}

.n5-check-list li:before {
  background: #09e1c0;
  border-radius: 50%;
  color: white;
  content: "✓";
  display: inline-block;
  font-size: 1.2em;
  height: 1em;
  line-height: 1em;
  margin-right: 0.5em;
  padding: 0;
  text-align: center;
  width: 1em;
}

/* FAQs List */
body .faq-list ul {
  padding: 0;
  margin: 0;
}

.faq-block .faq-heading,
.faq-not-links-only .faq-question {
  color: #09e1c0;
}

.faq-links-only .faq-heading {
  color: #7272ff;
}

.faq-list li {
  list-style: none;
}

.faq-heading {
  font-weight: bold;
  margin-bottom: 0.25em;
}

.faq-not-links-only li {
  border: solid 1px #09e1c0;
  border-radius: 0.25em;
  margin-bottom: 1.5em;
  position: relative;
}

.faq-not-links-only .faq-question,
.faq-not-links-only .faq-answer {
  padding: 0.5rem 0.75rem;
}

.faq-not-links-only .faq-question {
  border-bottom: solid 1px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  padding-right: 2.5rem;
}

.faq-block {
  padding: 1em 0;
}

.faq-links-only .faq-block {
  border-top: solid 2px #ccc;
}

.course-index {
  margin-top: 1rem;
}

.course-index ul {
  padding-left: 0 !important;
}

.sfwd-lessons-course-index .ld-tab-content,
.sfwd-lessons-course-index-2 .ld-tab-content {
  margin-top: 3em;
}

input.course-index-search[type="text"],
input.course-index-search[type="text"]:focus,
input.faq-search[type="text"],
input.faq-search[type="text"]:focus {
  border: solid 2px #7272ff;
  border-radius: 0.25rem;
  font-size: 1rem;
  padding: 0.75em;
  margin-bottom: 1em;
  width: 100%;
}

input.faq-search[type="text"],
input.faq-search[type="text"]:focus {
  margin-bottom: 3em;
}

.course-index-search-match,
.faq-search-match {
  background-color: rgba(255, 183, 0, 0.4);
  border-radius: 0.5em 0;
  color: #333;
  position: relative;
  padding: 0;
}

.course-index-search-match::after,
.faq-search-match::after {
  background-color: rgba(255, 183, 0, 0.35);
  border-radius: 0 0.5em;
  content: "";
  display: block;
  top: -0.1em;
  left: -0.4em;
  right: -0.4em;
  height: 1.25em;
  text-decoration: none;
  position: absolute;
  transform: rotate(-2deg);
  z-index: 0;
}

.course-index-search-hidden,
.faq-search-hidden {
  display: none !important;
}

.faq-not-links-only .faq-question::after {
  background: #09e1c0;
  border-radius: 50%;
  color: white;
  content: "?";
  display: inline-block;
  font-size: 1em;
  height: 1.5em;
  line-height: 1.5em;
  padding: 0;
  position: absolute;
  right: 0.5em;
  text-align: center;
  top: 0.5em;
  width: 1.5em;
}

.faq-back-to-top {
  color: #2ea3f2;
  margin: 1em 0;
  text-align: center;
  overflow: hidden;
}

body .faq-back-to-top a {
  text-decoration: none;
  position: relative;
}

.faq-back-to-top a::before,
.faq-back-to-top a::after {
  border-top: solid 2px;
  content: "";
  display: inline-block;
  position: absolute;
  opacity: 0.35;
  top: 50%;
  width: 1000%;
}

.faq-back-to-top a::before {
  left: 100%;
  margin-left: 0.5em;
}

.faq-back-to-top a::after {
  right: 100%;
  margin-right: 0.5em;
}

.faq-edit {
  background: #09e1c0;
  border-radius: 0.15em;
  color: #fff;
  font-size: 0.8em;
  padding: 0 0.5em;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 10;
}

/* Single FAQs */
.n5-single-faq h4 {
  font-weight: bold;
  line-height: 1.2;
}

.n5-single-faq-content {
  color: #8585bd;
}

.n5-single-faq-icon {
  padding-left: 4rem;
  position: relative;
}

.n5-single-faq-icon::before {
  content: "?";
  position: absolute;
  top: 0;
  left: 0;
  background: #09e1c0;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  vertical-align: middle;
  color: white;
}

/* Course Index */
body #et-boc .course-index ul {
  padding: 0;
  margin: 0;
}

.course-index li {
  list-style: none;
}

.course-index-topic-name-wrap {
  margin-top: 2em;
}

.course-index-topic ul {
  margin-top: 0 !important;
}

.course-index-topic-name {
  color: #09e1c0;
  font-weight: bold;
  margin: 0.5em 0 1em;
  overflow: hidden;
  position: relative;
}

.course-index-topic-name span {
  display: inline-block;
  position: relative;
}

.course-index-topic-name span::after {
  border-top: solid 2px;
  border-bottom: solid 2px;
  content: "";
  display: block;
  height: 2px;
  left: 100%;
  position: absolute;
  margin-left: 0.5em;
  opacity: 0.5;
  top: 50%;
  width: 100vw;
}

.course-index-heading {
  color: #7272ff;
  font-weight: bold;
}

.course-index-edit {
  background: #7272ff;
  border-radius: 0.3em;
  color: #fff;
  display: inline-block;
  font-size: 0.8em;
  padding: 0 0.5em;
  margin-bottom: 1em;
  z-index: 10;
}

/* Login button */
.n5-login,
.n5-login .learndash-wrapper {
  display: inline;
}

/* carousel */
.carousel {
  position: relative;
  padding-bottom: 100px;
  margin-bottom: 30px;
}

.carousel,
.carousel-nav,
.carousel-nav-btn {
  color: inherit;
}

.carousel-nav {
  color: #7272ff;
  bottom: 0;
  position: absolute;
  left: 0;
  right: 0;
}

.carousel-nav-btn {
  background: transparent;
  border: 0;
  cursor: pointer;
}

.carousel-nav-next,
.carousel-nav-prev {
  color: #7272ff;
  margin-top: -1.75rem;
  padding: 0;
  position: absolute;
  height: 0;
  width: 0;
}

.carousel-nav-next {
  right: 0.75em;
  top: 0.75em;
  border-top: 0.5em solid transparent;
  border-bottom: 0.5em solid transparent;
  border-left: 0.75em solid;
}

.carousel-nav-prev {
  left: 0.75em;
  top: 0.75em;
  border-top: 0.5em solid transparent;
  border-bottom: 0.5em solid transparent;
  border-right: 0.75em solid;
}

.carousel-dot-nav {
  left: 0;
  right: 0;
  position: absolute;
  text-align: center;
}

.carousel-dot {
  border: solid 2px;
  border-radius: 50%;
  font-size: 0;
  padding: 0;
  width: 0.75rem;
  height: 0.75rem;
  margin: 0 0.25rem;
  overflow: hidden;
  text-indent: -100rem;
}

.carousel-dot.active {
  background: currentColor;
}

.et_pb_section.carousel,
.et_pb_with_background .carousel-nav {
  color: #fff;
  bottom: 2rem;
}

/* .et_pb_section > .carousel-nav {
  bottom: 2rem;
  right: 2rem;
  left: 2rem;
} */

.et_pb_column_4_4.carousel {
  padding: 0 3.5em 3.5em;
}

/* .et_pb_column_4_4.carousel .carousel-dot-nav { bottom: 0; }
.et_pb_column_4_4.carousel .carousel-nav > .carousel-nav-next { right: 0; }
.et_pb_column_4_4.carousel .carousel-nav > .carousel-nav-prev { left: 0; } */

.carousel>div:first-child {
  display: flex;
  align-items: center;
  height: 100%;
  justify-content: center;
}

.button-inline {
  display: inline-flex;
}

@media (max-width: 979px) {
  .button-inline {
    flex-direction: column;
  }

  .learndash-wrapper .ld-content-actions .ld-button {
    margin-left: 0;
  }
}

.button-inline>*:not(:last-child) {
  margin-right: 1em;
}

.inline-buttons-center .button-inline {
  justify-content: center;
  width: 100%;
}

.n5-get-started {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  margin: 50px auto;
}

.n5-get-started h3 {
  color: #7272ff;
  font-size: 2.5rem;
  font-weight: bold;
}

.n5-get-started .button {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.n5-get-started .button:not(:last-child) {
  margin-right: 1rem;
}

@media (min-width: 980px) {
  .n5-get-started {
    flex-direction: row;
    align-items: center;
  }
}

.n5-footer-logo {
  max-width: 200px !important;
}

.n5-footer-klarna {
  margin-top: 1rem;
  line-height: 1;
  vertical-align: middle;
}

.n5-footer-klarna img {
  vertical-align: middle;
}

.n5-footer-klarna span {
  margin-left: 0.25rem;
  vertical-align: middle;
}

.n5-social-links {
  margin-top: 1rem;
}

.n5-social-links li {
  display: inline-block;
  margin-right: 0.25em;
  font-size: 1.15rem;
  line-height: 2rem;
}

.n5-social-links li a {
  background: #7272ff;
  color: #fff;
  padding: 0.25rem;
  border-radius: 50%;
  height: 1em;
  width: 1em;
  overflow: hidden;
  vertical-align: middle;
}

.n5-social-links .title {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.n5-footer-wrap {
  margin: 50px auto 0;
  max-width: 1024px;
  width: 80%;
}

.n5-footer-columns {
  border-top: #7272ff 4px solid;
  display: flex;
  flex-direction: column;
  padding: 25px 0;
}

.n5-footer-column {
  flex: 1;
  margin-right: 2rem;
  padding: 25px 0;
}

@media (min-width: 980px) {
  .n5-footer-columns {
    flex-direction: row;
    padding: 50px 0;
  }

  .n5-footer-column {
    padding: 0;
  }
}

.n5-footer-column-menu {
  font-size: 20px;
}

.n5-footer-column-menu .menu-item {
  margin-bottom: 0.5rem;
}

.n5-footer-last-column img {
  float: left;
  max-width: 90px !important;
  margin-right: 1rem;
}

.n5-footer-last-column h4 {
  color: #7272ff;
  font-weight: bold;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

html .n5-footer-last-column .button {
  background-color: #7272ff !important;
  border-color: #7272ff !important;
}

.n5-copyright-footer {
  border-top: #09e1c0 4px solid;
  padding: 50px 0;
  text-align: center;
}

.n5-copyright-footer p {
  display: inline-block;
}

.n5-footer a {
  color: inherit;
  font-weight: bold;
}

.n5-footer a:hover {
  text-decoration: underline;
}

/* Inline Menu */
.n5-inline-menu {
  display: inline;
  margin: 0;
}

.n5-inline-menu li {
  display: inline;
  margin: 0;
}

.n5-inline-menu li::before {
  content: " | ";
}

@media (max-width: 979px) {
  .n5-inline-menu li:first-child:before {
    display: none;
  }

  #menu-footer-menu {
    display: block;
  }
}

/* Dual column Menu */
.n5-dual-column-menu {
  columns: 2;
}

/* Footer Social Icons */
.n5-social-icons.et_pb_social_media_follow li a.icon {
  background: #7272ff !important;
  border-radius: 50%;
  text-decoration: none;
}

.n5-social-icons.et_pb_social_media_follow li.et_pb_social_icon a.icon::before {
  color: white;
}

.n5-quote {
  padding-right: 0.75em;
  position: relative;
}

.n5-quote-purple::before,
.n5-quote-purple::after {
  color: #7272ff;
}

.n5-quote-green::before,
.n5-quote-green::after {
  color: #09e1c0;
}

.n5-quote::before,
.n5-quote::after {
  color: #09e1c0;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight: bold;
  opacity: 0.5;
  font-size: 5em;
  line-height: 1;
  position: absolute;
  z-index: -1;
}

.n5-quote p {
  padding: 0 1em;
}

.n5-quote::before {
  content: "“";
  top: -0.25em;
  left: 0;
}

@media (min-width: 980px) {
  .n5-quote::before {
    left: -0.25em;
  }

  .n5-quote p {
    padding: 0 0 1em;
  }
}

.n5-quote::after {
  content: "”";
  bottom: -0.35em;
  right: 0;
}

/* Search index */
.from-index #et-boc,
.from-index-targeted .from-index-target {
  position: relative;
}

.from-index #et-boc::before,
.from-index-targeted .from-index-target::before {
  background: yellow;
  border: solid 1px #444;
  border-radius: 1em;
  content: "";
  display: block;
  position: absolute;
  top: -1em;
  right: -1em;
  bottom: -1em;
  left: -1em;
  opacity: 0.15;
  pointer-events: none;
  z-index: 10;
}

/* Video tab with aspect ratio */
.video-tab-wrapper {
  position: relative;
}

.video-tab-content {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.video-tab-content iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.n5-links-back {
  margin-top: 1em;
}

.n5-links-back p {
  margin-bottom: 1em;
}

.n5-links-back h4 {
  font-size: 0.85rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 0;
}

.n5-links-back ul {
  margin-top: 0 !important;
  padding-left: 0 !important;
  list-style-type: none;
}

.ld-tab-content .n5-links-back-video ul {
  margin-left: 1.2em !important;
}

.ld-tab-content .n5-links-back-video li {
  list-style: decimal;
}

/* Modify registration in learndash modal */
body .ld-login-modal-register .ld-button,
body .ld-login-modal-register .ld-modal-text {
  display: none !important;
}

body .learndash-wrapper .ld-modal {
  max-width: 674px !important;
}

.ld-login-modal-branding img {
  max-width: 220px !important;
}

/* body .learndash-wrapper .ld-modal-closer { color: #7272ff !important; } */
.custom-register h3,
.custom-register p {
  /* color: #fff; */
  margin-bottom: 0;
  line-height: 1.5;
}

.custom-register h3 {
  font-size: 1rem;
  font-weight: bold;
}

.custom-register p {
  font-size: 0.85rem;
  margin-bottom: 1rem !important;
}

.custom-register .button {
  background: #09e1c0 !important;
  display: inline-block;
  border: 10px solid #09e1c0 !important;
}

/* Woocommerce */

.woocommerce mark {
  background-color: transparent;
  color: inherit;
}

.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
  border-radius: 0.25em;
  font-size: 14px !important;
  padding: 0.25em 0.5em !important;
}

.woocommerce-notices-wrapper .button {
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  margin: 0 0.5em !important;
  text-decoration: underline !important;
  font-size: inherit !important;
}

.woocommerce-MyAccount-navigation ul {
  padding: 0 !important;
  margin-bottom: 2em;
}

.woocommerce-MyAccount-navigation li {
  list-style: none;
  margin-bottom: 0.25em;
  margin-left: -0.5em;
}

.woocommerce-MyAccount-navigation li a {
  border-radius: 0.25em;
  color: inherit;
  display: block;
  padding: 0.15em 0.5em;
  text-decoration: none;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
  background-color: #09e1c0;
  color: white;
  text-decoration: none;
}

.woocommerce-order-details {
  margin-top: 1em;
}

.woocommerce-thankyou-order-received {
  margin-bottom: 2rem;
  font-size: 1.2em;
}

/* Remove T&Cs as we have our own checkboxes*/
.woocommerce-terms-and-conditions-wrapper {
  display: none !important;
}

body .woocommerce form .form-row .input-checkbox {
  display: inline-block;
}

/* Hide stuff */
.woocommerce p.order-again,
.woocommerce .woocommerce-customer-details,
div.woocommerce-Message.woocommerce-Message--info.woocommerce-info a.woocommerce-Button.button {
  display: none !important;
}

/* Upsell */
.upsell {
  background-color: #09e1c0;
  border-radius: 0.2em;
  color: white;
  font-size: 2em;
  padding: 1em;
  text-align: left;
}

.upsell-message {
  line-height: 1.2;
  margin-bottom: 1em;
}

.upsell-course {
  font-weight: bold;
  font-size: 0.75em;
  margin-bottom: 1em;
}

.upsell-course a {
  color: inherit;
  text-decoration: underline;
}

.upsell-course-wrapper+.upsell-course-wrapper {
  margin-top: 1.5em;
}

.button.upsell-button {
  background-color: #7272ff !important;
  border-color: #7272ff !important;
  margin: 0;
}

/* Hide course home link in LD focus menu */
body .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-user-menu-items a:first-child {
  display: none;
}

/* Forms */
.n5-form-error {
  border-left: solid 4px;
  padding-left: 0.5em;
  color: #b00;
  font-weight: bold;
  font-size: 0.9em;
  margin-bottom: 1.5em;
}

.n5-label {
  display: block;
  font-weight: bold;
}

.n5-form-field {
  margin-bottom: 0.2em;
  position: relative;
}

.n5-form-info {
  margin-bottom: 0.5em;
  line-height: 1.5;
  font-size: 0.8em;
  max-width: 40em;
}

.woocommerce .checkout .n5-form-info {
  padding-left: 3px;
  margin-bottom: 1em;
  margin-top: -0.5em;
}

.n5-form-intro {
  margin-bottom: 1em;
}

.n5-form-required {
  color: #b00;
}

.n5-recaptcha {
  margin: 0.5em 0;
}

.form-submitting {
  position: relative;
}

.form-submitting::after,
.form-submitting::before {
  content: "";
  pointer-events: none;
  position: absolute;
}

.form-submitting::before {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid #7272ff;
  border-color: #7272ff transparent #7272ff transparent;
  animation: lds-dual-ring 1.2s linear infinite;
  top: 50%;
  left: 50%;
  z-index: 11;
}

.form-submitting::after {
  background: #fff;
  opacity: 0.75;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
}

input.form-input.text {
  border: solid 1px #ddd;
  padding: 0.75em 1em;
  margin-bottom: 0.75em;
  font-size: 16px;
  position: relative;
  width: 100%;
}

.n5-password-toggle {
  font-weight: bold;
  font-size: 0.9em;
  padding: 0.2em 0;
  position: absolute;
  margin: 0 0.4em;
  bottom: 2em;
  right: 0.5em;
  text-transform: uppercase;
  line-height: 1;
}

.n5-lead {
  font-size: 1.2em;
  line-height: 1.5;
}

.n5-note {
  background-color: #f0f0f0;
  padding: 1.5em !important;
  font-size: 0.85em;
  margin-bottom: 1em;
  line-height: 1.5;
}

.n5-my-courses {
  margin-bottom: 2em;
}

.n5-my-courses .course+.course {
  border-top: 1px solid #ccc;
  padding-top: 3em;
  margin-top: 2em;
}

.n5-my-courses h3 {
  font-weight: bold;
  margin-bottom: 1em;
}

.n5-course-name {
  margin-bottom: 0.5em;
}

.n5-course-name a {
  background: #7272ff;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5em 1em;
  border-radius: 1.5em;
  margin-left: -0.5em;
  transition: all 250ms ease-in-out;
}

.n5-course-name a:hover {
  letter-spacing: 0.04em;
}

.n5-course-name.national-5-maths-past-paper-breakdown a,
.n5-course-name.past-paper-generator a {
  background: #09e1c0;
}

.n5-course-name.question-practice a {
  background: #2ea3f2;
}

.course-expired {
  border-bottom: #ccc 1px solid;
  padding-bottom: 2em;
  margin-bottom: 2em;
}

.course-expired .n5-course-name a {
  background: #d00;
}

.n5-my-courses .expires {
  font-size: 12px;
  border-radius: 0.25em;
  margin: 0.25em 0;
  display: inline-block;
}

.n5-my-courses h5 {
  color: #7272ff;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: bold;
  padding-bottom: 0;
  margin-top: 1em;
}

@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.n5-access-required {
  border: solid 1px #eee;
  padding: 2em;
  margin: 1em 0;
}

.n5-access-required-heading {
  color: #7272ff;
  font-weight: bold;
  position: relative;
  margin: 0 0 0.5em;
  padding: 0 0 0.5em;
}

.n5-access-required-heading::after {
  border-bottom: solid 4px;
  bottom: 0;
  color: #09e1c0;
  content: "";
  display: block;
  position: absolute;
  width: 1em;
}

.n5-access-required-buttons {
  margin-top: 1em;
}

.n5-access-required h3 {
  line-height: 1.4;
}

.n5-access-required-trial {
  margin-top: 1em;
}

body #et-top-navigation .et-cart-info {
  margin-top: 3px;
  margin-left: 14px;
  position: relative;
}

.n5-cart-count {
  background-color: #d00;
  border-radius: 50%;
  color: white;
  display: inline-block;
  font-size: 11px;
  font-style: normal;
  font-weight: bold;
  height: 1.2em;
  line-height: 1;
  padding: 0.1em 0.3em;
  position: absolute;
  right: 0.2em;
  top: -0.3em;
  vertical-align: middle;
  pointer-events: none;
}

.has-video .ld-lesson-title::after,
.has-video .ld-topic-title::after {
  margin-left: 0.5em !important;
  font-size: 1.1em;
  color: #8379cc;
}

.has-video .ld-lesson-title::after {
  position: relative;
  top: 2px;
}

.has-video .ld-lesson-title:after,
.has-video .ld-topic-title:after,
.n5-icon-video:before {
  line-height: inherit !important;
}

/* Make selected LD menu item bold */
body .learndash-wrapper .ld-course-navigation .ld-table-list.ld-topic-list .ld-table-list-item .ld-is-current-item .ld-topic-title {
  font-weight: bold;
}

.ld-tabs .ld-tab {
  border: 0;
}

.cart-contents-count {
  transition: all 0.5em ease-in-out;
}

.cart-contents-count-empty {
  display: none;
}

.et-pb-contact-message {
  border: solid 1px;
  background-color: #f0f0f0;
  border-radius: 0.5em;
  padding: 1em;
  margin-bottom: 2em;
}

.et-pb-contact-message ul {
  padding: 0 2em !important;
}

.et-pb-contact-message:empty,
.et-pb-contact-message ul:empty {
  display: none;
}

body .et_pb_contact p .et_contact_error {
  border: solid 1px #d00 !important;
}

/* Quiz */
.wpProQuiz_content .wpProQuiz_response {
  background-color: #fff !important;
  border: solid 1px #999 !important;
}

/* Swap order on mobile */
@media all and (max-width: 980px) {

  .swap-columns-on-mobile-wrapped .et_pb_row,
  .swap-columns-on-mobile {
    display: flex;
    flex-wrap: wrap;
  }

  .swap-columns-on-mobile-wrapped>.et_pb_row> :first-child,
  .swap-columns-on-mobile> :first-child {
    order: 2;
  }

  .swap-columns-on-mobile-wrapped>.et_pb_row> :last-child,
  .swap-columns-on-mobile> :last-child {
    order: 1;
  }
}

/* Add max-width for image columns */
.et_pb_image img {
  max-width: 400px;
  width: 100% !important;
}

/* Make course icons bigger */
html body .et_pb_blurb_position_left .et_pb_main_blurb_image {
  width: 64px;
}

.n5-video-popup {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.85);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s ease;
  z-index: 99999;
}

.show-n5-video-popup .n5-video-popup {
  opacity: 1;
  visibility: visible;
}

.show-n5-video-popup {
  overflow: hidden;
}

.n5-video-popup-wrap {
  width: 80%;
  max-width: 1200px;
  position: relative;
}

.n5-video-popup-content {
  background: #111;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56%;
  box-shadow: 0.15em 0.15em 1em 0.5em rgba(0, 0, 0, 0.5);
}

.n5-video-popup-wrap::after {
  color: white;
  content: "×";
  cursor: pointer;
  font-size: 3rem;
  display: inline-block;
  position: absolute;
  top: -1em;
  right: 0;
  transition: opacity ease-in-out 200ms;
  opacity: 0.8;
}

.n5-video-popup-wrap:hover::after {
  opacity: 1;
}

.n5-video-popup iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
}

.n5-legals h2 {
  color: #7272ff;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 2rem 0 1rem;
  padding: 0;
}

.n5-legals h2::after {
  background-color: #09e1c0;
  content: "";
  display: block;
  width: 2rem;
  height: 4px;
  margin: 0.75em 0;
}

.n5-legals h3 {
  font-size: 1.2rem;
  font-weight: bold;
  margin: 1rem 0 0.5rem;
  padding: 0;
}

#left-area .entry-content ol {
  list-style-type: decimal;
  list-style-position: inside;
  padding: 0 0 1em 0;
  line-height: 1.75;
}

#left-area .entry-content ol li {
  margin-bottom: 0.5em;
}

#left-area .entry-content ol ol {
  list-style-type: upper-alpha;
  padding-left: 1.5em;
}

.page-terms #left-area ol {
  counter-reset: item;
}

.page-terms #left-area ol li {
  display: block;
}

.page-terms #left-area ol li:before {
  content: counters(item, ".") ". ";
  counter-increment: item;
}

.n5-past-paper-links {
  font-weight: bold;
  text-align: center;
}

.n5-past-paper-link {
  margin-top: 1em;
}

.n5-past-paper-link a {
  color: #09e1c0;
  text-decoration: underline;
}

.n5-referral-code-copy-wrapper {
  border: solid 2px #2ea3f2;
  display: flex;
  align-items: center;
  margin: 1em 0;
  position: relative;
}

.n5-referral-code-copy {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  position: relative;
}

.n5-referral-code-copy-code {
  padding: 0.5em;
  font-weight: bold;
}

.n5-referral-code {
  border: none;
  font-weight: bold;
  font-size: 1.1rem;
  text-align: center;
}

.n5-referral-code-copy-button {
  background: #2ea3f2;
  color: #fff;
  font-weight: bold;
  padding: 0.5em 1em;
}

.n5-referral-code-copy-info {
  position: absolute;
  top: -2.5rem;
  background: #09e1c0;
  color: #fff;
  padding: 0.2em 0.5em;
  font-weight: bold;
  border-radius: 5px;
  display: none;
}

.n5-referral-code-copy-info::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #09e1c0 transparent transparent transparent;
  position: absolute;
  bottom: -10px;
  right: 50%;
  margin-right: -10px;
}

/* wpmc-prev
wpmc-next
wpmc-skip-login

button alt button-inactive wpmc-nav-button current {

} */
/* #wpmc-next:after {
  content: 'E';
  line-height: inherit;
  font-size: inherit !important;
  opacity: 1;
  margin-left: 0.3em;
  left: auto;
} */

.woocommerce-billing-fields {
  margin-bottom: 1em;
}

.woocommerce-billing-fields .input-text {
  background-color: #dae7f1 !important;
}

.woocommerce-billing-fields h3 {
  color: #2ea3f2 !important;
  font-weight: bold;
}

.woocommerce-account-fields .input-text {
  background-color: #dbdbf2 !important;
}

.woocommerce-account-fields h3 {
  color: #7272ff;
  font-weight: bold;
}

@media all and (min-width: 980px) {
  .checkout .wpmc-step-item.current.wpmc-step-billing {
    display: flex !important;
    gap: 20px;
  }

  .checkout .wpmc-step-billing>div {
    flex: 1;
  }
}

.n5-other-pages-archive-header {
  background-blend-mode: overlay;
  background-image: url(https://national5.com/wp-content/uploads/2019/09/coding-background-texture.jpg), linear-gradient(180deg, #474ab6 0%, #9271f6 100%);
  color: #fff;
  padding: 150px 100px;
  margin-bottom: 50px;
  text-align: center;
}

.n5-other-pages-archive-header h1 {
  color: inherit;
  font-weight: 700;
  font-size: 42px;
  line-height: 1.3em;
  padding: 0;
}

.n5-other-pages-archive {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.n5-other-pages-archive .post {
  background-color: #7272ff;
  border-radius: 40px;
  padding: 1rem 2rem;
  margin: 1rem;
  min-height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 1.2rem;
  width: 300px;
}

.n5-other-pages-archive h2 {
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.2;
  color: #fff;
  padding: 0;
}

.n5-other-pages-archive a:hover {
  text-decoration: underline;
}

a.btn-header-free {
  display: none;
  float: left;
  margin-top: 1px;
  padding: 0 8px;
  position: relative;
  z-index: 10;
}

@media (max-width: 979px) {
  a.btn-header-free {
    display: block;
  }
}

@media (max-width: 979px) {
  #main-header .container {
    width: 90%;
  }

  #et-top-navigation {
    padding-left: 30px !important;
  }
}


/* Hide Login modal on checkout */
.woocommerce-checkout .ld-login-modal {
  display: none !important;
}

/* TEMP FIX: For lines disappearing on certain zoom levels. Tracked in: <https://github.com/KaTeX/KaTeX/issues/2491> */
.katex .mfrac .frac-line {
  border-bottom-width: 1px !important;
}