.test {
  display: block;
}

button:focus {
  background-color: #fe843a !important;
  box-shadow: 0px 3px 0px #924e25 !important;
}
.card-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  align-items: left;
}
.card-small {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  padding: 20px;
  width: 250px;
}

.card-small img {
  width: 100%;
  border-radius: 5px 5px 0 0;
}

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

.card-info h2 {
  margin-top: 0;
}

.card-info p {
  margin-bottom: 1em;
}

.button,
input[type="submit"] {
  display: inline-block;
  background-color: #4054b2;
  color: #fff !important;
  padding: 10px 20px;
  border: none;
  border-radius: 50px;
  font-size: 14px;
  line-height: 20px;
  text-decoration: none;
  transition: all 0.3s;
  box-shadow: 0px 3px 0px #253581 !important;
}

.button:hover,
input[type="submit"]:hover {
  background-color: #fe843a;
  box-shadow: 0px 3px 0px #924e25 !important;
}
input[type="submit"].socrat-button {
  margin-top: 5px;
  background-color: #fe843a;
}

input[type="submit"].socrat-button:hover {
  background-color: #fff;
  color: black !important;
}

.badge {
  display: inline-block;
  padding: 3px 25px;
  border-radius: 50px;
  background-color: #64d99a;
  color: #fff;
  font-weight: normal;
  font-size: 12px;
  line-height: 24px;
  text-transform: uppercase;
}
.topic_title {
  text-align: center;
}

.chatback {
  float: left;
  display: inline;
}
.type_badge {
  float: right;
  display: inline;
}
.socrat-teacher-dashboard ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.socrat-teacher-dashboard li {
  margin: 0 0 20px;
  padding: 0;
}

.socrat-teacher-dashboard h3 {
  font-size: 24px;
  margin: 0;
  padding: 0;
}

.socrat-teacher-dashboard h4 {
  font-size: 20px;
  margin: 0 0 10px;
  padding: 0;
}

.socrat-teacher-dashboard p {
  font-size: 16px;
  margin: 0;
  padding: 0;
}

.socrat-submission-status {
  margin: 10px 0;
  padding: 0;
}

.socrat-submission-status p {
  margin: 0;
  padding: 0;
}

.socrat-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* aligns messages at top and input at bottom */
  width: 100%;
  min-height: 100vh;
  border: 1px solid #e0e0e0;
  border-radius: 20px;
  padding: 20px 30px;
  box-sizing: border-box;
  margin-top: 40px;
}

.socrat-input {
  border: 1px solid #e0e0e0;
  padding: 8px 10px 10px 30px;
  display: flex;
  border-radius: 50px;
  align-items: center;
}

input[type="text"],
input[type="date"],
input[type="select"],
textarea {
  background-color: white;
}

.dashboard-form .socrat-container .socrat-input input[type="text"] {
  flex: 1;
  border: none;
  border-radius: 4px;
  padding: 0px;
  font-size: 14px;
  border: none !important;
  box-sizing: border-box;
}

.socrat-input button {
  border: none;
  background-color: #64d99a;
  box-shadow: 0px 4px 0px #29a763;
  color: #fff;
  border-radius: 50px;
  /* padding: 10px 30px; */
  padding: 10px 15px;
  font-size: 14px;
  margin-left: 10px;
  cursor: pointer;
}
.socrat-input button:hover {
  background-color: #fe843a;
  box-shadow: 0px 4px 0px #924e25 !important;
}
.socrat-input button:focus {
  background-color: #64d99a;
  outline: none;
}
.socrat-input button:focus-visible {
  outline: none;
}

.socrat-input .audio-recorder button {
  padding: 10px 17px;
}

.socrat-messages {
  padding: 5px;
  display: flex;
  flex-direction: column;
  overflow-y: scroll;
  overflow-x: hidden;
}

.socrat-message {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.socrat-message-sent {
  justify-content: flex-end;
}

.socrat-message-received {
  justify-content: flex-start;
  align-items: flex-start;
}

.socrat-message-bubble {
  position: relative;
  max-width: 87%;
  border-radius: 20px;
  padding: 10px;
  margin: 0 10px;
  font-size: 14px;
  line-height: 1.5;
}

.socrat-message-bubble-sent {
  background-color: #64d99a;
  color: #fff;
}

.socrat-message-bubble-received {
  background-color: #f3f7fe;
  color: #000;
}

.socrat-initials {
  width: 36px;
  height: 36px;
  background-size: cover;
  margin-right: 5px;
  border-radius: 50%;
  display: inline-block;
}
.socrat-message-received .socrat-initials {
  float: left;
  background-color: #f3f7fe;
  padding: 2px;
  background-position: center center;
}
.socrat-message-sent .socrat-initials {
  float: right;
  background-color: #64d99a;
  color: #fff;
  font-weight: 400;
  text-align: center;
  line-height: 36px;
  font-size: 16px;
  border-radius: 50%;
  margin-right: 5px;
  display: inline-block;
}
.socrat-flag-icon {
  width: 20px;
  height: 20px;
  position: relative;
  background-image: url("/wp-content/uploads/sites/5/2023/03/noun-flag-3584216-FE843A.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  display: inline-block;
  background-color: transparent !important;
}
.socrat-message-received .socrat-flag-icon {
  float: right;
}
.socrat-message-sent .socrat-flag-icon {
  float: left;
}

.socrat-flag-icon:after {
  content: attr(title);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: white;
  color: black;
  padding: 5px;
  border-radius: 10px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  font-size: 12px;
  font-weight: normal;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  z-index: 9999;
}

/* .socrat-flag-icon:hover:after,
.socrat-flag-icon:focus:after {
  opacity: 1;
  visibility: visible;
  bottom: -40px;
} */

.socrat-message-bubble:after {
  content: attr(title);
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  background-color: white;
  color: black;
  padding: 5px;
  border-radius: 10px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  font-size: 12px;
  font-weight: normal;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  z-index: 9999;
}

.socrat-message-bubble:hover:after,
.socrat-message-bubble:focus:after {
  opacity: 1;
  visibility: visible;
  bottom: -15px;
}

/* CSS code for the flag popup */
#flag-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9998;
}
#flag-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
  padding: 20px;
  z-index: 9999;
  max-width: 500px;
  width: 100%;
}

#flag-popup button#close-button {
  position: absolute;
  top: 5px;
  right: 5px;
  background-color: transparent;
  color: #555;
  border: none;
  font-size: 18px;
  cursor: pointer;
}

#flag-popup form label {
  display: block;
  margin-bottom: 10px;
  font-weight: bold;
}

#flag-popup form select {
  display: block;
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  font-size: 16px;
  border-radius: 5px;
  border: none;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}

#flag-popup form button[type="submit"] {
  display: block;
  margin-top: 20px;
  color: #fff;
  padding: 10px;
  border: none;
  font-size: 16px;
  border-radius: 5px;
  cursor: pointer;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
}

/* #flag-popup form button[type="submit"]:hover {
  background-color: #3E8E41;
} */

#flag-popup form button[type="submit"]:focus {
  outline: none;
}

.socrat-suggested-responses {
  text-align: center;
  margin-top: 40px;
  border-top: 1px solid #e0e0e0;
  padding-top: 40px;
  font-style: italic;
}

.socrat-chat-act-wrap {
  text-align: center;
  margin-top: 10px;
  padding-top: 10px;
  font-style: italic;
}
.socrat-response {
  display: inline-block;
  margin-right: 15px;
  margin-bottom: 10px;
  padding: 7px 30px;
  border-radius: 20px;
  color: #fff;
  transition: all 0.3s;
  background-color: #4054b2;
  cursor: pointer;
  font-style: normal;
  font-weight: normal;
  font-size: 14px;
}
.socrat-response:hover {
  background-color: #fe843a;
}

/*New css*/

.header
  .elementor-widget-button
  .elementor-button-wrapper
  a.elementor-button-link {
  font-family: "Inter", Sans-serif;
  font-size: 18px;
  font-weight: 400;
  text-transform: capitalize;
  font-style: normal;
  text-decoration: none;
  line-height: 28px;
  letter-spacing: 0px;
  fill: #ffffff;
  color: #ffffff;
  background-color: #fe843a;
  border-bottom: 5px solid #924e25;
  box-shadow: 0px 13px 20px rgba(111, 46, 7, 0.21) !important;
  border-radius: 100px 100px 100px 100px;
  padding: 8px 50px !important;
}
.header
  .elementor-widget-button
  .elementor-button-wrapper
  a.elementor-button-link:hover {
  background-color: #4054b2 !important;
  color: #fff;
  border-bottom: 5px solid #354176;
  box-shadow: 0px 13px 20px rgb(71 87 167 / 29%) !important;
}

.elementor-widget-nav-menu.elementor-sticky nav.elementor-nav-menu--dropdown {
  border-radius: 20px;
}
.elementor-widget-nav-menu.elementor-sticky
  nav.elementor-nav-menu--dropdown
  .elementor-nav-menu
  li.menu-item
  a.elementor-item {
  font-size: 18px;
  line-height: 27px;
  color: #000;
  transition: all 0.3s;
}
.elementor-widget-nav-menu.elementor-sticky
  nav.elementor-nav-menu--dropdown
  .elementor-nav-menu
  li.menu-item
  a.elementor-item:hover {
  color: #ffffff;
}
.elementor-widget-nav-menu.elementor-sticky
  nav.elementor-nav-menu--dropdown
  .elementor-nav-menu
  li.menu-item
  a.elementor-item.elementor-item-active {
  color: #ffffff;
}

.dashboard-form {
  justify-content: center;
  .elementor-widget-wrap.elementor-element-populated:has(#socrat-form) {
    width: 40% !important;
    margin-top: 50px;
  }
}

#form-result {
  position: absolute;
  top: -40%;
  right: -100%;
  transform: translateX(1000%);
  background-color: #ddd;
  padding: 5px 15px;
  border-radius: 5px;
  transition: all 0.4s ease;
}

#form-result.fail {
  background-color: rgba(255, 0, 0, 0.692);
  color: white;
  border-color: #550404;
  transform: translateX(-20%);
  box-shadow: 3px 3px 6px #0003;
}

#form-result.success {
  background-color: rgba(0, 128, 0, 0.705);
  color: white;
  transform: translateX(-30%);
  box-shadow: 3px 3px 6px #0003;
}

#socrat-form #username,
#socrat-form #code {
  margin-bottom: 20px;
}

#socrat-form #play-sub-wrap input {
  margin: auto !important;
  margin-top: 20px !important;
}

.elementor-section.elementor-top-section:has(#socrat-form) {
  overflow: hidden;
}

.dashboard-form .elementor-widget-wrap.elementor-element-populated {
  border-radius: 20px;
}
.dashboard-form table thead tr {
  background-color: #4054b2;
}
.dashboard-form table thead tr th {
  font-size: 18px;
  font-weight: normal;
  color: #fff;
}
.dashboard-form table tbody {
  background-color: #ebf1fa;
}
.dashboard-form table tbody tr td {
  font-size: 16px;
  font-weight: 400;
  vertical-align: middle;
  border: none;
  border-bottom: 1px solid rgb(0 0 0 / 10%);
  padding: 20px 15px;
}
.dashboard-form table tbody tr td p {
  margin-bottom: 0;
}

table tbody > tr:nth-child(odd) > td,
table tbody > tr:nth-child(odd) > th {
  /* background-color: transparent !important; */
}

table tbody tr:hover > td,
table tbody tr:hover > th {
  /* background-color: hsla(0, 0%, 50.2%, 0.1019607843); */
  background-color: rgba(128, 128, 128, 0.1019607843);
}

.toggle__btn_container {
  cursor: pointer;
  height: 20px;
  width: 50px;
  background: #9e9d9d;
  border-radius: 20px;
  position: relative;

  &::before {
    content: "";
    position: absolute;
    width: 25px;
    aspect-ratio: 1;
    background: #343536;
    top: -15%;
    left: 0;
    border-radius: 50px;
    transition: all 0.2s ease;
  }
}

