/*@import "https://unpkg.com/open-props";*/
@import "./fonts.min.css";
@import "./css/open-props.min.css";

/*@import "https://unpkg.com/open-props/gray-hsl.min.css";*/
/*@import "https://unpkg.com/open-props/purple-hsl.min.css";*/
/*@import "https://unpkg.com/open-props/choco-hsl.min.css";*/
/*@import url('https://fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400..700;1,400..700&display=swap');*/
:where(html) {
  --gray-0-hsl: 210 17% 98%;
  --gray-1-hsl: 210 17% 95%;
  --gray-2-hsl: 210 16% 93%;
  --gray-3-hsl: 210 14% 89%;
  --gray-4-hsl: 210 14% 83%;
  --gray-5-hsl: 210 11% 71%;
  --gray-6-hsl: 210 7% 56%;
  --gray-7-hsl: 210 9% 31%;
  --gray-8-hsl: 210 10% 23%;
  --gray-9-hsl: 210 11% 15%;
  --gray-10-hsl: 214 14% 10%;
  --gray-11-hsl: 216 16% 6%;
  --gray-12-hsl: 210 40% 2%
}

#main-content {
  min-height: 70vh;
}

@font-face {
  font-family: 'icons';
  src: url('fonts/icons.eot?89356505');
  src: url('fonts/icons.eot?89356505#iefix') format('embedded-opentype'),
    url('fonts/icons.woff2?89356505') format('woff2'),
    url('fonts/icons.woff?89356505') format('woff'),
    url('fonts/icons.ttf?89356505') format('truetype'),
    url('fonts/icons.svg?89356505#cryptofundia') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  speak: never;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  font-size: 120%;

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.et_fixed_nav #main-header {
  position: relative !important;
}

.et_pb_slide_menu_active.et_fixed_nav #main-header {
  position: static !important;
}

.full-width {
  width: 100%;
}


#animated-word-container {
  display: inline-block;
  position: relative;
  text-align: right;
  padding-right: 0.2em;
  background: #5235E8;
  color: white;
  padding: 5px;
  border-radius: 5px;
  margin: 0 5px;
}

#animated-word {
  display: inline-block;
    transition: opacity 1s ease-in-out;
}

.director-menu {
  background-color: #00ff003b;
    color: black;
    cursor: pointer;
}

.director-menu .menu-content {
  display: flex;
    /* Použijeme flexbox pro rozložení sloupců */
    justify-content: space-around;
    /* Rovnoměrně rozmístí položky */
    align-items: flex-start;
    /* Zarovná položky nahoru */
    padding: 10px 0;
  flex-wrap: wrap;
    /* Umožní zalomení na menších obrazovkách */
    gap: 20px;
    /* Mezera mezi sloupci */
}

.director-menu .menu-item {
  flex: 1;
    /* Každá položka zabere stejný prostor */
    min-width: 150px;
    /* Minimální šířka pro každý sloupec */
    text-align: center;
}

.membership-info {
  background-color: #90EE90;
    max-width: 150px;
    padding: 15px;
    border-radius: 8px;
}

.membership-info .status {
  letter-spacing: 1px;
    font-size: 120%;
}

.menu-item a {
  text-decoration: underline;
  color: inherit;
    /* Použije barvu textu účastníka */
}

.director-menu.expanded .menu-content {
  display: flex;
    /* Zobrazí obsah, když je menu rozbaleno */
}

.icon-settings:before {
  content: '\e800';
}

.icon-portfolio:before {
  content: '\e801';
}

.icon-arrow_down:before {
  content: '\e802';
}

.icon-right_arrow:before {
  content: '\e803';
}

.icon-card:before {
  content: '\e804';
}

.icon-search:before {
  content: '\e805';
}

.icon-academy:before {
  content: '\e806';
}

.icon-notification:before {
  content: '\e807';
}

.icon-accounts:before {
  content: '\e808';
}

.icon-dollar-square:before {
  content: '\e809';
}

.icon-dashboard:before {
  content: '\e80a';
}

.icon-trading:before {
  content: '\e80b';
}

.icon-tick:before {
  content: '\e80c';
}

.icon-cross_eye:before {
  content: '\e80d';
}

.icon-eye:before {
  content: '\e80e';
}

.icon-star:before {
  content: '\e80f';
}

.icon-like:before {
  content: '\e810';
}

.icon-three_dots:before {
  content: '\e811';
}

.icon-plus:before {
  content: '\e812';
}

.icon-user:before {
  content: '\e813';
}

.icon-arrow_up:before {
  content: '\e814';
}

.icon-arrow_left:before {
  content: '\e815';
}

.icon-wallet:before {
  content: '\e816';
}

.icon-full-arrow-down:before {
  content: '\e817';
}

.icon-full-arrow-up:before {
  content: '\e818';
}

.icon-info:before {
  content: '\e819';
}

.icon-error:before {
  content: '\e81a';
}

.icon-up-down:before {
  content: '\e81b';
}

.icon-graduation-cap:before {
  content: '\e81e';
}


.icon-flash:before {
  content: '\e81c';
}

.icon-flag-filled:before {
  content: '\e81d';
}

.icon-chat:before {
  content: '\e81f';
}

.icon-location:before {
  content: '\e820';
}

.icon-trash-empty:before {
  content: '\e821';
}

.icon-pencil:before {
  content: '\e822';
}

.big-tick {
  font-size: 35px;
    border: 1px solid black;
    border-radius: 140px;
    display: inline-block;
    width: 62px;
    margin: 20px 0;
    height: 62px;
    line-height: 1.8;
}

.main-content a {
  color: #333;
  text-decoration: underline;
  font-size: 16px;
}

.classroom-url {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  column-gap: 2rem;

}

.security-code {
  font-size: var(--font-size-fluid-2);
    letter-spacing: 10px;
}


/* Magical embers effect */
#embers {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: transparent url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+ICA8Y2lyY2xlIGZpbGw9IiNGRkI4MDAiIGN4PSIyMCIgY3k9IjIwIiByPSIxLjUiLz4gIDxjaXJjbGUgZmlsbD0iI0ZGMzA0RSIgY3g9IjgwIiBjeT0iMjAiIHI9IjAuNSIvPiAgPGNpcmNsZSBmaWxsPSIjRkZDN0FGIiBjeD0iNTAiIGN5PSI1MCIgcj0iMSIvPiAgPGNpcmNsZSBmaWxsPSIjRkZCMjJBIiBjeD0iMjAiIGN5PSI4MCIgcj0iMC41Ii8+ICA8Y2lyY2xlIGZpbGw9IiNGRkE1MDAiIGN4PSI4MCIgY3k9IjgwIiByPSIxIi8+PC9zdmc+') repeat;
  background-size: 400px 400px;
  opacity: 0.6;
  animation: rise 20s linear infinite;
}

@keyframes rise {
  from {
    background-position: 0 0;
  }

  to {
    background-position: 0 -400px;
  }
}

/* Floating animation for the class icons */
@keyframes float {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-25px);
  }
}

.floating-icon {
  animation: float 8s ease-in-out infinite;
  width: 80px;
  height: 80px;
}

/* Staggered animation delays */
.floating-icon:nth-child(2) {
  animation-delay: 2s;
}

.floating-icon:nth-child(3) {
  animation-delay: 4s;
}

.floating-icon:nth-child(4) {
  animation-delay: 6s;
}

/* Glowing effect for the icons */
.icon-glow {
  filter: drop-shadow(0 0 15px rgba(255, 180, 90, 0.5));
}

.approval a {
  color: black;
    text-decoration: underline !important;
}

body a {
  color: #5235E8;
}

body.et_header_style_slide #page-container {
  overflow-x: hidden;
}