.toggle__btn_container.toggled {
  background: #6e83f0;

  &::before {
    background-color: #192563;
    transform: translateX(100%);
  }
}

/* .play-mode:has(.toggled) {
  .code-visible {
    visibility: visible;
  }
}
.play-mode {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  .code-visible {
    visibility: hidden;
  }
} */

.view_btn {
  display: inline-block;
  background-color: #4054b2;
  color: #fff !important;
  padding: 10px 20px;
  border: none;
  border-radius: 50px;
  font-size: 14px;
  line-height: 20px;
  text-decoration: none;
  transition: all 0.3s;
  box-shadow: 0px 3px 0px #253581 !important;

  &:hover {
    background-color: #fe843a;
    box-shadow: 0px 3px 0px #924e25 !important;
  }
}

.dashboard-form
  .elementor-widget-wrap.elementor-element-populated
  .elementor-widget-theme-post-content
  h2,
.dashboard-form
  .elementor-widget-wrap.elementor-element-populated
  .elementor-widget-theme-post-content
  h3 {
  font-size: 28px;
  line-height: 38px;
  color: #000;
  margin: 0px 0 20px;
}

.socrat-message-bubble-sent {
  background-color: #4054b2;
  color: #fff;
}
.socrat-message-bubble {
  padding: 7px 20px;
  font-size: 16px;
  line-height: 26px;
}
.dashboard-form input[type="date"],
.dashboard-forminput [type="email"],
.dashboard-forminput [type="number"],
.dashboard-forminput [type="password"],
.dashboard-forminput [type="search"],
.dashboard-form input[type="tel"],
.dashboard-form input[type="text"],
.dashboard-form input[type="email"],
.dashboard-form input[type="password"],
.dashboard-form input[type="url"],
.dashboard-form select {
  outline: none;
  border: 1px solid #e0e0e0 !important;
  border-radius: 50px !important;
  height: 50px;
  color: #777;
  background-color: white;
}
.dashboard-form textarea {
  height: auto;
  border-radius: 20px !important;
  outline: none;
  border: 1px solid #e0e0e0 !important;
  color: #777;
}
.dashboard-form form .form-group {
  margin-bottom: 20px;
}
.dashboard-form form label {
  font-size: 16px;
  color: #777;
  margin-bottom: 15px;
}
.dashboard-form form#update-user-info input {
  margin-bottom: 15px;
}

.dashboard-form form {
  text-align: left;
}

.dashboard-form form input#historicaldiv,
.dashboard-form form input#socraticdiv,
.dashboard-form form input#topicsoc,
.dashboard-form form input#botrole,
.dashboard-form form input#backgroundsoc,
.dashboard-form form input#backgroundchar,
.dashboard-form form input#backgroundtutor,
.dashboard-form form input#grade_level,
.dashboard-form form input#instructions,
.dashboard-form form input#topictutor,
.dashboard-form form input#setting,
.dashboard-form form input#instructions {
  margin-bottom: 20px;
}

.dashboard-form form#createclass input#grade_level {
  margin-bottom: 0;
}

.dashboard-form form .btn.btn-primary,
.dashboard-form form [type="submit"] {
  display: block;
  background-color: #4054b2;
  color: #fff !important;
  padding: 14px 34px;
  margin-left: auto;
  border-radius: 50px;
  font-size: 18px;
  border: none;
  line-height: 20px;
  text-decoration: none;
  transition: all 0.3s;
  box-shadow: 0px 3px 0px #253581 !important;
}
.dashboard-form form .btn.btn-primary:hover,
.dashboard-form form [type="submit"]:hover {
  background-color: #fe843a;
  box-shadow: 0px 3px 0px #924e25 !important;
}
.dashboard-form form .btn.btn-primary:focus-visible,
.dashboard-form form [type="submit"]:focus-visible {
  outline: none;
}

.dashboard-form form [type="submit"] {
  margin-top: 30px;
}
.dashboard-form p:has(input[type="submit"]) {
  display: flex;
  justify-content: end;
}

.dashboard-form .card-container .card {
  background-color: #f3f7fe;
  box-shadow: 0px 1px 12px 4px rgba(0, 45, 255, 0.03);
  margin-right: 15px;
  padding: 30px;
  border-radius: 20px;
  border: none;
}
.dashboard-form .card-container .card .card-info h3 {
  font-size: 22px;
  line-height: 32px;
  color: #000;
}
.dashboard-form .at-above-post-page.addthis_tool + a.button {
  margin-bottom: 20px;
}

table.teacherclasss {
  border-collapse: collapse;
  border-radius: 6px;
  overflow: hidden;
}
table {
  border-radius: 8px !important;
  overflow: hidden !important;
}
table tbody > tr:last-child > td {
  border-bottom: none !important;
}

.dashboard-form .table-responsive {
  overflow: auto;
  border-radius: 6px;
  margin-bottom: 20px;
}
.dashboard-form .table-responsive table.teacherclasss {
  width: 1400px;
  margin-bottom: 0px;
}

.addthis_bar_bottom.at-cv-goal-email .addthis_bar_p .addthis_bar_message span {
  font-family: "Inter", Sans-serif !important;
  font-size: 18px !important;
  line-height: 28px !important;
  font-weight: 400 !important;
}
.addthis_bar_bottom.at-cv-goal-email
  .addthis_bar_p
  .at-goal-container
  form
  input {
  border-color: #fff;
  border-width: 1px 1px 1px 1px;
  border-radius: 20px;
  height: 50px;
}
.addthis_bar_bottom.at-cv-goal-email
  .addthis_bar_p
  .at-goal-container
  form
  button {
  font-family: "Inter", Sans-serif;
  font-size: 14px;
  font-weight: 400;
  text-transform: capitalize;
  font-style: normal;
  text-decoration: none;
  height: 45px;
  line-height: 20px;
  letter-spacing: 0px;
  padding: 10px 20px 10px 20px !important;
  border-radius: 50px;

  background-color: #fff !important;
  border-bottom: 5px solid #e7e7e7;
  color: #000;
  box-shadow: 0px 13px 20px rgba(255, 255, 255, 0.21) !important;
  transition-duration: 0.6s;
}

.page.page-id-64 .dashboard-form form {
  margin-bottom: 15px;
}
#socrat-login-form .form-group:has(input[type="submit"]) {
  display: flex;
  justify-content: end;
}
#socrat-login-form .form-group input[type="submit"] {
  background-color: #fe843a;
  box-shadow: 0px 3px 0px #924e25 !important;
}
#socrat-login-form .form-group input[type="submit"]:hover {
  background-color: #fff;
  color: #4054b2 !important;
  box-shadow: 0px 3px 0px #d9d9d9 !important;
}
#socrat-login-form .form-group input[type="text"],
#socrat-login-form .form-group input[type="password"] {
  border-radius: 50px !important;
  height: 50px;
}

/* toggle sign up / sign in end */
.sign_toggle_container {
  width: 100% !important;
  margin: auto;

  @media (min-width: 800px) {
    width: 70% !important;
  }

  @media (min-width: 1260px) {
    width: 40% !important;
  }
}
.sign_in_container {
  background-color: #4054b2;
  padding: 20px;
  border-radius: 20px;
  color: white;

  .sign-up-tittle {
    h2 {
      color: white;
    }
  }

  .form-group {
    margin-bottom: 20px;

    input {
      border: none;

      &[type="submit"] {
        margin-top: 20px;
        width: 100%;
      }
    }
  }
}

.sign_up_container {
  padding: 20px;
  border-radius: 20px;
  border: 3px #4054b2 solid;

  form {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    column-gap: 20px;

    p {
      margin-bottom: 20px;

      input {
        border: none;

        &[type="submit"] {
          margin-top: 20px;
          width: 100%;
        }
      }

      @media (min-width: 562px) {
        &:last-child {
          grid-column: 1/3;
        }
      }
    }
  }
}
.socrat_sign_form_container {
  .elementor-tab-content.elementor-clearfix {
    border: none !important;
  }

  .elementor-tab-title.elementor-tab-desktop-title {
    border: none;

    &:before {
      content: unset !important;
    }
    &:after {
      content: unset !important;
    }
  }

  .elementor-tab-desktop-title.elementor-active {
    background: #ddd;
    border-radius: 10px;
  }
}
/* toggle sign up / sign in end */

.elementor-widget-Tools .socrat-tool {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(5, 1fr);
}
.tool-library-page.elementor-widget-Tools .socrat-tool {
  grid-template-columns: repeat(4, 1fr);
}

.elementor-widget-Tools .socrat-tool .item {
  position: relative;
  border: none;
  padding: 20px;
  display: inline-block;
  border-radius: 10px;
  transition: all 0.3s;
  background-color: #fff;
  box-shadow: 0px 0px 4px 4px rgba(0, 87, 255, 0.07);
}
.elementor-widget-Tools .socrat-tool .item:hover {
  box-shadow: 0px 0px 8px 8px rgba(0, 87, 255, 0.1);
}
.elementor-widget-Tools .socrat-tool .item .box-icon {
  padding: 20px;
  border-radius: 10px 10px 0px 40px;
  width: 100px;
  height: 100px;
  flex: 0 0 100px;
  box-shadow: 8px 8px 0px rgb(66 86 172 / 10%);
}
.elementor-widget-Tools .socrat-tool .item .box-content {
  padding: 20px 0px 0;
}
.elementor-widget-Tools .socrat-tool .item .box-content .box-title a {
  color: #000;
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  margin-top: 0px;
  margin-bottom: 5px;
  text-align: left;
  display: inline-block;
  transition: all 0.3s;
}
.elementor-widget-Tools .socrat-tool .item .box-content .box-title a:hover {
  color: #4054b2;
}
.elementor-widget-Tools .socrat-tool .item .box-content .box-description {
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.elementor-widget-Tools .socrat-tool .item .box-content a.post-button {
  border-top: 1px solid #ebeff8;
  padding-top: 15px;
  margin-top: 20px;
  display: block;
  transition: all 0.3s;
}
.elementor-widget-Tools .socrat-tool .item .box-content a.post-button:hover {
  color: #fe843a;
}

body .socrat-pd-btn .elementor-button {
  padding: 15px 67px 15px 67px !important;
}
body .socrat-pd-btn .elementor-button:hover {
  box-shadow: 0px 4px 0px #924e25 !important;
}

@media (max-width: 1400px) {
  .dashboard-form table tbody tr td {
    padding: 15px 10px;
    font-size: 14px;
  }
  .dashboard-form table thead tr th {
    font-size: 16px;
  }
  .dashboard-form .button {
    padding: 10px 20px;
  }

  .dashboard-form .table-responsive table.teacherclasss {
    width: 1000px;
  }

  .elementor-widget-Tools .socrat-tool .item {
    padding: 15px;
  }
}

@media (max-width: 1200px) {
  .dashboard-form .card-container .card {
    margin-bottom: 15px;
  }
  table {
    overflow-x: auto !important;
    border-radius: 6px;
  }
  .elementor-widget-Tools .socrat-tool {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 1024px) {
  .tool-library-page.elementor-widget-Tools .socrat-tool {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991px) {
  .elementor-widget-Tools .socrat-tool {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  .main-logo .elementor-widget-container a img {
    width: 20% !important;
  }
  .socrat-container {
    padding: 15px;
  }
  table.teacherclasss {
    overflow-x: auto !important;
  }

  table {
    width: 670px;
    overflow-x: auto !important;
  }

  .dashboard-form .elementor-element {
    overflow-x: auto !important;
    padding-bottom: 3px;
  }
  .dashboard-form .table-responsive-md {
    overflow: auto;
    width: 700px;
  }

  .elementor-widget-Tools .socrat-tool,
  .tool-library-page.elementor-widget-Tools .socrat-tool {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .socrat-input {
    display: inline-block;
  }
  .audio-recorder {
    display: inherit;
  }
  .socrat-input {
    border: none;
    padding: 0;
  }
  .dashboard-form .socrat-container .socrat-input input[type="text"] {
    border: 1px solid #e0e0e0 !important;
    padding: 10px 20px;
    margin-bottom: 15px;
  }
  .dashboard-form .socrat-message-bubble {
    margin: 15px 0;
    font-size: 14px;
    line-height: 24px;
    max-width: 100%;
  }
  .socrat-message {
    display: flex;
    align-items: end;
    margin-bottom: 10px;
    flex-direction: column-reverse;
  }
  .socrat-message.socrat-message-received {
    display: flex;
    align-items: start;
    margin-bottom: 10px;
    flex-direction: column;
  }

  .dashboard-form .table-responsive-md {
    overflow: auto;
    width: 655px;
  }

  .dashboard-form .socrat-assignment-details {
    display: inline;
  }
  .dashboard-form .socrat-assignment-details .topic_title {
    font-size: 20px !important;
  }
  .dashboard-form .card-container .card {
    width: 100%;
  }
  .header
    .elementor-widget-button
    .elementor-button-wrapper
    a.elementor-button-link {
    padding: 10px 25px 10px 25px !important;
    font-size: 14px;
  }

  .main-logo .elementor-widget-container a img {
    width: 50% !important;
  }

  .elementor-widget-Tools .socrat-tool,
  .tool-library-page.elementor-widget-Tools .socrat-tool {
    grid-template-columns: repeat(1, 1fr);
  }
}

.socrat-assignment-details h2.topic_title {
  padding-top: 3rem;
}

.dashboard-form .socrat-assignment-details .instructions {
  text-align: left;
}

@media (max-width: 479px) {
  .dashboard-form .socrat-assignment-details {
    display: inline-grid;
  }
  .dashboard-form .socrat-assignment-details .type_badge.badge {
    margin: 10px 0;
    white-space: normal;
  }

  .addthis_bar .at-goal-container {
    width: 100%;
  }
}

@media (max-width: 1025px) {
  .dashboard-form .socrat-assignment-details {
    display: inline-grid;
  }
  .dashboard-form .socrat-assignment-details .type_badge.badge {
    margin: 10px auto;
  }
  .addthis_bar .at-goal-container {
    width: 100%;
  }
  .dashboard-form .socrat-assignment-details .topic_title {
    padding-top: 0 !important;
  }
}

.socrat-error {
  color: #fff;
  background-color: #fe843a;
  border: 1px solid #fe843a;
  padding: 10px;
  border-radius: 4px;
  font-weight: bold;
}

.socrat-success {
  color: #fff;
  background-color: #64d99a;
  border: 1px solid #64d99a;
  padding: 10px;
  border-radius: 4px;
  font-weight: bold;
}
.description {
  font-size: 14px;
  color: #666;
}

/* Base styles for the tool list */
.teacher-tools-container {
  display: grid;
  grid-template-columns: repeat(
    auto-fill,
    minmax(200px, 1fr)
  ); /* Controls the grid layout */
  gap: 20px;
  margin: 20px;
  padding: 0;
  list-style: none;
  box-sizing: border-box;
}

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

.required::after {
  content: "*" !important;
  color: red !important;
}

.teacher-tool {
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 8px;

  overflow: hidden; /* Ensures content doesn't spill outside rounded corners */
  transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out; /* Smoothens the hover effect */
}
.cardcolumn {
  margin-top: 10px;
}
.teacher-tool:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Shadow effect for depth on hover */
  transform: scale(1.05); /* Slightly enlarge cards on hover */
}

.teacher-tool-link {
  display: block;
  text-decoration: none;
  color: inherit; /* inherit color from parent element */
}

/* Styles for the card components */
.card-img-top {
  width: 100%; /* Makes image fill the card top space */
  object-fit: cover; /* Prevents image distortion */
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px); /* Keeps corners rounded */
  height: 200px; /* Adjust based on your design preference */
}

.card-body {
  padding: 15px; /* Padding for the content inside the card */
}

.card-title {
  margin-bottom: 0.5rem; /* Space between title and content below */
  font-size: 1rem; /* Smaller title size */
  text-align: center;
}

.card-text {
  font-size: 0.875rem; /* Regular text size, smaller than the title */
}

.card-footer {
  text-align: center; /* Center-align the button */
  padding: 1.25rem; /* Padding around the button */
}
.toolhistory {
  float: right;
}
.btn {
  display: inline-block;
  width: auto; /* Auto width based on content size */
  padding: 0.375rem 0.75rem; /* Button padding */
  color: white; /* Text color */
  text-align: center; /* Center the text inside the button */
  text-decoration: none; /* Remove underline */
  /* Include other styles like background-color based on the button design */
}

/* Media query for tablets and mobile */
@media only screen and (max-width: 768px) {
  .teacher-tools-container {
    grid-template-columns: repeat(
      auto-fill,
      minmax(150px, 1fr)
    ); /* Adjust grid for smaller screens */
  }

  .card-img-top {
    height: 150px; /* Smaller images for smaller screens */
  }

  .card-title,
  .card-text {
    font-size: 0.75rem; /* Smaller font sizes for smaller screens */
  }

  .btn {
    padding: 0.3rem 0.6rem; /* Smaller button padding for smaller screens */
  }
}

/* Branding */
:root {
  --primary-color: #4054b2;
  --secondary-color: #ff9770;
  --font-family: "Arial", sans-serif;
}

.tool-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.tool-textbox textarea {
  width: 100%;
  height: 200px;
  border-radius: 10px;
  padding: 12px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 16px;
}

.tool-page .card {
  background-color: #ffffff;
  box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  transition: box-shadow 0.3s ease;
}

.tool-page .card:hover {
  box-shadow: 0px 8px 25px rgba(0, 0, 0, 0.1);
}

.tool-page .card .card-body {
  padding: 20px 20px;
}

.tool-page .card .card-body .card-title {
  font-size: 30px;
  color: var(--primary-color);
  margin-bottom: 15px;
}

.tool-page .card .card-body .card-subtitle {
  font-size: 18px;
  margin-bottom: 20px;
  color: rgba(0, 0, 0, 0.6);
}
.field-instructions {
  font-size: 12px;
}
/* Improved styles for form inputs */
.form-group text,
.form-group textarea,
.form-group select {
  border-radius: 8px;
  padding: 12px 15px;
  font-size: 16px;
}

.tool-page .card .card-body .newbutt,
.tool-page .card .card-body .editbutton,
.tool-page .card .card-body .duplicatebutton {
  background-color: var(--primary-color);
  border: white;
  float: right;
  color: white !important;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

#myhistory,
#export-to-google-docs-button {
  background-color: var(--primary-color);
  border: white;
  float: right;
  color: white !important;
  transition: background-color 0.3s ease, transform 0.3s ease;
}
#myhistory:hover,
#export-to-google-docs-button:hover {
  background-color: var(--secondary-color);
  transform: translateY(-2px);
}

#upgradebutton,
.feedback-btn,
#submit-custom-feedback,
[type="submit"].submitview {
  background-color: var(--secondary-color);
  border: white;
  color: white !important;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

#upgradebutton:hover,
.feedback-btn:hover,
#submit-custom-feedback:hover,
[type="submit"].submitview:hover {
  background-color: var(--primary-color);
  transform: translateY(-2px);
}

#upgradebutton {
  width: 100%;
}

.tool-page .card .card-body .newbutton:hover,
.tool-page .card .card-body .editbutton:hover,
.tool-page .card .card-body .duplicatebutton:hover {
  /* background-color: var(--secondary-color); */
  transform: translateY(-2px);
}

@media (max-width: 991px) {
  .tool-page .card .card-body .card-title {
    font-size: 26px;
  }
}

@media (max-width: 767px) {
  .tool-wrapper {
    flex-direction: column;
  }
}

#loadingOverlay {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  /* Ensure this is above everything else inside the form */
  z-index: 1000;
}

#loadingOverlay2 {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  /* Ensure this is above everything else inside the form */
  z-index: 1000;
}

/* Modal Styles */
#custom-feedback-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 9999;
  overflow: auto; /* To ensure the content is scrollable if it exceeds the modal height */
}

.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: 15% auto; /* Center the modal content vertically and horizontally */
  padding: 20px;
  border: 1px solid #888;
  width: 50% !important; /* This will make the content box 50% of the screen width */
}

.mem-modal {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
  overflow: scroll;
  max-height: 70%;
  background-color: white;
  z-index: 10;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

.close-btn {
  position: absolute;
  right: 10px;
  top: 5px;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

.close-btn:hover,
.close-btn:focus {
  color: red;
  cursor: pointer;
}

#custom-feedback-modal textarea {
  width: 100%;
  height: 80px;
  padding: 10px;
}

#custom-feedback-modal button {
  display: block;
  margin-top: 20px;
  padding: 10px 20px;
}

.dashboard-form .post-content {
  margin: 30px;
  padding: 30px;
  border-radius: 10px;
  background-color: #fff;
}
/* Dashboard Toolkit Page*/
#loadingOverlay2 {
  background: rgb(0 0 0 / 40%);
  border-radius: 10px;
}
.dashboard-form .history-header {
  text-align: right;
  display: flex;
  justify-content: end;
  border-bottom: 1px solid #ebeff8;
}
.dashboard-form#myhistory.btn,
.dashboard-form .elementor-widget-container a.back-to-categories,
.dashboard-form a.back-to-categories,
.dashboard-form .elementor-widget-container a.back-to-assignments,
.dashboard-form a.back-to-assignments {
  color: #fff;
  font-size: 18px;
  line-height: 22px;
  padding: 14px 30px;
  border-radius: 6px;
  display: inline-block;
  margin-bottom: 15px;
  transition: all 0.3s;
  background-color: #4054b2;
}
.dashboard-form .elementor-widget-container a.back-to-categories,
.dashboard-form a.back-to-categories,
.dashboard-form .elementor-widget-container a.back-to-assignments,
.dashboard-form a.back-to-assignments {
  top: -65px;
  position: relative;
}
.dashboard-form#myhistory.btn:hover,
.dashboard-form .elementor-widget-container a.back-to-categories:hover,
.dashboard-form .elementor-widget-container a.back-to-assignments:hover {
  background-color: #ff9770;
  cursor: pointer;
}
.dashboard-form#myhistory:hover {
  transform: inherit;
}
.dashboard-form#myhistory.btn img {
  margin-right: 5px !important;
}
.dashboard-form .teacher-tools-list .card .card-media {
  display: flex;
  padding-right: 20px;
}
.dashboard-form .teacher-tools-list .card .card-media div:first-child {
  padding: 20px;
  border-radius: 10px 10px 0px 50px;
  width: 130px;
  height: 130px;
  flex: 0 0 130px;
  margin-right: 25px;
  box-shadow: 8px 8px 0px rgb(66 86 172 / 10%);
}
.dashboard-form .teacher-tools-list .card .card-media .card-title {
  color: #000;
  font-size: 22px;
  line-height: 32px;
  font-weight: 600;
  margin-top: 25px;
  text-align: left;
}
.dashboard-form .teacher-tools-list .card {
  position: relative;
  border: none;
  border-radius: 10px;
  transition: all 0.3s;
  background-color: #fff;
  box-shadow: 0px 0px 4px 4px rgba(0, 87, 255, 0.07);
}
.dashboard-form .teacher-tools-list .card .bg-image {
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 100px;
  height: 100px;
}