body .et_slide_in_menu_container {
  background-image: var(--gradient-17);
}

html {
  /* light */
  --brand-light: var(--orange-6);
  --text-1-light: var(--gray-8);
  --text-2-light: var(--gray-7);
  --surface-1-light: white;
  --surface-2-light: var(--gray-1);
  --surface-3-light: var(--gray-2);
  --surface-4-light: var(--gray-3);
  --surface-shadow-light: var(--gray-8-hsl);
  --shadow-strength-light: 2%;

  /* dark */
  --brand-dark: var(--orange-3);
  --text-1-dark: var(--gray-3);
  --text-2-dark: var(--gray-5);
  --surface-1-dark: var(--gray-12);
  --surface-2-dark: var(--gray-11);
  --surface-3-dark: var(--gray-10);
  --surface-4-dark: var(--gray-9);
  --surface-shadow-dark: var(--gray-12-hsl);
  --shadow-strength-dark: 80%;

  /* dim */
  --brand-dim: var(--orange-4);
  --text-1-dim: var(--gray-3);
  --text-2-dim: var(--gray-4);
  --surface-1-dim: var(--gray-8);
  --surface-2-dim: var(--gray-7);
  --surface-3-dim: var(--gray-6);
  --surface-4-dim: var(--gray-5);
  --surface-shadow-dim: var(--gray-9-hsl);
  --shadow-strength-dim: 20%;

  /* grape */
  --brand-grape: var(--purple-5);
  --text-1-grape: var(--purple-9);
  --text-2-grape: var(--purple-7);
  --surface-1-grape: var(--purple-0);
  --surface-2-grape: var(--purple-1);
  --surface-3-grape: var(--purple-2);
  --surface-4-grape: var(--purple-3);
  --surface-shadow-grape: var(--purple-12-hsl);
  --shadow-strength-grape: 2%;

  /* choco */
  --brand-choco: var(--choco-5);
  --text-1-choco: var(--choco-1);
  --text-2-choco: var(--choco-2);
  --surface-1-choco: var(--choco-12);
  --surface-2-choco: var(--choco-11);
  --surface-3-choco: var(--choco-10);
  --surface-4-choco: var(--choco-9);
  --surface-shadow-choco: 25deg 65% 11%;
  --shadow-strength-choco: 50%;
}

:root {
  color-scheme: light;

  /* set defaults */
  --brand: var(--brand-light);
  --text-1: var(--text-1-light);
  --text-2: var(--text-2-light);
  --surface-1: var(--surface-1-light);
  --surface-2: var(--surface-2-light);
  --surface-3: var(--surface-3-light);
  --surface-4: var(--surface-4-light);
  --surface-shadow: var(--surface-shadow-light);
  --shadow-strength: var(--shadow-strength-light);
}

@media (color-index: 48) {
  :root {
    color-scheme: dark;

    --brand: var(--brand-dark);
    --text-1: var(--text-1-dark);
    --text-2: var(--text-2-dark);
    --surface-1: var(--surface-1-dark);
    --surface-2: var(--surface-2-dark);
    --surface-3: var(--surface-3-dark);
    --surface-4: var(--surface-4-dark);
    --surface-shadow: var(--surface-shadow-dark);
    --shadow-strength: var(--shadow-strength-dark);
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;

    --brand: var(--brand-dark);
    --text-1: var(--text-1-dark);
    --text-2: var(--text-2-dark);
    --surface-1: var(--surface-1-dark);
    --surface-2: var(--surface-2-dark);
    --surface-3: var(--surface-3-dark);
    --surface-4: var(--surface-4-dark);
    --surface-shadow: var(--surface-shadow-dark);
    --shadow-strength: var(--shadow-strength-dark);
  }
}

body.light-theme {
  color-scheme: light;

  --brand: var(--brand-light);
  --text-1: var(--text-1-light);
  --text-2: var(--text-2-light);
  --surface-1: var(--surface-1-light);
  --surface-2: var(--surface-2-light);
  --surface-3: var(--surface-3-light);
  --surface-4: var(--surface-4-light);
  --surface-shadow: var(--surface-shadow-light);
  --shadow-strength: var(--shadow-strength-light);
}

body.dark-theme {
  color-scheme: dark;

  --brand: var(--brand-dark);
  --text-1: var(--text-1-dark);
  --text-2: var(--text-2-dark);
  --surface-1: var(--surface-1-dark);
  --surface-2: var(--surface-2-dark);
  --surface-3: var(--surface-3-dark);
  --surface-4: var(--surface-4-dark);
  --surface-shadow: var(--surface-shadow-dark);
  --shadow-strength: var(--shadow-strength-dark);
}

/*body.dim-theme {*/
/*  color-scheme: dark;*/

/*  --brand: var(--brand-dim);*/
/*  --text-1: var(--text-1-dim);*/
/*  --text-2: var(--text-2-dim);*/
/*  --surface-1: var(--surface-1-dim);*/
/*  --surface-2: var(--surface-2-dim);*/
/*  --surface-3: var(--surface-3-dim);*/
/*  --surface-4: var(--surface-4-dim);*/
/*  --surface-shadow: var(--surface-shadow-dim);*/
/*  --shadow-strength: var(--shadow-strength-dim);*/
/*}*/

/*body.grape-theme {*/
/*  color-scheme: light;*/

/*  --brand: var(--brand-grape);*/
/*  --text-1: var(--text-1-grape);*/
/*  --text-2: var(--text-2-grape);*/
/*  --surface-1: var(--surface-1-grape);*/
/*  --surface-2: var(--surface-2-grape);*/
/*  --surface-3: var(--surface-3-grape);*/
/*  --surface-4: var(--surface-4-grape);*/
/*  --surface-shadow: var(--surface-shadow-grape);*/
/*  --shadow-strength: var(--shadow-strength-grape);*/
/*}*/

/*body.choco-theme {*/
/*  color-scheme: light;*/

/*  --brand: var(--brand-choco);*/
/*  --text-1: var(--text-1-choco);*/
/*  --text-2: var(--text-2-choco);*/
/*  --surface-1: var(--surface-1-choco);*/
/*  --surface-2: var(--surface-2-choco);*/
/*  --surface-3: var(--surface-3-choco);*/
/*  --surface-4: var(--surface-4-choco);*/
/*  --surface-shadow: var(--surface-shadow-choco);*/
/*  --shadow-strength: var(--shadow-strength-choco);*/
/*}*/

* {
  box-sizing: border-box;
  margin: 0;
}

html {
  height: 100%;
  background-color: var(--gray-0);
  background-color: var(--surface-1);
  color: var(--gray-8);
  color: var(--text-1);
  accent-color: #333;
}

body,
.et_pb_section {
  min-height: 100%;
  /*font-family: 'Cabin', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif !important;*/
  font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif !important;
  padding: var(--size-6);
  align-content: center;
  justify-content: center;
  place-content: center;
  grid-gap: var(--size-6);
  gap: var(--size-6);
  background-color: var(--surface-1) !important;
}

.text-yellow-300 {
  color: rgb(253 224 71);
}

.text-purple-300 {
  color: rgb(216 180 254);
}

.text-green-300 {
  color: rgb(134 239 172);
}

.text-red-300 {
  color: rgb(252 165 165);
}

.justify-around {
  justify-content: space-around;
}

.page {
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(49, 28, 83, 0.9), #1a102c);
}

.logo_container svg {
  width: auto;
  transition: all 0.4s ease-in-out;
  margin-bottom: 0;
  max-height: 100%;
  display: inline-block;
  float: none;
  vertical-align: middle;
}

.page h1,
.page .et_pb_section:not(.et_pb_section_2) p,
.page .et_pb_section:not(.et_pb_section_2) p a {
  color: white;
}