.dashboard-form .teacher-tools-list .card .bg-image img {
  filter: invert(0.5) sepia(1) saturate(5) hue-rotate(175deg);
  opacity: 0.07;
}
.dashboard-form .teacher-tools-list .card:hover {
  box-shadow: 0px 0px 8px 8px rgba(0, 87, 255, 0.1);
}
.dashboard-form .teacher-tools-list .card .card-footer {
  border: none;
  padding: inherit;
  text-align: left !important;
  padding-left: 30px;
  background-color: transparent;
}
.dashboard-form .teacher-tools-list .card .card-footer a.btn {
  font-size: 16px;
  line-height: 24px;
  padding: 12px 45px;
  border-radius: 6px;
  margin-bottom: -25px;
}
.dashboard-form .teacher-tools-list .card .card-body {
  padding: 25px 30px;
  z-index: 1;
}
.dashboard-form .teacher-tools-list .card .card-body p.card-text {
  text-align: left;
  color: #323232;
  font-size: 18px;
  line-height: 28px;
}
.dashboard-form .teacher-tools-list .cardcolumn {
  margin-bottom: 55px;
}
/*Toolkit History*/
.dashboard-form .card {
  border: none;
}
.dashboard-form .card table.table {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0px 0px 4px 4px rgba(0, 87, 255, 0.07);
}
.dashboard-form .card table.table thead {
  background-color: #4054b2;
}
.dashboard-form .card table.table thead tr th {
  color: #fff;
  padding: 15px 20px;
  font-size: 18px;
  font-weight: 600;
  line-height: 29px;
  border: none;
}
.dashboard-form .card table.table td {
  color: #323232;
  border: none;
  font-size: 16px;
  line-height: 26px;
  padding: 10px 20px;
  vertical-align: middle;
}
.dashboard-form .card table.table > :not(caption) > * > * {
  background-color: transparent;
  box-shadow: none;
}
.dashboard-form .card table.table tbody > tr:nth-child(odd) > td,
.dashboard-form .card table.table tbody > tr:nth-child(odd) > th {
  background-color: #ebeff8;
}
.dashboard-form .card table.table tbody > tr {
  border: none;
}
.dashboard-form .card table.table td form [type="submit"].submitview:hover {
  transform: inherit;
}
.dashboard-form .card table.table td form [type="submit"].submitview:focus {
  outline: none;
  background-color: #4054b2;
}

/*Toolkit Lesson Plan Generator*/
.dashboard-form .container.tool-page {
  max-width: inherit;
  padding: inherit;
}
.dashboard-form .container.tool-page .card.tool-wrapper {
  border-radius: 10px;
}
.dashboard-form .container.tool-page .card.tool-wrapper .card-body {
  padding: 0 0 30px;
}
.dashboard-form .container.tool-page .card.tool-wrapper .card-body .card-title {
  margin: 0;
  color: #fff;
  font-size: 26px;
  line-height: 36px;
  padding: 30px 30px 0;
  text-align: left;
  background-color: #4054b2;
  border-radius: 10px 10px 0 0;
}
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  .card-subtitle {
  color: #fff !important;
  font-size: 20px;
  padding: 15px 30px 30px;
  text-align: left;
  background-color: #4054b2;
  margin: 0px;
}
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.update_duplicate_form {
  padding: 30px;
}
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .form-group
  input.form-control,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .form-group
  select {
  background-color: #ebeff8;
  border: none;
  height: 50px;
  border-radius: 6px;
}

.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .form-group
  input:-webkit-autofill {
  -webkit-box-shadow: inherit;
}
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .newbutton,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .editbutton,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .duplicatebutton {
  width: 100%;
  font-size: 18px;
  border-radius: 4px;
  line-height: 34px;
}

.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.update_duplicate_form
  .editbutton,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.update_duplicate_form
  .duplicatebutton {
  width: 100%;
  font-size: 18px;
  border-radius: 4px;
  line-height: 34px;
}
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .newbutton:focus,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .editbutton:focus,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .duplicatebutton:focus,
.dashboard-form .container.tool-page #upgradebutton.btn:focus {
  outline: inherit;
  box-shadow: none;
}
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.update_duplicate_form
  .editbutton:focus,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.update_duplicate_form
  .duplicatebutton:focus {
  outline: inherit;
  box-shadow: none;
}
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .newbutton:hover,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .editbutton:hover,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.teacher-tool-form
  .duplicatebutton:hover,
.dashboard-form .container.tool-page #upgradebutton.btn:hover {
  transform: inherit;
}

.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.update_duplicate_form
  .editbutton:hover,
.dashboard-form
  .container.tool-page
  .card.tool-wrapper
  .card-body
  form.update_duplicate_form
  .duplicatebutton:hover {
  transform: inherit;
}
.dashboard-form .container.tool-page #upgradebutton.btn {
  width: 100%;
  font-size: 18px;
  padding: 15px 20px;
  border-radius: 6px;
  line-height: 30px;
  margin-bottom: 20px;
}

.dashboard-form .container.tool-page .card.tool-textbox .card-body .card-title {
  margin: 0;
  color: #fff;
  font-size: 26px;
  line-height: 36px;
  padding: 20px 30px 20px;
  text-align: left;
  background-color: #4054b2;
  border-radius: 10px 10px 0 0;
}
.dashboard-form .container.tool-page .card.tool-textbox .card-body {
  padding: 0px;
  border-radius: 10px;
  background-color: #ffffff;
}
.dashboard-form
  .container.tool-page
  .card.tool-textbox
  .card-body
  .result-detail {
  padding: 30px;
  display: flex;
  flex-direction: column;
}
.dashboard-form
  .container.tool-page
  .card.tool-textbox
  .card-body
  .result-detail
  .google-doc {
  padding: 0px 0px 20px;
  text-align: right;
}
.dashboard-form
  .container.tool-page
  .card.tool-textbox
  .card-body
  .result-detail
  #export-to-google-docs-button {
  align-self: self-end;
  margin-bottom: 15px;
}
.dashboard-form
  .container.tool-page
  .card.tool-textbox
  .card-body
  .result-detail
  #export-to-google-docs-button:hover {
  transform: inherit;
}

.dashboard-form
  .container.tool-page
  .card.tool-textbox
  .card-body
  .result-detail
  #feedback-buttons
  .feedback-btn {
  margin: 3px 1px;
}
.dashboard-form
  .container.tool-page
  .card.tool-textbox
  .card-body
  .result-detail
  #feedback-buttons
  .feedback-btn:hover {
  transform: inherit;
}
.dashboard-form
  .container.tool-page
  .card.tool-textbox
  .card-body
  .result-detail
  #feedback-buttons
  .feedback-btn:focus {
  color: #fff;
  background-color: #4054b2;
}

/* .download_doc_btn .button:first-child {
  margin-bottom: 10px;
} */

.feedback {
  padding: 26px;
  background: #efefef;
  border-radius: 15px;
  box-shadow: 6px 6px 6px rgba(12, 12, 12, 0), inset -4px -4px 6px #0001;
  color: rgb(83, 83, 83);
  overflow: visible;
  position: relative;

  .feedback-img {
    display: flex;
    justify-content: flex-end;

    img {
      position: relative;
      z-index: 2;
    }
  }
}

.feedback::before {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  background-color: #efefef;
  top: -10px;
  left: 20px;
  transform: rotate(45deg);
}

.notification {
  padding: 10px;
  background: #ffdfdf;
  border-radius: 10px;
  box-shadow: 6px 6px 6px #0001;
  display: none;
}

.btn.btn-orange {
  display: block;
  background-color: #fe843a;
  color: #ffffff !important;
  padding: 10px 30px;
  margin-left: auto;
  border-radius: 50px;
  font-size: 18px;
  border: none;
  line-height: 20px;
  text-decoration: none;
  transition: all 0.3s;
  box-shadow: 0px 3px 0px #924e25 !important;
  display: flex;
  align-items: center;
  /* border-bottom: 3px solid #924E25; */
}

.orange-color-btn-theme {
  background-color: #fe843a;
  box-shadow: #924e25 !important;
}
/* .btn.btn-orange:hover{
  background-color: #4054B2;
  border-bottom: 3px solid #253581;
} */

.btn.btn-blue,
.btn.btn-blue[type="submit"] {
  display: block;
  background-color: #4054b2;
  color: #fff !important;
  padding: 10px 30px;
  margin-left: auto;
  border-radius: 50px;
  font-size: 18px;
  border: none;
  line-height: 20px;
  text-decoration: none;
  transition: all 0.3s;
  box-shadow: 0px 3px 0px #253581 !important;
  display: flex;
  align-items: center;
}

.btn.btn-orange:hover {
  background-color: #4054b2;
  /* border-bottom: 3px solid #8f3700; */
  box-shadow: 0px 3px 0px #253581 !important;
  color: #ffffff !important;
}

.btn.btn-blue[type="submit"]:hover,
.btn.btn-blue:hover {
  background-color: #fe843a !important;
  /* border-bottom: 3px solid #00178b !important; */
  color: #ffffff !important;
  box-shadow: 0px 3px 0px #924e25 !important;
}

@media (max-width: 576px) {
  .socrat-container.h-sm-100 {
    height: 100%;
  }
}

.teacher-tool-form div label {
  font-weight: bold;
}

.summary_block {
  pre {
    background-color: #e9ecef;
    padding: 10px;
    border-radius: 5px;
  }
  table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background-color: #ffffff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }

  th,
  td {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    text-align: left;
    font-size: medium !important;
    border-bottom: 1px solid #dee2e6;
  }

  th:nth-child(1),
  td:nth-child(1) {
    width: 4%;
  }

  th:nth-child(2),
  td:nth-child(2) {
    width: 15%;
  }

  th:nth-child(3),
  td:nth-child(3) {
    width: 66%;
  }

  th:nth-child(4),
  td:nth-child(4) {
    width: 15%;
  }
}

.collab_view_transcript {
  p {
    background-color: #e9ecef;
    padding: 10px;
    border-radius: 5px;
  }
  table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background-color: #ffffff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }

  th,
  td {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    text-align: center;
    font-size: medium !important;
    border-bottom: 1px solid #dee2e6;
  }

  th:nth-child(1),
  td:nth-child(1) {
    width: 4%;
  }

  th:nth-child(2),
  td:nth-child(2) {
    width: 20%;
  }

  th:nth-child(3),
  td:nth-child(3) {
    width: 61%;
  }

  th:nth-child(4),
  td:nth-child(4) {
    width: 15%;
  }
}

.socrat-collab-history-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  border-radius: 20px;
  padding: 20px 30px;
  box-sizing: border-box;
  margin-top: 40px;
  padding: 15px;
  text-align: left;
  .history-timestamp {
    color: #4054b2;
  }

  .history-feedback {
    color: #6a77b1;
  }
  .history-title {
    color: #333;
    font-size: 20px;
    margin-bottom: 20px;
    border-bottom: 2px solid #4054b2;
    padding-bottom: 5px;
  }
  .history_item {
    border: none !important;

    .history_question {
      overflow: hidden;

      .accordion-button {
        background-color: #f0f0f0;
        padding: 10px;
      }
    }
  }
  .history_item h5 {
    color: #333;
    margin-bottom: 20px;
    font-size: 18px;
  }
  ul.timeline {
    list-style-type: none;
    position: relative;
  }
  ul.timeline:before {
    content: " ";
    background: #d4d9df;
    display: inline-block;
    position: absolute;
    left: 7px;
    top: 40px;
    width: 2px;
    height: 85%;
    z-index: 400;
  }
  ul.timeline > li {
    border-radius: unset !important;
    margin: 20px 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-bottom: 1px #b3bfe473 solid;
    border-bottom-left-radius: 15px;
  }
  ul.timeline > li:before {
    content: " ";
    background: #4054b2;
    display: inline-block;
    position: absolute;
    border-radius: 50%;
    /* border: 3px solid #4022e8; */
    left: 0;
    width: 15px;
    height: 15px;
    z-index: 400;
  }
}
@media (max-width: 576px) {
  .socrat-collab-history-container .h-sm-100 {
    height: 100%;
  }
}

#socrat-play-page-form-note {
  text-align: center;
  color: #818181;
  font-size: 16px;
  /* font-style: italic; */
  line-height: 26px;
  margin-bottom: 30px;
}

.socrat-form-box {
  text-align: center;
  display: flex;
  justify-content: center;
}

@media (max-width: 1400px) {
  .delete-class {
    padding: 10px 15px !important;
  }
  .delete-assignment {
    padding: 12px 15px 8px 15px !important;
  }
  .edit-class {
    padding: 10px 13px 10px 15px !important;
  }
  .edit-assignment {
    padding: 10px 13px 10px 15px !important;
  }
  .duplicate-assignment {
    padding: 11px 14px 9px 14px !important;
  }
  .archive-assignment,
  .unarchive-assignment,
  .archive-class {
    padding: 11px 14px 9px 14px !important;
  }
  .unarchive-class {
    padding: 11px 12px 9px 12px !important;
  }
}
.delete-class {
  padding: 10px 15px;
}
.delete-assignment {
  padding: 12px 15px 8px 15px;
}

.edit-class {
  padding: 10px 13px 10px 15px;
}
.edit-assignment {
  padding: 10px 13px 10px 15px;
}
.duplicate-assignment {
  padding: 11px 14px 9px 14px;
}
.archive-assignment,
.unarchive-assignment,
.archive-class {
  padding: 11px 14px 9px 14px;
}
.unarchive-class {
  padding: 11px 12px 9px 12px !important;
}

/* play url */
.play-copy-container {
  display: flex;
  align-items: center;
  width: 100%;
  margin-top: 5px;
  border: 1px solid #ddd;
  border-radius: 5px;
  min-width: 200px;
}
#play-copy-input.play-copy-input {
  flex: 1;
  font-size: smaller;
  margin-right: 5px;
  border-radius: 0 !important;
  padding: 0 6px;
  height: fit-content;
  background: unset;
  border: unset !important;

  &:focus {
    border: unset !important;
    outline: unset !important;
    box-shadow: unset !important;
  }
}
.play-copy-btn {
  color: #585858;
  display: flex;
  align-items: center;
  white-space: nowrap;
  margin-right: 5px;
  cursor: pointer;
}
.check-with-socrat-face-btn {
  padding: 0 auto !important;
}
.check-with-socrat-face {
  margin-right: 5px;
}

#class-edit-form {
  label {
    font-size: 16px;
    color: #777;
    margin-bottom: 5px;
    font-weight: bold;
  }
  input {
    margin-bottom: 40px;
    font-size: small;
    color: #000000;
  }
}

.socrat-modal-content.modal-content {
  width: 100% !important;
  .modal-header button {
    border: unset;
  }
  .modal-header button:hover {
    border: unset;
    background-color: unset;
  }
  .modal-body .modal_body_string {
    padding: 2rem;
  }
  .modal-footer button {
    margin-left: 10px;
  }
}
  #staticBackdrop_assignment.modal,
  #staticBackdrop_assignment.modal.show {
    z-index: 1060 !important;
  }
  #staticBackdrop_assignment .socrat-modal-content.modal-content {
    z-index: 1070 !important;
    position: relative;
  }
  #staticBackdrop_assignment ~ .modal-backdrop {
    opacity: 0.5 !important;
  }
  
.manage-group-modal {
  display: none;
  position: fixed;
  z-index: 1050;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.4);
  padding-top: 60px;

  &::-webkit-scrollbar {
    width: 5px;
  }
}
.manage-group-modal-content {
  background-color: #fefefe;
  margin: 5% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 40%;
  position: relative;
  /* z-index: 1051; */
  border-radius: 10px;
}
.manage-group-modal-close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.manage-group-modal-close:hover,
.manage-group-modal-close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

#notification-container {
  position: fixed;
  top: 85px;
  right: 20px;
  z-index: 1060;
}

.manage-group-modal-notification {
  display: none;
  color: white;
  padding: 10px;
  margin: 3px auto;
  border-radius: 5px;
  width: 300px;
  text-align: center;
}

.manage-group-modal-notification.success {
  background-color: #5cb85c;
}
.manage-group-modal-notification.error {
  background-color: #d9534f;
}
.manage-group-modal-notification.warning {
  background-color: #f0ad4e;
}

.student-list-to-add-in-group {
  overflow-y: auto;
  height: 100%;
  max-height: 100px;

  .student-item {
    display: flex;
    gap: 5px;
    align-items: center;
    margin-top: 10px;

    label {
      margin: unset !important;
      color: #000 !important;
    }
  }
}

.student-list-to-add-in-group::-webkit-scrollbar {
  width: 5px;
}

.student-list-to-add-in-group::-webkit-scrollbar-thumb {
  background-color: #4054b2;
  border-radius: 50px;
}

th.sortable:hover {
  background-color: #314085;
}

.group-students-assinged-table-container {
  height: 100%;
  max-height: 250px;
  overflow-y: scroll;

  &::-webkit-scrollbar {
    width: 5px;
  }

  #groupStudentsTableBody {
    td {
      padding: 10px 15px !important;
    }

    .remove-student-button {
      padding: 6px 12px !important;
    }
  }
}

.group-students-assinged-table-container thead {
  position: sticky;
  top: 0;
  background-color: #fff; /* Optional: Ensure header is visible */
}

.grp-save-btn {
  margin: 30px 0 !important;
  padding: 10px 25px !important;
}

.grp-save-btn-container {
  min-height: 50px;
}

.grp-save-btn.disabled {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
  color: #000 !important;
  box-shadow: none !important;
}

.add-group-collab {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  gap: 10px;
  .add-group-button {
    padding: 13px 20px;
  }
  label {
    margin: unset !important;
    color: #5c5b5b !important;
    font-size: larger;
    font-weight: bold;
  }
}
.new-group-title {
  flex: 1;
  padding: 10px;
  margin-right: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
}

button.return-and-provide-feedback {
  white-space: wrap;
}

/* return and provide feed back */

.provide-feedback-modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
}

.provide-feedback-modal-content {
  background-color: white;
  margin: 10% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
  max-width: 600px;
  border-radius: 10px;
}

div.provide-feedback-modal-header {
  background-color: #4054b2;
  border-bottom: 1px solid #ddd;
  padding: 10px;
  h2 {
    color: white !important;
  }
}

.provide-feedback-modal-header .close {
  color: white;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

.provide-feedback-modal-header .close:hover,
.provide-feedback-modal-header .close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}

.provide-feedback-modal-body {
  padding: 2em;
}

.provide-feedback-modal-footer {
  border-top: 1px solid #ddd;
  padding: 10px;
}

.provide-feedback-modal-body form {
  margin: 0;
}

.provide-feedback-modal-body .form-group label {
  font-weight: bold;
}

.provide-feedback-modal-body .form-control {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  margin-bottom: 10px;
  border: 1px solid #ddd;
  border-radius: 3px;
}

.provide-feedback-modal-body .btn {
  margin-right: 10px;
  padding: 10px 20px;
  border-radius: 3px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}

.provide-feedback-modal-body .btn-primary {
  background-color: #007bff;
  border: none;
  color: white;
}

.provide-feedback-modal-body .btn-secondary {
  background-color: #6c757d;
  border: none;
  color: white;
}

.provide-feedback-modal-body .btn-primary:hover,
.provide-feedback-modal-body .btn-secondary:hover {
  opacity: 0.8;
}

.socrat-submission-meta .socrat-submission-teacher-feedback {
  /* text-align: center; */
  padding: 15px 20px;
  margin: 5px 0;
  border-left: 6px solid #98a1a8;
  background-color: #cbd7e2;
}

.socrat-submission-meta .socrat-submission-marked-final {
  text-align: center;
  margin: 5px 0;
  padding: 15px 20px;
  border-left: 6px solid #64d99a;
  background-color: #cef3e0;
}

.class-code-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

#class-code-copy-input-.copy-input {
  background: unset;
}

.edit-class-row {
  display: flex;
  justify-content: center;
  gap: 5px;
}

/* Dashboard UI */
.teacher-dashboard,
.admin-teacher,
.parent-dashboard,
.student-dashboard {
  .elementor-widget-nav-menu.elementor-sticky nav.elementor-nav-menu--dropdown {
    border-radius: unset !important;
  }

  .elementor-icon {
    cursor: pointer;
  }

  .default-logo {
    display: none;
  }

  .elementor-column.elementor-element.height-100-side-menu-bar {
    transition: all 0.3s;
    width: 302px;
    flex: 0 0 302px;
  }

  .elementor-column.elementor-element.height-100-side-menu-bar.open-sidebar-nav {
    width: 116px;
    flex: 0 0 116px;
    transition: all 0.3s;

    .elementor-icon {
      transform: rotate(180deg);
      transition: transform 0.2s ease-out;
    }
  }

  .height-100-side-menu-bar .elementor-widget-container {
    display: flex;
    justify-content: center;
  }

  .dashboard-form.teacher-dashboard {
    width: 100% !important;
  }

  .open-sidebar-nav .dashboard-menu ul li a {
    display: flex;
    justify-content: center;
  }

  @media (min-width: 998px) {
    .open-sidebar-nav .elementor-nav-menu {
      position: relative;
    }
  }

  .open-sidebar-nav .elementor-nav-menu .sub-arrow {
    position: absolute !important;
    top: 29px;
    right: 20px;
  }

  @media (max-width: 1024px) {
    .elementor-section .elementor-container {
      flex-wrap: unset !important;
    }
  }

  @media (max-width: 998px) {
    .elementor-column.elementor-element.height-100-side-menu-bar {
      top: 0;
      bottom: 0;
      position: absolute;
      box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2);
      width: 0px !important;
      flex: 0 0 0px;
    }
  }

  @media (max-width: 998px) {
    .elementor-column.elementor-element.height-100-side-menu-bar.open-sidebar-nav {
      width: 240px !important;
      flex: 0 0 240px;
    }
  }

  .elementor-column.elementor-element.height-100-side-menu-bar.mobile-view {
    position: absolute;
    top: 0;
    bottom: 0;
    box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2);
    width: 0px !important;
    flex: 0 0 0px;
  }

  .dashboard-form {
    margin-top: unset !important;
  }

  .secondary-dashboard-section {
    .elementor-section .elementor-top-section {
      background-color: white;
    }

    .elementor-section.elementor-section-boxed > .elementor-container {
      max-width: unset !important;
    }
  }

  .dashboard-footer1-section
    .elementor-159
    .elementor-element.elementor-element-742fd09d:not(
      .elementor-motion-effects-element-type-background
    ),
  .elementor-159
    .elementor-element.elementor-element-742fd09d
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer {
    background: white;
  }

  .secondary-dashboard-footer2
    .elementor-section.elementor-section-boxed
    > .elementor-container,
  .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: unset !important;
  }

  .elementor-column-gap-default
    > .elementor-column
    > .elementor-element-populated {
    padding: unset !important;
  }

  .pro-logo {
    max-width: 230px;
    margin-top: 10px;
  }

  @media (max-width: 1024px) {
    .elementor-791
      .elementor-element.elementor-element-c11eab1
      > .elementor-widget-container {
      padding: unset !important;
    }
  }

  .dashboard-footer1-section
    .elementor-159
    .elementor-element.elementor-element-742fd09d:not(
      .elementor-motion-effects-element-type-background
    ),
  .elementor-159
    .elementor-element.elementor-element-742fd09d
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer {
    background-color: white;
  }
}

/* student delete */
.delete-student,
.delete-submission {
  padding: 10px 15px;
}

.socrat_sign_form_container .sign_toggle_container {
  @media (max-width: 767px) {
    .elementor-tabs .elementor-tabs-wrapper {
      display: flex !important;
      justify-content: center;
    }

    .elementor-tabs .elementor-tab-mobile-title {
      display: none !important;
    }
  }
}

.chatbox-default-response-disabled {
  pointer-events: none;
}

.socrat-suggested-responses-disabled {
  cursor: not-allowed;
}