.page h1,
.page h2,
.page h3,
.page h4,
.page h5,
.page h6 {
    color: white;
}

.page .et_pb_section_2 h2,
.page .et_pb_section_2 h4 {
  color: black;
}
.page .et_pb_section:not(.et_pb_section_2) {
  background: transparent !important;
}

main {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  grid-gap: var(--size-10);
  gap: var(--size-10);
}

section {
  display: grid;
  grid-gap: var(--size-6);
  gap: var(--size-6);
}

p {
  /*max-width: var(--size-content-1);*/
  font-size: var(--font-size-4);
  line-height: var(--font-lineheight-3);
}

header {
  display: inline-grid;
  grid-gap: var(--size-3);
  gap: var(--size-3);
}

/*#page-container form {*/
/*  display: flex;*/
/*  grid-gap: var(--size-5);*/
/*  gap: var(--size-5)*/
/*}*/

/*#page-container form > div {*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    grid-gap: var(--size-2);*/
/*    gap: var(--size-2);*/
/*  }*/

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: var(--size-fluid-1) !important;
}

.p-2 {
  padding: var(--size-fluid-2) !important;
}

.p-3 {
  padding: var(--size-fluid-3) !important;
}

.pl-3 {
  padding-left: var(--size-fluid-3) !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: var(--size-fluid-1) !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: var(--size-fluid-1) !important;
}

.mb-3 {
  margin-bottom: var(--size-fluid-3) !important;
}

.ml-3 {
  margin-left: var(--size-fluid-3) !important;
}

.mb-5 {
  margin-bottom: var(--size-fluid-5) !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: var(--size-fluid-1) !important;
}

.mt-2 {
  margin-top: var(--size-fluid-2) !important;
}
.mt-3 {
  margin-top: var(--size-fluid-3) !important;
}

.mt-5 {
  margin-top: var(--size-fluid-5) !important;
}

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

.surface-samples {
  display: grid;
  --size: var(--size-content-1);
  grid-template-columns: var(--size) var(--size);
  grid-auto-rows: var(--size);
  grid-gap: var(--size-5);
  gap: var(--size-5)
}

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

@media (max-width: 480px) {

  .surface-samples {
    --size: 40vw;
  }

}

.surface-samples>* {
  border-radius: var(--radius-3);
  display: grid;
  align-content: center;
  justify-content: center;
  place-content: center;
  font-size: var(--font-size-8);
  font-weight: var(--font-weight-2);
}

.text-samples {
  display: grid;
  grid-gap: var(--size-4);
  gap: var(--size-4)
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 900 !important;
  line-height: 1.2em !important;
}

.text-samples>h1 {
  font-size: var(--font-size-6);
  display: inline-flex;
  align-items: center;
  grid-gap: var(--size-3);
  gap: var(--size-3);
}

.brand {
  color: var(--orange-6);
  color: var(--brand);
  background-color: var(--orange-6);
  background-color: var(--brand);
}

.surface-1 {
  background-color: var(--gray-0);
  background-color: var(--surface-1);
  color: var(--gray-7);
  color: var(--text-2);
}

.surface-2,
.edd-blocks-form__cart,
#edd_cc_address,
body .edd-do-validate,
.edd-blocks__confirmation,
.edd-blocks__receipt,
.edd-blocks-receipt__items {
  background-color: var(--gray-1);
  background-color: var(--surface-2);
  color: var(--gray-7);
  color: var(--text-2);
}

#edd_cc_address,
body .edd-do-validate,
.edd-blocks-receipt__items {
  background-color: var(--cyan-1);
  background-image: var(--gradient-15);
}

.surface-3 {
  background-color: var(--gray-2);
  background-color: var(--surface-3);
  color: var(--gray-8);
  color: var(--text-1);
}

.surface-4 {
  background-color: var(--gray-3);
  background-color: var(--surface-4);
  color: var(--gray-8);
  color: var(--text-1);
}

.text-1 {
  color: var(--gray-8);
  color: var(--text-1)
}

p.text-1 {
  font-weight: var(--font-weight-2)
}

.text-2 {
  color: var(--gray-7);
  color: var(--text-2);
}

.swatch {
  display: inline-block;
  flex-shrink: 0;
  width: var(--size-8);
  height: var(--size-8);
  border-radius: var(--radius-round)
}

.swatch.text-1 {
  background-color: var(--gray-8);
  background-color: var(--text-1);
}

.swatch.text-2 {
  background-color: var(--gray-7);
  background-color: var(--text-2);
}

#et-main-area {
  position: relative;
  /*z-index: 99999;*/
  /*margin-top: 80px;*/
}

body.et_cover_background {
  position: relative;
  z-index: 1;
}

.user-menu,
.school-menu {
    background: #ffffff2b;
  cursor: pointer;
  padding: 5px;
  border-radius: var(--radius-2);
  position: absolute;
  right: 50px;
  top: 10px;
  min-width: 140px;
  max-width: 170px;
  z-index: 1;
  color: white;
  font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
}

.user-menu:before,
.school-menu:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  content: "";
  background: radial-gradient(141.53% 114.68% at 87.46% 55.27%, #9A7CFF 36.75%, rgba(14, 10, 162, 0) 100%);
  filter: blur(42px);
  border-radius: inherit;
  opacity: .85;
  transform: scale(1.05);
  mix-blend-mode: plus-lighter;
}
.school-menu {
  max-width: 200px;
}

.school-menu .icon-graduation-cap,
.school-menu .icon-error {
  font-size: 20px;
}

.user-menu a {
  color: white;
  display: inline-block;
  text-decoration: underline;
}

.user-menu>* {
  cursor: pointer;
  text-align: center;
}

.user-menu:hover .display-none,
.school-menu:hover .display-none {
  display: block !important;
}

.user-menu:hover .icon-arrow_down,
#edd-card-address-2-wrap,
.edd_purchase_receipt_files {
  display: none !important;
}

.user-menu .switcher-wrap .names p {
  font-size: var(--font-size-00);
}

.user-menu .switcher-wrap .names p:last-child {
  padding-right: 4px;
}

.expand-menu {
  text-align: center;
  color: white;
  font-size: 17px;
}

.school-menu {
  right: calc(50% - 90px);
  text-align: center;
  font-size: var(--font-size-fluid-0);
  z-index: 2;
  height: 58px;
  justify-content: center;
  display: flex;
  color: white;
}

.school-menu p {
  color: white;
  display: flex;
  align-items: center;
  height: 40px;
  justify-content: space-around;
  font-size: 14px;
  line-height: 1;
}

.school-menu p.prev {
  margin-top: 20px;
    font-size: 13px;
    cursor: pointer;
}

.school-menu p.prev:hover {
  text-decoration: underline;
}

.school-menu input[type=text] {
  margin: 15px 0;
  height: 45px;
  padding: 0 10px !important;
}

.school-menu .input-area .label {
  top: -2px;
}

.profile-switcher .input-area .label {
  top: -10px;
}
.school-menu:hover {
  height: auto;
  display: initial;
}

.ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.rad-shadow,
.school-menu:hover,
#edd_cc_address,
body .edd-do-validate,
.edd-blocks__confirmation,
.edd-blocks__receipt,
.edd-blocks-receipt__items,
.edd-blocks-orders__order {
  border: 1px solid hsl(var(--brand-hue) 10% 50% / 15%);
  box-shadow: var(--shadow-3);
    /* box-shadow:
    0 2.8px 2.2px hsl(var(--gray-8-hsl) / calc(2% + 3%)),
    0 6.7px 5.3px hsl(var(--gray-8-hsl) / calc(2% + 1%)),
    0 12.5px 10px hsl(var(--gray-8-hsl) / calc(2% + 2%)),
    0 22.3px 17.9px hsl(var(--gray-8-hsl) / calc(2% + 2%)),
    0 41.8px 33.4px hsl(var(--gray-8-hsl) / calc(2% + 3%)),
    0 100px 80px hsl(var(--gray-8-hsl) / 2%);
  box-shadow:
    0 2.8px 2.2px hsl(var(--surface-shadow) / calc(var(--shadow-strength) + 3%)),
    0 6.7px 5.3px hsl(var(--surface-shadow) / calc(var(--shadow-strength) + 1%)),
    0 12.5px 10px hsl(var(--surface-shadow) / calc(var(--shadow-strength) + 2%)),
    0 22.3px 17.9px hsl(var(--surface-shadow) / calc(var(--shadow-strength) + 2%)),
    0 41.8px 33.4px hsl(var(--surface-shadow) / calc(var(--shadow-strength) + 3%)),
    0 100px 80px hsl(var(--surface-shadow) / var(--shadow-strength));
      */
      }
      
      .profiles-list {
        gap: 1rem;
      }
      
      .profile-item {
        position: relative;
        cursor: pointer;
        padding: 10px 25px 10px 10px;
        border-radius: var(--radius-2);
      }
      
      .profile-item.active,
      .profile-item:hover {
        background-image: var(--gradient-3);
}

/* ----------switcher element----------- */
label.switch {
  width: 100%;
  background-color: rgba(0, 0, 0, .1);
  border-radius: var(--radius-2);
  position: relative;
  margin: 1.8rem 0 4rem 0;
  cursor: pointer;
}

.user-menu label.switch {
  margin: 5px 0;
  height: 1.8rem;
}

label.switch,
.toggle {
  height: 2.8rem;
  border-radius: 10px;
}

.toggle {
  position: absolute;
  width: 50%;
  background-color: #fff;
  box-shadow: 0 2px 15px rgba(0, 0, 0, .15);
  transition: transform .3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  height: calc(100% - 6px);
  margin: 3px;
}

.user-menu .switcher:checked+.switcher-wrap .dark,
.user-menu .switcher:not(:checked)+.switcher-wrap .light {
  color: #5235E8;
}


.add-class-form .switcher:checked+.switcher-wrap .dark,
.add-class-form .switcher:not(:checked)+.switcher-wrap .light {
  color: white;
}

.add-class-form .toggle {
  background-image: var(--gradient-17);
}

.names {
  font-weight: bolder;
  width: 100%;
  position: absolute;
  display: flex;
  justify-content: space-around;
  user-select: none;
  align-items: center;
  height: 100%;
}

.names p {
  width: 100%;
  text-align: center;
  font-size: var(--font-size-fluid-0);
  padding: 0;
  line-height: 1.2;
}

.switcher,
.display-none {
  display: none !important;
}

.flex {
  display: flex;
}
/* Toggle */
.switcher:checked+.switcher-wrap .toggle {
  transform: translateX(calc(100% - 6px));
}

.switcher-wrap {
  animation: var(--animation-scale-down) reverse,
    var(--animation-fade-out) reverse;
  animation-timing-function: var(--ease-squish-5);
  animation-duration: 0.5s;
}

/* ----------switcher element----------- */

.sel-school-wrapper {
  animation: slide-in-up 1s var(--ease-bounce-2);
}

.selected-school {
  background-color: var(--gray-2);
  padding: var(--size-fluid-1);
  border-radius: var(--radius-2);
  font-weight: 600;
  font-size: var(--font-size-fluid-0);
  padding-right: 60px;
  display: flex;
  align-items: center;
}

.change-school {
  padding: var(--size-fluid-1) 0;
  margin-left: -50px;
  font-size: 20px;
  margin-right: 60px;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.change-school:hover,
.custom-modal-close-button:hover {
  text-shadow: 1px 1px 2px black
}

.main-content,
.payment-agreement-section>.column>div {
  padding: var(--size-fluid-4) var(--size-fluid-7);
  display: flex;
  column-gap: 1rem;
  justify-content: center;
}

.payment-agreement-section>.column {
  text-align: center;
}

.approval {
  position: relative;
    padding: 0 var(--size-fluid-7);
}

@media (min-width: 769px) and (max-width: 1024px) {

  .main-content,
    .approval {
      padding: var(--size-fluid-4);
    }
}

.main-content>.center {
  max-width: 570px;
  text-align: center;
  margin: 0 auto;
}

.main-content.left {
  padding-left: 0;
}

.main-content.thin {
  padding: var(--size-fluid-1);
}

.main-content .column,
.main-content .column>div,
.switcher-wrap {
  display: flex;
  column-gap: 1rem;
  flex-direction: column;
  text-align: center;
}

.main-content .row {
  display: flex;
  column-gap: 1rem;
  flex-direction: row;
  text-align: center;
}

.column {
  flex-direction: column;
}
.main-content .column.left,
.main-content .column.left>div {
  text-align: left;
}

.main-content .column>div {
  flex-direction: row;
}

@media (min-width: 768px) {
  .main-content .column.limited-width {
    max-width: 500px;
  }

  .md-half {
    width: 50%;
  }
}

.main-content h1,
h2.main {
  font-size: var(--font-size-fluid-3);
  margin-bottom: var(--size-px-6);
  font-weight: var(--font-weight-6);
}

.main-content h3,
body #edd_checkout_form_wrap legend {
  font-size: var(--font-size-fluid-1);
  line-height: var(--font-lineheight-0);
  margin-bottom: var(--size-fluid-1);
}

.new-profile-form-inner h3 {
  font-size: var(--font-size-fluid-0);
  margin-bottom: var(--size-fluid-0);
}

.new-profile-form-inner .input-area .label {
  font-size: 13px;
}
h3.info {
  line-height: 1 !important;
    column-gap: 10px;
    align-items: center;
}

.main-content .resend-code {
  padding: var(--size-fluid-2);
  font-weight: 600;
  font-size: var(--font-size-fluid-1);
  flex-direction: column !important;
  cursor: pointer;
}

.et_pb_section.et_pb_section_0.et_section_regular.et_pb_section_first {
  padding: 50px 0 !important;
}

.edd-checkout #main-content>.container {
  padding-top: 50px !important;
}

.no-wrap {
  white-space: nowrap;
}

@media (max-width: 768px) {
  .mobile-hide {
    display: none;
  }

    .school-menu {
    right: calc(35% - 90px);
  }

  .entry-content ul {
    padding-left: 0 !important;
  }

  .entry-content ul li {
    margin-left: 5px !important;
  }

    .main-content,
    .another-content {
    padding: var(--size-fluid-0);
    flex-direction: column;
    row-gap: 1rem;
  }

  .approval {
    padding: var(--size-fluid-4) 0;
    }

    .main,
    .center.no-classroom {
    text-align: center;
  }

  .main .icon-right_arrow:before {
    transform: rotate(90deg);
  }

  .no-classroom .no-wrap {
    white-space: initial;
    }

  #edd_purchase_form {
    display: block;
  }

  .edd-checkout #main-content>.container {
    width: 85%;
  }

  .edd-blocks-form__cart .edd-blocks-cart__row,
  .edd-blocks-form__cart .edd_cart_footer_row {
    padding: 0.5rem !important;
  }

  .edd-blocks-form__cart .edd_cart_item_price {
    justify-content: end;
  }

  body #edd-purchase-button {
    width: 100%;
  }

  #animated-word {
    display: block;
      width: 100%;
  }

  body .et_pb_row {
    width: 90%;
  }

    .classroom-url,
    body .classroom-item .content,
  .main-content .row {
    flex-direction: column !important;
    row-gap: 1rem;
  }

  .main-content .mobile-row {
    flex-direction: row !important;
  }

  .logo_container {
    padding-left: 0 !important;
    text-align: left;
    left: 0;
  }

  .logo_container text {
    font-size: 20px;
  }
  .main-subtitle {
    min-height: 99px;
  }

  body .classroom-actions {
    margin-left: 0;
  }

  body .classroom-item .progress {
    font-size: 12px;
  }

  body .classroom-time {
    margin-left: 0;
    flex-direction: row;
    display: flex;
    column-gap: 1rem;
  }

  body .classroom-details {
    font-size: 15px;
  }

  .main-content.left h1,
  .main-content.left h2.main {
    margin-bottom: 0;
  }

  .time-slots {
    width: 100%;
  }

  .director-menu {
    padding-left: 20px !important;
  }

  body h2 {
    font-size: 20px;
  }
}