.settings-page-container {
  .assignment-header {
    font-size: 20px;
    font-weight: 600;
  }

  .settings-tab-container {
    margin-bottom: 45px;
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    align-items: center;

    .settings-item {
      background-color: #ebeff8 !important;
      color: #000;
      border-radius: 6px;
      padding: 13px 34px;
      min-width: 140px;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 600;
      font-size: 16px;
      box-sizing: border-box;
      height: 52px !important; /* Ensures both buttons are same height */
    }

    .settings-item a {
      color: #000 !important;
      font-weight: 400;
      text-decoration: none;
      display: flex;
      align-items: center;
      gap: 8px;
      width: 100%;
      height: 100%;
      justify-content: center;
    }

    .settings-item.item-active {
      background-color: #4054b2 !important;
      color: #fff !important;
    }

    .settings-item.item-active a {
      color: #fff !important;
    }

    .settings-item-new {
      background-color: #ebeff8;
      color: #000000;
      border-radius: 6px;
      padding: 13px 34px;
      margin-right: 20px;
      margin-bottom: 10px;

      a {
        color: #000;
      }
    }

    .settings-item-new.item-active {
      background-color: #4054b2;
      color: #fff;
      font-weight: normal;

      a {
        color: #fff;
      }
    }
  }
}

#settings-play-mode-content:has(.toggled) {
  .code-visible {
    display: unset;
  }
}

#settings-play-mode-content .code-visible {
  display: none;
}

.disable-tab-item {
  pointer-events: none;
}

.sharetoclassroom-container {
  display: inline-block;
  border-radius: 50%;
  overflow: hidden;
  width: 32px; /* Adjust size as needed */
  height: 32px; /* Adjust size as needed */
  background-color: #fff; /* Background color for the icon */
}

.sharetoclassroom-container g\:sharetoclassroom {
  display: block;
  width: 100%;
  height: 100%;
}

.sharetoclassroom-container img {
  border-radius: 50%;
}

.share-classroom {
  padding: 11px 14px 9px 14px;
}

.elementor-tab-title.elementor-tab-mobile-title {
  display: none !important;
}
.elementor-tabs .elementor-tabs-wrapper {
  display: flex !important;
  justify-content: center;
  align-items: center;
}
/* @media (min-width: 768px) {
  .desk-cards .elementor-column.elementor-col-25,
  .elementor-column[data-col="25"] {
    width: unset !important;
  }
} */
.desk-cards {
  max-width: 1400px;
  margin: auto;
}
@media (max-width: 1200px) {
  .desk-cards .elementor-container.elementor-column-gap-default {
    flex-wrap: wrap !important;
    .elementor-column.elementor-col-25,
    .elementor-column[data-col="25"] {
      width: 50% !important;
    }
    .elementor-column.elementor-col-33,
    .elementor-column[data-col="33"] {
      width: 50% !important;
    }
  }
}
@media (max-width: 596px) {
  .desk-cards .elementor-container.elementor-column-gap-default {
    flex-wrap: wrap !important;
    .elementor-column.elementor-col-25,
    .elementor-column[data-col="25"] {
      width: 100% !important;
    }
    .elementor-column.elementor-col-33,
    .elementor-column[data-col="33"] {
      width: 100% !important;
    }
  }
}

@media (max-width: 786px) {
  .settings-page-container .settings-button-container {
    justify-content: flex-start !important;
  }
  .dashboard-menu .elementor-widget-container {
    padding: 0 !important;
  }
}

@media (max-width: 986px) {
  .dashboard-menu .elementor-nav-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-menu ul li {
    width: calc(100% - 20px);
  }

  .open-sidebar-nav .dashboard-menu ul li a {
    justify-content: flex-start !important;
  }
}

.download-assignment-button {
  padding-right: 17px;
  padding-left: 17px;
}

.comment-action {
  cursor: pointer;
  color: #4054b2;
}

.csv-pdf-button i {
  font-size: 20px;
}

.student-class-chat {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 10px;
}

@media (max-width: 500px) {
  .student-class-chat {
    flex-direction: column;
    justify-content: center;
    height: 150px;
  }
}

#student-editor {
  .ql-toolbar.ql-snow {
    border-radius: 10px 10px 0 0;
  }

  .ql-container.ql-snow {
    border-radius: 0 0 10px 10px;
  }
}

.no-students-list {
  background: #ebf1fa;
  padding: 30px;
  border-radius: 15px;
}

.socrat-assignment-details .type_badge.badge {
  padding: 10px !important;
  border-radius: 1rem;
}

#flag-popup form button[type="submit"] {
  border-radius: 30px;
  padding: 10px 20px;
}

.toolbox-archive-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 500px) {
  .toolbox-archive-button {
    /* display: block; */
    flex-direction: column;
    gap: 10px;
  }
}
.card-content p.card-text {
  text-align: left;
  color: #323232;
  font-size: 18px;
  line-height: 28px;
}

.teacher-tools-list .card {
  /* cursor: pointer; */
  padding-bottom: 30px;
}

.tooltip-inner-block {
  background-color: #343a40;
  color: #ffffff;
  border: 1px solid #343a40;
  padding: 10px;
}

.elementor-page-54 .studant-logo {
  display: none;
}

.student-class-assignments-descriptions {
  color: #00150e;
  background: #64d99a5e;
  padding: 10px 30px;
  border-left: 6px solid #64d99a;
}

.student-class-list {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

/* .access-teacher, .access-parent, .access-admin {
  .main-pro-logo-pedagog {
    display: block;
  }

  .main-student-logo {
    display: none;
  }
}

.access-student {
  .main-pro-logo-pedagog{
    display: none !important;
  }
  
  .main-student-logo{
  display: block;
  }  
} */

.play-form-error-banner {
  display: none; /* Initially hidden */
  background-color: #f8d7da;
  color: #721c24;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  text-align: center;
}

.button-socrat-green {
  display: inline-block;
  color: #fff !important;
  padding: 10px 20px;
  border: none;
  border-radius: 50px;
  font-size: 14px;
  line-height: 20px;
  text-decoration: none;
  transition: all 0.3s;
  box-shadow: 0px 3px 0px #27bf6f !important;
  background-color: #64d99a !important;
}

.button-socrat-green:hover {
  background-color: #fe843a !important;
  box-shadow: 0px 3px 0px #924e25 !important;
}

.socrat-form-box {
  .socrat-form-box-input {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
  }
  .socrat-form-box-input input {
    max-width: 250px !important;
  }
  @media (max-width: 767px) {
    .socrat-form-box-input {
      flex-direction: column;
      gap: 0px;
      text-align: left;
      align-items: start;
    }
  }
  #play-sub-wrap {
    padding-bottom: 20px !important;
  }
}

.return-icon i {
  font-size: 19px;
}

/* loading spinner */
#socrat-loading-spinner {
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top: 4px solid #fff; /* White color */
  width: 24px;
  height: 24px;
  animation: spin 1s linear infinite;
  position: absolute;
  display: none; /* Hide by default */
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* .socrat-btn-loading span {
  opacity: 0;
} */

/* Disable button style */
.socrat-disable-btn-onloading {
  cursor: default !important;
  /* cursor: default; */
  opacity: 0.6; /* Make it look disabled */
}

@media (max-width: 768px) {
  #socrat-check-button {
    font-size: 14px;
    padding: 8px 16px;
  }

  #socrat-loading-spinner {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 480px) {
  #socrat-check-button {
    font-size: 12px;
    padding: 6px 12px;
  }

  #socrat-loading-spinner {
    width: 16px;
    height: 16px;
  }
}

#student-invite-notification,
#teacher-invite-notification {
  .invitation-card {
    margin-bottom: 25px;
    border-radius: 8px;
    box-shadow: 1px 1px 6px 1px #76767657;
  }

  .card-body {
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .card-title {
    font-size: 1.2rem;
    margin: 0px;
    margin-left: 20px;
  }
  .invitation-actions {
    display: flex;
    gap: 10px;
  }

  .invitation-actions span {
    margin-left: 10px;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
  }

  .accept-invite-btn {
    color: #28a745;
    border: none;
    cursor: pointer;
  }

  .reject-invite-btn {
    color: #dc3545;
    border: none;
    cursor: pointer;
  }

  .accept-invite-btn:hover,
  .reject-invite-btn:hover {
    background-color: #566e8b2b;
    border-radius: 25px;
    color: black;
  }

  .accept-invite-btn:focus,
  .reject-invite-btn:focus {
    background-color: #e2e2e2;
    border-radius: 25px;
  }

  @media (max-width: 768px) {
    .invitation-card {
      max-width: 100%;
    }
  }
}

#parent-request-notification,
#admin-request-notification {
  .request-card {
    margin-bottom: 25px;
    border-radius: 8px;
    box-shadow: 1px 1px 6px 1px #76767657;
  }

  .card-body {
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .card-title {
    font-size: 1.2rem;
    margin: 0px;
    margin-left: 20px;
  }

  .request-actions {
    display: flex;
    gap: 10px;
  }

  .request-actions span {
    margin-left: 10px;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
  }

  .accept-request-btn {
    color: #28a745;
    border: none;
    cursor: pointer;
  }

  .reject-request-btn {
    color: #dc3545;
    border: none;
    cursor: pointer;
  }

  .accept-request-btn:hover,
  .reject-request-btn:hover {
    background-color: #566e8b2b;
    border-radius: 25px;
    color: black;
  }

  .accept-request-btn:focus,
  .reject-request-btn:focus {
    background-color: #e2e2e2;
    border-radius: 25px;
  }

  @media (max-width: 768px) {
    .request-card {
      max-width: 100%;
    }
  }
}

.general-socrat-notification {
  display: none;
  color: white;
  margin: 3px auto;
  border-radius: 5px;
  width: 300px;
  text-align: center;
}

.general-socrat-notification.success {
  background-color: #5cb85c99;
}

.general-socrat-notification.error {
  background-color: #d9534f99;
}

.general-socrat-notification.warning {
  background-color: #f0ad4e99;
}

.general-socrat-notification-cancel-btn {
  float: right;
  background-color: transparent;
  border: none;
  color: white;
  cursor: pointer;
  font-size: 9px;
  padding: 8px;
}

.general-socrat-notification-cancel-btn:hover {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out;
}

@media (max-width: 1366px) {
  .elementor-widget-wrap.elementor-element-populated {
    height: fit-content;
  }
}
.elementor-widget-wrap.elementor-element-populated {
  /* height: fit-content; */
}

.play-form
  .dashboard-form
  .elementor-widget-text-editor
  .elementor-widget-container {
  text-align: left !important;
}

#socrat-student-dashboard-container {
  .card-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    .card {
      border: 1px solid #eaf2ff;
    }
  }
}

#asksocrat {
  min-width: fit-content;
}

#download-document {
  background: #64d99a;
  box-shadow: 0px 3px 0px #27bf6f !important;
  /* border-bottom: 4px solid #27bf6f; */
}

.approved-submission-notification {
  position: fixed;
  top: 20px;
  right: 20px;
  background-color: #4caf50; /* Green background */
  color: white; /* White text */
  padding: 15px;
  border-radius: 5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  font-size: 1rem;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
.approved-submission-notification.show {
  opacity: 1;
}
td.submission-status span {
  padding: 10px 15px;
  border-radius: 20px;
  color: black;
  white-space: nowrap;
}

nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  overflow: unset;
}

nav.elementor-nav-menu--dropdown.elementor-nav-menu__container
  li.menu-item
  > a.elementor-item {
  overflow: hidden;
}

nav.elementor-nav-menu--dropdown.elementor-nav-menu__container
  li.menu-item
  > ul.sub-menu {
  position: absolute;
  box-shadow: 1px 1px 5px 3px #0000000f;
  border-radius: 10px;
}


#teacher-feedback {
  /*padding: 20px;*/
  margin-top: 20px;
  #feedback-list::-webkit-scrollbar-thumb {
    background-color: #4054b2;
    border-radius: 10px;
  }
  #feedback-list::-webkit-scrollbar {
    width: 5px;
  }
  #teacher-feedback h2 {
    margin-bottom: 2px !important;
  }
  #feedback-list {
    max-height: 300px;
    overflow-y: auto;
    padding: 2px 10px 2px 0;
    list-style: none;
  }
  .feedback-item {
    background-color: #e9e9e9;
    border-left: 3px solid #4054b2;
    border-radius: 0 4px 4px 0;
    padding: 2px 5px;
    margin-bottom: 4px;
    box-shadow: 2px 2px 3px #b2b4c2bd;
  }

  .feedback-item .feedback_from {
    font-weight: bold;
    color: #4054b2;
  }
  .feedback-item .message {
    font-size: 1rem;
    color: #333;
  }
}