@media (max-width: 400px) {
  .school-menu {
      right: calc(40% - 90px);
      max-width: 180px;
    }

    .school-menu p {
      font-size: 12px;
    }
}

ul.results {
  padding: 0 !important;

}

ul.results li {
  cursor: pointer;
  list-style: none;
  padding: var(--size-fluid-1);
  font-size: 80%;
  border: 1px solid #c8c8d040;
  border-bottom: 0;
  border-radius: var(--radius-2);
}

ul.results li:last-child {
  border-bottom: 1px solid #c8c8d040;
}

ul.results h4 {
  padding-bottom: 5px;
}

.checkbox-label {
  display: flex;
  align-items: baseline;
  column-gap: 1rem;
  font-size: 16px;
  font-weight: 400;
}

.checkbox-content {
  display: flex;
  flex-direction: column;
}

.checkbox-label input {
  width: 16px;
  height: 16px;
  position: relative;
  top: 3px;
}

.input-area,
.checkbox-label {
  position: relative;
  margin: auto;
  width: 100%;
  border-radius: var(--radius-2);
  /*overflow: hidden;*/
  animation: var(--animation-scale-down) reverse,
    var(--animation-fade-out) reverse;
  animation-timing-function: var(--ease-squish-5);
  animation-duration: 0.5s;
}

.input-area.one-line {
  display: flex;
  column-gap: 2rem;
}

.input-area .label {
  position: absolute;
  top: 17px;
  left: 12px;
  font-size: 16px;
  color: rgba(0, 0, 0, 0.5);
  font-weight: 500;
  transform-origin: 0 0;
  transform: translate3d(0, 0, 0);
  transition: all 0.2s ease;
  pointer-events: none;
  white-space: nowrap;
}

.input-area .focus-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.05);
  z-index: -1;
  transform: scaleX(0);
  transform-origin: left;
}

.input-area input,
.input-area textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: var(--radius-2);
  width: 100%;
  border: 1px solid #C8C8D0 !important;
  padding: 16px 12px 0 12px !important;
  height: 56px;
  font-size: 16px;
  font-weight: 400;
  /*background: rgba(0, 0, 0, 0.02) !important;*/
  background: white;
  color: #000;
  transition: all 0.15s ease;
}

.input-area.prefilled input:hover {
  border-color: #C8C8D0 !important;
}

.input-area.prefilled input {
  border-color: transparent !important;
}

.input-area textarea {
  height: 112px;
  padding-top: 24px !important;
}

.input-area select {
  border-radius: var(--radius-2);
  width: 100%;
  border: 1px solid #C8C8D0;
  padding: 0px 12px 0 12px;
  font-size: 16px;
  height: 56px;
  font-weight: 400;
  /*background: rgba(0, 0, 0, 0.02);*/
  background: white;
  color: #000 !important;
  transition: all 0.15s ease;
}

.input-area.error input,
.input-area.error textarea,
.input-area.error select {
  border-color: var(--red-8) !important;
}

.input-area.error .label {
  color: var(--red-8) !important;
}

input[type=number] {
  background-color: #fff;
  border: 1px solid #bbb;
  padding: 2px;
  color: #4e4e4e;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

.input-area input:not(:-moz-placeholder-shown)+.label {
  color: #5235E8;
  transform: translate3d(0, -10px, 0) scale(0.75);
}

.input-area input:not(:-ms-input-placeholder)+.label {
  color: #5235E8;
  transform: translate3d(0, -10px, 0) scale(0.75);
}

.input-area input:not(:placeholder-shown)+.label,
.input-area textarea:not(:placeholder-shown)+.label {
  color: #5235E8;
  transform: translate3d(0, -10px, 0) scale(0.75);
}

.input-area input:focus,
.input-area textarea:focus {
  outline: none;
}

.input-area input:focus+.label,
.input-area textarea:focus+.label {
  color: #5235E8;
  transform: translate3d(0, -10px, 0) scale(0.75);
  width: 100%;
  text-align: left;
}

.input-area input:focus+.label+.focus-bg {
  transform: scaleX(1);
  transition: all 0.1s ease;
}



.mobile_menu_bar:before,
.mobile_menu_bar:after,
#top-menu li.current-menu-ancestor>a,
#top-menu li.current-menu-item>a {
  color: #5235E8 !important;
}

button,
.button,
body #edd-purchase-button,
.edd-blocks__confirmation-details a {
  cursor: pointer;
  animation: var(--animation-scale-down) reverse,
    var(--animation-fade-out) reverse;
  animation-timing-function: var(--ease-squish-5);
  animation-duration: 0.5s;
  padding: 1rem;
  background: #5235E8;
  background-image: var(--gradient-17);
  border: none;
  color: #fff !important;
  font-size: 1.3rem !important;
  font-weight: bold;
  border-radius: 4px;
  text-decoration: none !important;
}

button:disabled {
  background-color: #cccccc;
    color: #666666 !important;
    background-image: none;
}

button:hover,
.button:hover,
body #edd-purchase-button:hover,
.edd-blocks__confirmation-details a:hover {
  box-shadow: var(--shadow-3);
  opacity: .9;
}

.edd-blocks__confirmation-details a {
  margin-bottom: 2rem;
  display: inline-block;
  margin-left: 1rem;
}

/* ----------page loader----------- */

.page-loader {
  width: 100%;
  height: 100vh;
  position: fixed;
  background: #5235EB;
  z-index: 100002;
  top: 0;
  opacity: 0.9;
  display: none;
}

.page-loader.show {
  display: block;
}

.page-loader .txt {
  color: black;
  text-align: center;
  top: 40%;
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0.3rem;
  font-weight: bold;
  line-height: 1.5;
}

.spinner {
  position: relative;
  top: 35%;
  width: 80px;
  height: 80px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sk-scaleout 1s infinite ease-in-out;
  animation: sk-scaleout 1s infinite ease-in-out;
}

@-webkit-keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0);
  }

  100% {
    -webkit-transform: scale(1);
    opacity: 0;
  }
}

@keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

/* ----------page loader----------- */

/* ----------notifications----------- */

#toast {
  display: flex;
  align-items: center;
  max-width: 450px;
  width: fit-content;
  padding: 10px 14px;
  position: fixed;
  border-radius: 5px;
  overflow: hidden;
  background: white;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
  z-index: 99999;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
}

#icon-wrapper {
  width: 30px;
  min-width: 30px;
  height: 30px;
  background: var(--secondary);
  border-radius: 5px;
  box-sizing: border-box;
  padding: 5px;
}

#icon {
  background: var(--primary);
  border-radius: 50%;
  height: 100%;
  width: 100%;
  position: relative;
}

#icon::before,
#icon::after {
  position: absolute;
  content: "";
  background: var(--secondary);
  border-radius: 5px;
  top: 50%;
  left: 50%;
}

#toast-message {
  padding: 5px 20px 5px 10px;
}

#toast-message h4,
#toast-message p {
  margin: 0;
  line-height: 1.2em;
}

#toast-message h4 {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .05em;
  color: #404040;
  padding-bottom: 5px;
}

#toast-message p {
  font-weight: 900;
  letter-spacing: .05em;
  color: #606060;
  max-width: 100%;
}

@keyframes close {
  from {
    top: 15px;
    opacity: 1;
    transform: translateX(-50%) scale(1);
    visibility: visible;
  }

  to {
    top: -25px;
    opacity: 0;
    transform: translateX(-50%) scale(0.5);
    visibility: hidden;
  }
}

@keyframes open {
  from {
    top: -25px;
    opacity: 0;
    transform: translateX(-50%) scale(0.5);
    visibility: hidden;
  }

  to {
    top: 15px;
    opacity: 1;
    transform: translateX(-50%) scale(1);
    visibility: visible;
  }
}

#timer {
  width: 0%;
  height: 4px;
  background: var(--primary);
  position: absolute;
  bottom: 0;
  left: 0;
  border-top-right-radius: 5px;
  box-shadow: 0 0 8px var(--primary);
}

.timer-animation {
  animation: countdown 5s linear forwards;
}

@keyframes countdown {
  from {
    width: 100%;
  }

  to {
    width: 0%;
  }
}

/* ----------------------- */
/* Success Styling         */
/* ----------------------- */
.success {
  --primary: #2DD743;
  --secondary: #E3FEE6;
  display: flex !important;
}

.success #icon {
  transform: rotate(-45deg);
}

.success #icon::before {
  width: 10px;
  height: 3px;
  transform: translate(calc(-50% + 1px), calc(-50% + 1px));
}

.success #icon::after {
  width: 3px;
  height: 6px;
  transform: translate(calc(-50% - 3px), calc(-50% - 1px));
}

/* ----------------------- */
/* Warning Styling         */
/* ----------------------- */
.warning {
  --primary: #F29208;
  --secondary: #FFEEDF;
  display: flex !important;
}

.warning #icon::before {
  width: 3px;
  height: 3px;
  transform: translate(-50%, calc(-50% + 4px));
}

.warning #icon::after {
  width: 3px;
  height: 7px;
  transform: translate(-50%, calc(-50% - 2px));
}

/* ----------------------- */
/* Error Styling           */
/* ----------------------- */
#toast.error {
  --primary: #E63435;
  --secondary: #FFEAEC;
  display: flex !important;
  background: #E63435;
}

#toast.error h4,
#toast.error p {
  color: white;
}

.error #icon::before {
  width: 3px;
  height: 3px;
  transform: translate(-50%, calc(-50% + 4px));
}

.error #icon::after {
  width: 3px;
  height: 7px;
  transform: translate(-50%, calc(-50% - 2px));
}

/* ----------------------- */
/* Info Styling            */
/* ----------------------- */
.info {
  --primary: #42C0F2;
  --secondary: #CFEFFC;
  display: flex !important;
}

.info #icon::before {
  width: 3px;
  height: 7px;
  transform: translate(-50%, calc(-50% + 2px));
}

.info #icon::after {
  width: 3px;
  height: 3px;
  transform: translate(-50%, calc(-50% - 4px));
}

main button {
  padding: 0.6em 1.5em;
  font-size: 18px;
  border-radius: 5px;
  cursor: pointer;
}

#successBtn {
  border: 1px solid #2DD743;
  color: #2DD743;
  background: #E3FEE6;
}

#warningBtn {
  border: 1px solid #F29208;
  color: #F29208;
  background: #FFEEDF;
}

#errorBtn {
  border: 1px solid #E63435;
  color: #E63435;
  background: #FFEAEC;
}

#infoBtn {
  border: 1px solid #42C0F2;
  color: #42C0F2;
  background: #CFEFFC;
}

/* ----------notifications----------- */

.code-number {
  height: 100px;
  text-align: center;
  font-size: 50px;
}

.code-number-small,
.code-number-school {
  height: 70px;
  text-align: center;
  font-size: 40px;
}

.meeting-card,
.edd-blocks-form__cart,
#edd_cc_address,
body .edd-do-validate,
.edd-blocks__confirmation,
.edd-blocks__receipt,
.edd-blocks-receipt__items,
.edd-blocks-orders__order {
  padding: 20px;
  flex-direction: column !important;
  color: #333;
  border-radius: var(--radius-3);
  font-size: var(--font-size-1);
}

.meeting-card p {
  color: black !important;
}
.meeting-card.success {
  background-image: var(--gradient-4);
    padding: 3rem;
}

.edd-blocks__confirmation {
  margin-top: 2rem;
}

.meeting-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
}

.class-info h2 {
  font-size: 1.5em;
  margin-bottom: 5px;
  color: #222;
  /* Darker text for heading */
}

.class-info p {
  font-size: 0.9em;
  color: #666;
  margin: 0;
}

.date-time {
  text-align: right;
}

.date-time p {
  font-size: 0.9em;
  margin: 5px 0;
  color: #444;
}

.meeting-details {
  margin-bottom: 15px;
}

.meeting-details h3 {
  font-size: 1.1em;
  font-weight: bold;
  color: #222;
  margin-top: 0;
  margin-bottom: 8px;
}

.meeting-details p {
  font-size: 0.95em;
  line-height: 1.4;
  margin: 5px 0;
}

.meeting-actions {
  text-align: right;
  margin-top: 20px;
}

.edit-button {
  color: #333;
  text-decoration: underline;
  font-size: 1em;
  cursor: pointer;
}

.edit-button:hover {
  opacity: 0.8;
}

.pricing-list {
  display: flex;
  align-items: stretch;
  justify-content: space-around;
  padding: var(--size-fluid-1);
  flex-direction: row;
  column-gap: 3rem !important;
  row-gap: 2rem;
}

.pricing-list .meeting-card {
  flex: 1;
  box-shadow: var(--shadow-3);
}

.pricing-list .meeting-card.selected {
  background-image: var(--gradient-3);
}

.pricing-list .button {
  display: block;
}

.pricing-list h2 {
  color: #333;
  min-height: 2em;
}

.custom-notification {
  background: radial-gradient(80% 50% at 50% -20%, rgba(49, 28, 83, 0.9), rgb(26, 16, 44)) white;
  border-radius: 8px;
  color: black;
  padding: 20px;
  position: fixed;
  width: 400px;
  max-height: 90%;
  overflow: auto;
  margin: 0px auto;
  top: 20px;
  left: calc(50% - 200px);
  justify-content: center;
  z-index: 9999999;
}

.custom-notification.success {
  background-image: var(--gradient-4);
}

.custom-notification.error {
  background-image: var(--gradient-11);
}
.custom-modal-content .pricing-list {
  flex-direction: column !important;
}

.custom-modal-content .pricing-list .meeting-card {
  width: 100%;
}

.custom-modal-content .pricing-list img {
  display: none;
}

.custom-modal-content .main-content {
  padding: 0 !important;
}

.meeting-card .pay-class-button {
  font-size: var(--size-fluid-2);
  color: white;
  text-decoration: none;
  display: block;
}

.pricing-list h2 {
  font-size: var(--size-fluid-3);
}

.pricing-list .meeting-card:hover {
  transform: rotate3d(1, 1, 1, 2deg);
}

@media (max-width: 768px) {
  .pricing-list {
    flex-direction: column !important;
  }

  #toast {
    width: 90%;
  }
}

/* START TOOLTIP STYLES */
[tooltip] {
  position: relative;
  /* opinion 1 */
}