#settings-play-mode {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: #fe8238 !important;
  font-weight: 700;
}

.reverseAlign {
  display: flex;
  width: 100%;
  justify-content: end;
}

#teacher-tab:focus {
  background-color: #4054b2 !important;
  box-shadow: none !important;
}

#student-tab:focus {
  background-color: #4054b2 !important;
  box-shadow: none !important;
}

.tabss-container {
  display: inline-flex;
  border: 3.3px solid #f8b4a7;
  /* Light orange border from the image */
  border-radius: 12px;
  overflow: hidden;
  font-family: Arial, sans-serif;
  padding: 5px;
  margin-bottom: 20px;
  width: 380px;
  height: 70px;
}

.tabss {
  padding: 10px 20px;
  cursor: pointer;
  text-align: center;
  flex: 1;
  background-color: rgb(237, 245, 252);
  /* Light grayish background (unselected) */
  color: #4054b2;
  /* Dark gray text (unselected) */
  border: none;
  border-radius: 12px;
  outline: none;
  transition: background-color 0.3s, color 0.3s;
}

.tabss.active {
  background-color: #4054b2;
  /* Blue background (selected) */
  color: white;
  /* White text (selected) */
}

.tabss:not(.active):hover {
  background-color: #4054b2;
  /* Slightly darker gray on hover */
}

#studentView1, #studentView3,#studentView2 {
  width: 100%;
  height: 100vh; /* Full viewport height */
  overflow: hidden; /* Ensures content outside the div is hidden */
}

.dashboard-form form label{
  margin-bottom: -3px;
}

#student1Iframe,#student2Iframe,#student3Iframe {
  width: 100%;
  height: 100vh; 
}

#student2Iframe .side-menu-bar{
  display: none;
}
#student1Iframe .side-menu-bar{
  display: none;
}
#student3Iframe .side-menu-bar{
  display: none;
}

#globalLoader{
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.global-loader img {
  width: 100px; /* Adjust GIF size */
  height: 100px;
}
.assign-group-btn {
  background-color: #4054b2 !important;
  color: white !important;
  box-shadow: 0px 3px 0px #253581 !important;
  border-radius: 50px;
  padding: 10px 20px;
  border: none;
  font-size: 14px;
  transition: all 0.3s;
}

.assign-group-btn:hover {
  background-color: #fe843a !important;
  box-shadow: 0px 3px 0px #924e25 !important;
}

.assign-group-btn:focus {
  background-color: #4054b2 !important;
  box-shadow: 0px 3px 0px #253581 !important;
}
.response-tabs {
  display: inline-flex;
  border: 3.3px solid #f8b4a7;
  /* Light orange border from the image */
  border-radius: 12px;
  overflow: hidden;
  font-family: Arial, sans-serif;
  padding: 5px;
  margin-bottom: 20px;
  margin-top: 15px;
  width: 300px;
  height: 55px;
  vertical-align: middle;
}

.tab {
  padding: 10px 20px;
  cursor: pointer;
  text-align: center;
  flex: 1;
  background-color: rgb(237, 245, 252);
  /* Light grayish background (unselected) */
  color: #4054b2;
  /* Dark gray text (unselected) */
  border: none;
  border-radius: 12px;
  outline: none;
  transition: background-color 0.3s, color 0.3s;
}

.tab.active {
  background-color: #4054b2;
  /* Blue background (selected) */
  color: white;
  /* White text (selected) */
}

.tab:not(.active):hover {
  background-color: #4054b2;
  /* Slightly darker gray on hover */
}
#question-tab:focus {
  background-color: #4054b2 !important;
  box-shadow: none !important;
}

#group-tab:focus {
  background-color: #4054b2 !important;
  box-shadow: none !important;
}
table .switch-question {
  background-color: #4054b2 ;
  color: white;
  padding: 10px 20px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
} 
#summarize-ai-btn {
  padding-top: 6px !important;
  padding-bottom: 4px !important;
  font-size: 14px !important;
  line-height: 0.2 !important;
  height: 42px !important;
}

/* Add this to your CSS to handle the blue toggle color */

#end-assignment-btn {
  position: absolute;
  top: 80px;
  right: 10px;
  background-color: #3949ab;
  color: white;
  padding: 10px 40px;
  border-radius: 30px;
  border: none;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
}

.styled-response-table {
  width: 95%;
  margin: 20px auto; 
  border-collapse: collapse;
  background-color: #f7f9fc;
  border-radius: 12px;
  overflow: hidden;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  margin-top: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.styled-response-table th,
.styled-response-table td {
  padding: 14px 20px;
  text-align: center;
  border: none;
}

.styled-response-table th {
  background-color: #3949ab !important;
  color: #ffffff;
  font-weight: 600;
  font-size: 15px;
}

.styled-response-table td {
  font-size: 14px;
  color: #333;
  background-color: #f1f3f8; /* 🔁 Force all rows to use same background */
}

/* Remove hover effects entirely */
.styled-response-table tbody tr:hover td {
  background-color: #f1f3f8 !important;
}

.styled-response-table td:first-child,
.styled-response-table th:first-child {
  border-left: 0.3px solid #d0d3db;
  border-right: 0.3px solid #d0d3db;
  padding-right: 10px;   /* Remove right padding */
  padding-left: 5px; 
}
.styled-response-table tr:last-child td {
  border-bottom: 1px solid #d0d3db !important;
}
.styled-response-table th:last-child,
.styled-response-table td:last-child {
  border-right: 1px solid #d0d3db;
}
.styled-response-table thead th:hover {
  background-color: #3949ab !important;
  color: #ffffff !important;
}
.styled-response-table td:nth-child(2),
.styled-response-table th:nth-child(2) {
  border-right: 0.3px solid #d0d3db;
  padding-right: 20px; 
  white-space: nowrap;    /* no breaks at spaces */
  hyphens: none;          /* no breaks at "–" or "-" */
  overflow-wrap: normal;
}

        /* draw a border on the right edge of the "Response" column */
.styled-response-table th:nth-child(3),
.styled-response-table td:nth-child(3) {
  border-right: 0.3px solid #d0d3db;
}    
/* Responsive adjustments for small screens */
@media (max-width: 600px) {
    /* Force Student Name column horizontal on mobile */
    table.styled-response-table > tbody > tr > td:nth-child(2),
    table.styled-response-table > thead > tr > th:nth-child(2),
    table.styled-response-table > tbody > tr > th:nth-child(2),
    table.styled-response-table > thead > tr > td:nth-child(2),
    .styled-response-table th.student-name-col,
    .styled-response-table td.student-name-col {
      white-space: normal !important;
      word-break: break-word !important;
      writing-mode: horizontal-tb !important;
    }
  /* Make tables scrollable and fit screen */
  .styled-response-table {
    display: block;
    width: 100%;
    overflow-x: auto;
}
.styled-response-table th,
.styled-response-table td {
    min-width: 120px;
    font-size: 11px !important;
    white-space: normal !important;
    word-break: break-all !important;
    hyphens: auto !important;
}
.styled-response-table th:first-child,
.styled-response-table td:first-child {
  display: none !important;
}

  /* Make buttons stack and fill width */
  .button-group,
  .button-inner-group {
    flex-direction: column !important;
    gap: 10px !important;
    padding: 10px !important;
    align-items: stretch !important;
  }
  #end-assignment-btn,
  #start-assignment-btn,
  #pause-btn,
  #prev-question-btn,
  #next-question-btn {
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 !important;
    position: static !important;
    font-size: 14px !important;
    padding: 10px 0 !important;
    display: block !important;
  }

  /* Adjust question block padding and font */
  .student-question-block {
    padding: 10px !important;
    font-size: 15px !important;
  }
  /* Adjust logo size and position */
 .header-row-mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 10px;
    width: 100%;
    position: relative;
}
.header-row-mobile .class-title-mobile {
    display: block;
    text-align: center;
    font-size: 1em !important;
    font-weight: normal !important;
    margin: 10px 0 8px 0 !important;
    padding: 0 !important;
    color: #888 !important;
    width: 100%;
    max-width: 95vw;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    line-height: 1.2;
 }
  /* Optionally, tweak the logo and button size for mobile */
  .go-back-btn {
    font-size: 15px !important;
    padding: 6px 12px !important;
    left: 10px !important;
    top: 25px !important;
  }
  .socrat-logo {
    width: 90px !important;
    top: 30px !important;
    right: 10px !important;
  }
  .question-title {
    font-size: 18px !important;
    word-break: break-word;
  }
  .question-container {
    margin: 0 !important;
    padding: 0 !important;
  }
  .top-action-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .top-action-buttons .button {
    width: 100% !important;
    font-size: 14px !important;
    margin: 0 !important;
    padding: 10px 0 !important;
  }
  #collect-response-btn {
    margin: 68px auto 12px 0 !important; /* top right bottom left */
    position: relative !important;
    display: block !important;
    width: 90vw !important;
    max-width: 60% !important;
    font-size: 15px !important;
    padding: 8px 12px !important;
    left: unset !important;
    top: 10px !important;
    border-radius: 30px !important;
    z-index: 10 !important;
    text-align: center !important;   
    box-sizing: border-box !important;
  }
.header-row-mobile .assignment-title {
    font-size: 1.2em !important;
    font-weight: bold !important;
    margin: 30px 0 2px 0 !important;
    line-height: 1.1 !important;
    word-break: break-word !important;
    text-align: center !important;
    color: #000 !important;
    width: 100%;
    max-width: 95vw;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
 }
}
.table-arrow-wrapper {
  position: relative;
  display: inline-block;
}

.ai-arrow-toggle {
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  user-select: none;
  z-index: 2;
  transition: filter 0.2s, box-shadow 0.2s;
  /* Remove color here, SVG handles color */
}

.arrow-svg {
  display: block;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(57,73,171,0.10), 0 1.5px 4px rgba(0,0,0,0.08);
  background: #fff;
  transition: box-shadow 0.2s, background 0.2s;
}

.ai-arrow-toggle:hover .arrow-svg {
  background: #3949ab;
  box-shadow: 0 4px 16px rgba(57,73,171,0.18), 0 2px 8px rgba(0,0,0,0.12);
}

.ai-arrow-toggle:hover .arrow-svg path,
.ai-arrow-toggle:hover .arrow-svg circle {
  stroke: #fff;
}
.go-back-btn:hover {
  background-color: #fe843a !important ;  /* your orange */
  color: #fff !important ;
}
/* anywhere in your stylesheet: */
.orange-confirm-btn {
  background-color: #fe843a !important;
  border-color:     #fe843a !important;
}
.ok-confirm-btn {
  background-color: #fe843a !important;
  border-color:     #fe843a !important;
}
.return-confirm-btn {
  background-color: #fe843a !important;
  border-color:     #fe843a !important;
}
.orange-deny-btn {
  background-color: #fe843a !important;
  border-color:     #fe843a !important;
  color: #fff !important;
}
.shortuser-topic-title {
  position: relative !important;
  top: -100px !important;
  text-align: center !important;
}
#collect-response-btn:hover,
#prev-question-btn:hover,
#next-question-btn:hover,
#end-assignment-btn:hover,
#hide-student-names:hover,
.button#hide-student-names:hover {
  background-color: #fe843a !important;
  color: #fff !important;
}
#prev-question-btn:focus,
#collect-response-btn:focus,
#next-question-btn:focus,
#summarize-ai-btn:focus,
#hide-student-names:focus {
  background-color: #3949ab !important;
  box-shadow: 0px 3px 0px #253581 !important;
  color: #fff !important;
}                                                                                                                                           
button#pause-btn,
button#pause-btn:hover,
button#pause-btn:focus,
button#pause-btn:active {
  background-color: #4caf50 !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}