/* Applies to all tooltips */
[tooltip]::before,
[tooltip]::after {
  text-transform: none;
  /* opinion 2 */
  font-size: .9em;
  /* opinion 3 */
  line-height: 1;
  user-select: none;
  pointer-events: none;
  position: absolute;
  display: none;
  opacity: 0;
  font-weight: 700;
}

[tooltip]::before {
  content: '';
  border: 5px solid transparent;
  /* opinion 4 */
  z-index: 1001;
}

[tooltip]::after {
  content: attr(tooltip);
    font-size: 11px;
    text-align: center;
    min-width: 26em;
    max-width: 35em;
    /* white-space: nowrap; */
    overflow: hidden;
    /* text-overflow: ellipsis; */
    padding: 1ch 1.5ch;
    border-radius: .3ch;
    box-shadow: 0 1em 2em -.5em rgba(0, 0, 0, 0.35);
    background: #333;
    color: #fff;
    z-index: 1000;
    height: auto;
}

/* Make the tooltips respond to hover */
[tooltip]:hover::before,
[tooltip]:hover::after {
  display: block;
}

/* don't show empty tooltips */
[tooltip='']::before,
[tooltip='']::after {
  display: none !important;
}

/* FLOW: UP */
[tooltip]:not([flow])::before,
[tooltip][flow^="up"]::before {
  bottom: 100%;
  border-bottom-width: 0;
  border-top-color: #333;
}

[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::after {
  bottom: calc(100% + 5px);
}

[tooltip]:not([flow])::before,
[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::before,
[tooltip][flow^="up"]::after {
  left: 50%;
  transform: translate(-50%, -.5em);
}

/* FLOW: DOWN */
[tooltip][flow^="down"]::before {
  top: 100%;
  border-top-width: 0;
  border-bottom-color: #333;
}

[tooltip][flow^="down"]::after {
  top: calc(100% + 5px);
}

[tooltip][flow^="down"]::before,
[tooltip][flow^="down"]::after {
  left: 50%;
  transform: translate(-50%, .5em);
}

/* FLOW: LEFT */
[tooltip][flow^="left"]::before {
  top: 50%;
  border-right-width: 0;
  border-left-color: #333;
  left: calc(0em - 5px);
  transform: translate(-.5em, -50%);
}

[tooltip][flow^="left"]::after {
  top: 50%;
  right: calc(100% + 5px);
  transform: translate(-.5em, -50%);
}

/* FLOW: RIGHT */
[tooltip][flow^="right"]::before {
  top: 50%;
  border-left-width: 0;
  border-right-color: #333;
  right: calc(0em - 5px);
  transform: translate(.5em, -50%);
}

[tooltip][flow^="right"]::after {
  top: 50%;
  left: calc(100% + 5px);
  transform: translate(.5em, -50%);
}

/* KEYFRAMES */
@keyframes tooltips-vert {
  to {
    opacity: .9;
    transform: translate(-50%, 0);
  }
}

@keyframes tooltips-horz {
  to {
    opacity: .9;
    transform: translate(0, -50%);
  }
}

/* FX All The Things */
[tooltip]:not([flow]):hover::before,
[tooltip]:not([flow]):hover::after,
[tooltip][flow^="up"]:hover::before,
[tooltip][flow^="up"]:hover::after,
[tooltip][flow^="down"]:hover::before,
[tooltip][flow^="down"]:hover::after {
  animation: tooltips-vert 300ms ease-out forwards;
}

[tooltip][flow^="left"]:hover::before,
[tooltip][flow^="left"]:hover::after,
[tooltip][flow^="right"]:hover::before,
[tooltip][flow^="right"]:hover::after {
  animation: tooltips-horz 300ms ease-out forwards;
}

.badge {
  background: #5235E8;
  color: white;
  padding: 3px;
  text-transform: uppercase;
  font-size: 70%;
  border-radius: 5px;
  font-weight: 900;
}

.badge a {
  text-decoration: none;
}
.edd-alert {
  padding: 10px !important;
}

.wp-block-edd-checkout #edd_purchase_form .edd-blocks-form input[type=email],
.wp-block-edd-checkout #edd_purchase_form .edd-blocks-form input[type=password],
.wp-block-edd-checkout #edd_purchase_form .edd-blocks-form input[type=text],
.wp-block-edd-checkout #edd_purchase_form .edd-blocks-form select {
  padding: 0.75rem !important;
  /*border-radius: var(--radius-2);*/
  border: 1px solid #C8C8D0 !important;
}

.classrooms,
.teachers {
  row-gap: 1rem;
  display: flex;
  flex-direction: column;
}

.classroom-item,
.teacher-item {
  /*background-color: rgb(13 217 91 / 80%);*/
  background-image: var(--gradient-4);
    display: flex;
}

.classroom-item .progress-bar {
  background: #ffffff4f;
    margin-bottom: -10px;
    margin-top: 20px;
    border-radius: var(--radius-3);
}

.classroom-item .progress {
  background: black;
    border-radius: var(--radius-3);
    color: white;
    text-align: center;
    background-image: var(--gradient-16);
    min-width: 50px;
}

.classroom-item .content,
.teacher-item .content {
  display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row !important;
}

.classroom-item.unpublished {
  background-image: var(--gradient-5);
}

.teacher-item.no-inserts {
  background-image: none;
    background-color: #a6a6a65c;
}

.classroom-item:hover {
  opacity: 0.9;
}

.classroom-item .text {
  font-size: 17px;
    max-width: 260px;
}

.classroom-info {
  flex-grow: 1;
  margin-right: 15px;
}

.page .classroom-name {
  color: #000;
  font-size: 1.2em;
}

.classroom-details {
  color: #000;
  font-size: 17px;
  margin-bottom: 10px;
}

.classroom-meta {
  display: flex;
  gap: 15px;
  align-items: center;
}

.classroom-discussion,
.classroom-location {
  display: flex;
  align-items: center;
  gap: 1px;
  font-size: 0.85em;
  color: #000;
  line-height: 1.2;
}

.classroom-discussion .icon,
.classroom-location .icon {
  font-size: 2em;
}

.classroom-discussion a {
  text-decoration: underline;
    color: #000;
}

.classroom-time {
  text-align: right;
  margin-left: 15px;
}

.classroom-time .date {
  color: #000;
  font-size: 17px;
}

.classroom-time .time {
  color: #000;
  font-size: 17px;
}

.classroom-actions {
  display: flex;
  gap: 10px;
  margin-left: 20px;
  animation: var(--animation-scale-down) reverse, var(--animation-fade-out) reverse;
  animation-timing-function: var(--ease-squish-5);
  animation-duration: 0.5s;
}

.cancel-button {
  background-color: #E83596;
  background-image: none;
}

.publish-classroom-button {
  background-image: var(--gradient-4);
    color: black !important;
}

.button:hover {
  opacity: 0.9;
}

.custom-modal-content .actions {
  display: flex;
    justify-content: space-evenly;
}

.custom-modal-content .actions .button {
  min-width: 130px;
}

.custom-modal-content .selected-school {
  background-color: rgb(13 217 91 / 80%);
    background-image: var(--gradient-4);
    color: black;
    line-height: 1.2;
}

.custom-modal-content .change-school {
  color: black;
}

.custom-modal-close-button {
  color: white !important;
}

input:disabled,
select:disabled {
  background-color: var(--gray-3);
}

.actions-list {
  display: flex;
    width: 100%;
    row-gap: 1rem;
    flex-direction: column;
}

.actions-list a.button {
  height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#edd_checkout_cart {
  border: none !important;
}
body .et_pb_bg_layout_dark,
body .et_pb_bg_layout_dark h1,
body .et_pb_bg_layout_dark h2,
body .et_pb_bg_layout_dark h3,
body .et_pb_bg_layout_dark h4,
body .et_pb_bg_layout_dark h5,
body .et_pb_bg_layout_dark h6,
body .footer-block .et_pb_module.et_pb_text a {
  color: black !important;
}

.et_pb_section_2:before {
  content: "";
    width: 100%;
    height: 20px;
    display: block;
    margin-bottom: 2rem;
    border: 1px solid hsl(var(--brand-hue) 10% 50% / 15%);
    box-shadow: 0 1rem .5rem -.5rem;
    box-shadow: 0 2.8px 2.2px hsl(210 10% 23% / calc(2% + 3%)), 0 6.7px 5.3px hsl(210 10% 23% / calc(2% + 1%)), 0 12.5px 10px hsl(210 10% 23% / calc(2% + 2%)), 0 22.3px 17.9px hsl(210 10% 23% / calc(2% + 2%)), 0 41.8px 33.4px hsl(210 10% 23% / calc(2% + 3%)), 0 100px 80px hsl(var(--gray-8-hsl) / 2%);
    box-shadow: 0 2.8px 2.2px hsl(210 10% 23% / calc(2% + 3%)), 0 6.7px 5.3px hsl(210 10% 23% / calc(2% + 1%)), 0 12.5px 10px hsl(210 10% 23% / calc(2% + 2%)), 0 22.3px 17.9px hsl(210 10% 23% / calc(2% + 2%)), 0 41.8px 33.4px hsl(210 10% 23% / calc(2% + 3%)), 0 100px 80px hsl(var(--surface-shadow) / var(--shadow-strength));
}

span.blue {
  color: #5235E8;
}

.reserve-container {
  display: flex;
  gap: 30px;
    /* Space between the two columns */
    flex-wrap: wrap;
    /* Allow wrapping on smaller screens */
    align-items: flex-start;
}

.time-slots {
  padding: 20px;
    border-radius: 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: var(--radius-3);
}

.time-label {
  font-weight: bold;
    margin-bottom: 15px;
    align-self: flex-start;
    margin-left: -100px;
    color: #333;
    margin-top: 10px;
    font-size: var(--font-size-fluid-0);
}

.time-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
    /* 3 buttons per row */
    gap: 10px;
    /* Space between buttons */
    margin-bottom: 20px;
    margin-top: -45px;
}

.time-slot {
  background: white;
    padding: 5px 15px;
    color: #333;
    border-radius: var(--radius-3);
    width: auto;
    text-align: center;
    margin-bottom: 7px;
    font-size: 15px;
    min-width: 68px;
    cursor: pointer;
}

.time-slot.booked {
  background-image: var(--gradient-11);
    color: white;
    cursor: initial;
}

.time-slot.booked:not(.current) {
  text-decoration: line-through;
}

.time-slot:hover,
.time-slot.selected {
  background-image: var(--gradient-17);
  color: white;
}

.end-time-button,
.start-time-button {
  font-size: var(--font-size-fluid-0);
    align-self: flex-start;
    margin-top: -39px;
    font-weight: 700;
}

.start-time-button {
  margin-bottom: 50px;
}

.info-text {
  visibility: hidden;
    font-size: var(--font-size-0);
    color: #555;
    line-height: 1.4;
}

.register-button {
  width: 100%;
}

@media (max-width: 768px) {
  .reserve-container {
      flex-direction: column !important;
      align-items: center;
    }

    .time-grid {
      grid-template-columns: repeat(4, 1fr);
      margin-top: 0;
      margin-bottom: 0;
    }
}

.hint-title span {
  display: inline-block;
}

.choose-time,
.add-code {
  display: inline-block;
}

.et_mobile_menu .toggle {
  background-color: #0d0a0a;
}

.et_mobile_menu .names {
  color: white;
    text-shadow: 2px 2px 3px black;
}

.range-slider,
.range-slider-allocation {
  width: 100%;
  flex-direction: column !important;
  text-shadow: 1px 1px 10px #00000036;
}

.range-label {
  color: white;
    align-self: baseline;
    font-size: var(--font-size-fluid-1);
    font-weight: 900;
}

.range-slider__range,
.range-slider-allocation__range {
  -webkit-appearance: none;
  width: 100%;
  height: 10px;
  border-radius: 5px;
  background: #d7dcdf;
  outline: none;
  padding: 0;
  margin: 0;
}

.range-slider__range::-webkit-slider-thumb,
.range-slider-allocation__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2c3e50;
  cursor: pointer;
  -webkit-transition: background 0.15s ease-in-out;
  transition: background 0.15s ease-in-out;
}

.range-slider__range::-webkit-slider-thumb:hover,
.range-slider-allocation__range::-webkit-slider-thumb:hover {
  background: #5235E8;
}

.range-slider__range:active::-webkit-slider-thumb,
.range-slider-allocation__range:active::-webkit-slider-thumb {
  background: #5235E8;
}

.range-slider__range::-moz-range-thumb,
.range-slider-allocation__range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 50%;
  background: #2c3e50;
  cursor: pointer;
  -moz-transition: background 0.15s ease-in-out;
  transition: background 0.15s ease-in-out;
}

.range-slider__range::-moz-range-thumb:hover,
.range-slider-allocation__range::-moz-range-thumb:hover {
  background: #5235E8;
}

.range-slider__range:active::-moz-range-thumb,
.range-slider-allocation__range:active::-moz-range-thumb {
  background: #5235E8;
}

.range-slider__range:focus::-webkit-slider-thumb,
.range-slider-allocation__range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px #5235E8;
}

.range-slider__value,
.range-slider-allocation__value {
  display: flex;
    width: 100%;
    line-height: 20px;
    text-align: center;
    border-radius: 3px;
    font-size: 15px;
    padding: 15px;
    margin: 0 auto;
    justify-content: space-between;
}

.range-slider__value {
  padding-left: 0;
    padding-right: 0;
    color: white;
    font-weight: 800;
}

.range-slider-allocation__value {
  position: relative;
    top: 0;
    left: 80%;
}

.time-slot-warning,
.class-name-warning {
  background-image: var(--gradient-11);
    color: white;
    font-weight: 700;
}
.slots-wrap-preview,
.slots-wrap {
  display: flex;
  column-gap: 5px;
  flex-wrap: wrap;
  justify-content: center;
}

.wp-block-edd-receipt {
  max-width: 700px;
    margin: 0 auto;
}

.error-div {
  margin: 0 auto;
    text-align: center;
    max-width: 750px;
}

.error-div h1 {
  font-family: 'Montserrat', sans-serif;
    font-size: 230px !important;
    margin: 0px;
    font-weight: 900;
    background: url(../img/bg.jpg) no-repeat;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: cover;
    background-position: center;
    background-image: var(--gradient-5);
}

.error-div h3 {
  text-transform: uppercase;
    text-shadow: 1px 1px 10px #00000036;
    margin-top: -30px;
    font-size: var(--font-size-fluid-1);
    line-height: var(--font-lineheight-0);
    margin-bottom: var(--size-fluid-1);
}

.input-area .teacher-licences {
  font-size: 100px;
    text-align: center;
    height: 130px;
    background: transparent;
    max-width: 115px;
    padding-top: 0;
    border: 0 !important;
    font-weight: 100;
    padding: 0 !important;
    min-width: 123px;
}

.email-tags-container {
  display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
    align-items: center;
}

.email-tag {
  background-color: #e0e0e0;
    color: #333;
    padding: 5px 10px;
    border-radius: var(--radius-3);
    display: flex;
    align-items: center;
    font-size: 0.9em;
    white-space: nowrap;
}

.email-tag .remove-tag {
  margin-left: 8px;
    cursor: pointer;
    font-weight: bold;
    color: #888;
    transition: color 0.2s;
}

.email-tag .remove-tag:hover {
  color: #555;
}