.kicked-popup .swal2-confirm {
    background-color: #fe843a !important;
    border: 1px solid #fe843a !important;
    color: #fff !important;
    box-shadow: none !important;
}

.kicked-popup .swal2-confirm:focus,
.kicked-popup .swal2-confirm:active,
.kicked-popup .swal2-confirm:hover {
    background-color: #fe843a !important;
    border: 1px solid #fe843a !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* If you want the icon and title to be specific as well: */
.kicked-popup .swal2-icon.swal2-error {
    width: 60px !important;
    height: 60px !important;
    font-size: 0.77rem !important;
}
.kicked-popup .kicked-title {
    font-size: 1.4rem !important;
    font-weight: 500 !important;
}
.assignment-title {
    color: #000 !important;
    font-size: 1.9em !important;
    font-weight: bold !important;
    margin: 20px 0 0 0 !important;
    text-align: center !important;
}
.class-title-mobile {
    color: #888 !important;
    font-size: 1.3em !important;
    font-weight: normal !important;
    margin: 5px 0 30px 0 !important;
    text-align: center !important;
}
.button-disabled {
    background-color: #cccccc !important;
    color: #888888 !important;
    cursor: not-allowed !important;
    pointer-events: none;
    opacity: 0.7;
}
#prompt-tool-ready {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}
#prompt-tool-page .socrat-message-bubble:after,
#prompt-tool-page .socrat-flag-icon:after {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

#saved-prompts-table th {
    background: #4054B2;
    color: #fff;
}
#saved-prompts-table td {
    background: #f1f3f8;
}
#saved-prompts-table th:nth-child(3),
#saved-prompts-table td:nth-child(3) {
    white-space: nowrap;
}
.copy-button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2rem;
    color: #4054B2;
    margin-left: 10px;
}
.copy-icon { 
  margin-left: 5px;
 }

.button.delete-prompt-btn {
    background: #4054B2;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(64,84,178,0.08);
    transition: background 0.2s, color 0.2s;
    font-size: 1.3rem;
    margin: 0 auto;
}

.button.delete-prompt-btn:hover,
.button.delete-prompt-btn:focus {
    background: #FE843A;
    color: #fff;
}

.button.delete-prompt-btn i {
    font-size: 0.9rem;
    line-height: 1;
    margin: 0;
    padding: 0;
}
.copy-prompt i,
.copy-icon {
    color: hsl(229, 47%, 47%)!important;
}

@media (max-width: 600px) {
  #go-back-btn-wrap {
    position: static !important;
    width: 100%;
    text-align: left;
    margin: 10px 0 0 0;
    top: unset !important;
    left: unset !important;
    z-index: 10;
  }
  #go-back-btn-wrap .button {
    font-size: 13px !important;
    padding: 4px 14px !important;
    border-radius: 12px !important;
    margin-left: 5px;
    width: auto !important;
    min-width: 0 !important;
    display: inline-block !important;
  } 
  #saved-prompts-btn {
    font-size: 13px !important;
    padding: 4px 14px !important;
    border-radius: 12px !important;
    width: auto !important;
    min-width: 0 !important;
    display: inline-block !important;
    position: static !important;
    margin-top: -90px !important; 
    margin-bottom: 10px !important; 
    margin-right: -30px !important;
    left: unset !important;
    right: unset !important;
    top: unset !important;
    max-width: 90vw !important;
    white-space: normal !important;
    text-align: center !important;
  }
  .dashboard-form h2 {
    font-size: 1.5rem !important;
    margin-top: 30px !important;
    margin-bottom: 10px !important;
  }
}
.socrat-intro-btn {
      transition: background 0.2s, color 0.2s;
  }
.socrat-intro-btn:hover {
      background-color: #fe843a !important;
      color: #fff !important;
}
.provide-feedback-modal-content {
    width: 700px !important;   /* Increase width as needed */
    min-height: 400px !important; /* Increase height as needed */
    max-width: 90vw;           /* Responsive on small screens */
    max-height: 90vh;          /* Responsive on small screens */
    /* Optional: center content vertically if needed */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.status-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
}
.status-dot-orange {
  background: #fe843a;
}
.status-dot-green {
  background: #4caf50;
}
/* This new rule overrides conflicting styles to ensure the status dot is a circle */
td.submission-status span.status-dot {
    padding: 0;
}
/* This div inside the cell correctly aligns the content. */
.status-content-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.status-text {
    width: 120px;          /* or whatever fits your longest status */
    text-align: center;
    display: inline-block;
    padding-right: 24px;   /* Reserve space for the icon (adjust as needed) */
    box-sizing: border-box;
    position: relative;
}

.date-tooltip {
    display: flex;
    align-items: center;
    color: black;
    font-size: 1.1em;
    margin-left: 70px;    /* Pull the icon into the reserved space */
    z-index: 1;
}
/* Makes the icon darker on hover to show it's interactive. */
.date-tooltip:hover {
    color: #333;
}

table.teacherclasss tbody tr td {
  padding: 30px 15px;
}
@media (max-width: 1400px) {
  table.teacherclasss tbody tr td {
    padding: 25px 10px;
  }
}
.highlight-country-field {
  border: 2px solid #fe843a !important;
  box-shadow: 0 0 8px #fe843a !important;
  background-color: #fff3e6 !important; /* Light orange background */
  animation: floating 3s ease-in-out infinite !important;
}

@keyframes floating {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-5px); }
}

/* Notification Bell Dropdown Styles */
.notification-bell-container {
  position: relative;
  display: inline-block;
}

#notification-bell {
  font-size: 20px !important;
  cursor: pointer;
  color: #fe843a !important;
  transition: all 0.3s;
  border: none !important;
  background: none !important;
  padding: 10px;
  border-radius: 50%;
}

#notification-bell:hover {
  color: #4054b2 !important;
}

/* Elementor notification bell icon selectors */
#notification-bell .elementor-icon,
#notification-bell .elementor-icon i,
#notification-bell .elementor-icon svg,
#notification-bell i,
#notification-bell .fa,
#notification-bell .fas,
#notification-bell .far {
  color: #fe843a !important;
  transition: all 0.3s !important;
}

#notification-bell:hover .elementor-icon,
#notification-bell:hover .elementor-icon i,
#notification-bell:hover .elementor-icon svg,
#notification-bell:hover i,
#notification-bell:hover .fa,
#notification-bell:hover .fas,
#notification-bell:hover .far {
  color: #4054b2 !important;
}

button#notification-bell,
.notification-bell,
[id="notification-bell"] {
  cursor: pointer;
  transition: all 0.3s;
}

#notification-bell.has-notifications {
  position: relative;
}

/* Red notification count badge on bell */
#notification-bell.has-notifications::after {
  content: attr(data-count);
  position: absolute;
  top: 5px;
  right: 5px;
  background-color: #dc3545;
  color: white;
  border-radius: 10px;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 600;
  min-width: 16px;
  text-align: center;
  line-height: 1;
  border: 2px solid white;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.notification-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  min-width: 320px;
  max-width: 400px;
  z-index: 1000;
  display: none;
  overflow: hidden;
}

.notification-dropdown.show {
  display: block;
}

.notification-dropdown-header {
  padding: 15px 20px;
  background-color: #4054b2;
  border-bottom: 1px solid #e0e0e0;
  font-weight: 600;
  font-size: 16px;
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.notification-dropdown-header .mark-all-read {
  color: #fe843a;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.notification-dropdown-header .mark-all-read:hover {
  color: #fff;
}

.notification-dropdown-body {
  max-height: 400px;
  overflow-y: auto;
}

.notification-item {
  padding: 15px 20px;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  background-color: white;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.notification-item:hover {
  background-color: #f8f9fa;
}

.notification-item:last-child {
  border-bottom: none;
}

/* Updated unread notification styling with very light blue */
.notification-item.unread {
  background-color: #f8fbff;
  border-left: 4px solid #d6e7f5;
  position: relative;
}

.notification-item.unread:hover {
  background-color: #f0f7ff;
}

.notification-content {
  flex: 1;
}

.notification-actions {
  display: flex;
  align-items: flex-start;
  gap: 5px;
}

.delete-notification-btn {
  background: none;
  border: none;
  color: #999;
  cursor: pointer;
  padding: 2px 5px;
  border-radius: 3px;
  font-size: 12px;
  opacity: 0.6;
}

.delete-notification-btn:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.05);
  color: #666;
}

.notification-item.unread .delete-notification-btn {
  color: #999;
}

.notification-item.unread .delete-notification-btn:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: #666;
}

.notification-title {
  font-weight: 600;
  font-size: 14px;
  color: #333;
  margin-bottom: 5px;
}

.notification-message {
  font-size: 13px;
  color: #666;
  margin-bottom: 8px;
  line-height: 1.4;
}

.notification-time {
  font-size: 12px;
  color: #999;
}

.no-notifications {
  padding: 30px 20px;
  text-align: center;
  color: #999;
  font-size: 14px;
  background-color: white;
}

.no-notifications i {
  font-size: 48px;
  margin-bottom: 15px;
  color: #ddd;
}

/* Deleted notification styling - override blue colors with higher specificity */
.notification-item.deleting,
.notification-item.deleting.unread {
  background-color: #ffffff !important;
  border-left: none !important;
  transition: opacity 0.3s ease;
}



/* Responsive design */
@media (max-width: 768px) {
  .notification-dropdown {
    right: -10px;
    left: -10px;
    min-width: auto;
    max-width: none;
  }
  
  .notification-item {
    padding: 12px 15px;
  }
  
  .notification-dropdown-header {
    padding: 12px 15px;
  }
}

/* Animation for dropdown */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.notification-dropdown.show {
  animation: slideDown 0.3s ease;
}

/* Notification count badge in header - HIDDEN */
.notification-count-badge {
  display: none;
}

.socrat-schedule-call-form {
    width: 100%;
    margin: 0;
    padding: 0;
}
.socrat-schedule-call-form label {
    display: block;
    font-weight: 500;
    color: #222 !important; 
    margin-bottom: 6px;
    margin-left: 2px;
    font-size: 15px;
    text-align: left;
}
.socrat-schedule-call-form input[type="text"],
.socrat-schedule-call-form input[type="email"],
.socrat-schedule-call-form input[type="date"],
.socrat-schedule-call-form input[type="time"] {
    width: 100%;
    padding: 13px 16px;
    border-radius: 22px;
    border: 0.1px solid #D3D3D3; 
    margin-bottom: 18px;
    margin-top: 14px;
    font-size: 15px;
    background: #f1f5fb;
    transition: border 0.2s, box-shadow 0.2s;
}
.socrat-schedule-call-form input:focus {
    outline: none;
    box-shadow: 0 2px 8px #fe843a33;
}
.socrat-schedule-call-form .form-row {
    margin-bottom: 18px;
}
.socrat-schedule-call-form .button-row {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 10px;
}
.socrat-schedule-call-form .socrat-success {
    color: #1a7f37;
    background: #e6f4ea;
    border-radius: 6px;
    padding: 10px 14px;
    margin-bottom: 18px;
    font-weight: 500;
    text-align: center;
}
.socrat-schedule-call-form .socrat-error {
    color: #b91c1c;
    background: #fee2e2;
    border-radius: 6px;
    padding: 10px 14px;
    margin-bottom: 18px;
    font-weight: 500;
    text-align: center;
}
.socrat-schedule-call-form input:-webkit-autofill,
.socrat-schedule-call-form input:-webkit-autofill:focus,
.socrat-schedule-call-form input:-webkit-autofill:hover,
.socrat-schedule-call-form input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #f1f5fb inset !important;
    box-shadow: 0 0 0 1000px #f1f5fb inset !important;
    background-color: #f1f5fb !important;
    color: #333 !important;
    border: 0.1px solid #D3D3D3 !important;
    transition: background-color 5000s ease-in-out 0s;
}
