/********************************
custom checkbox styles
*********************************/
input[type=checkbox] {
  width: 1rem;
  height: 1rem;
  border-radius: 0.25rem;
  position: relative; }
  input[type=checkbox]:focus {
    outline-offset: 0.1875rem;
    outline-style: auto; }
  input[type=checkbox]::before {
    content: "";
    display: block;
    position: absolute;
    text-align: center;
    height: 1.125rem;
    width: 1.125rem;
    background-color: #ffffff;
    border: 0.125rem solid #6B6B6B;
    border-radius: 0.25rem; }
  input[type=checkbox]:hover::before {
    background-color: #ffffff;
    border-color: #116eee; }
  input[type=checkbox]:checked::before {
    background-color: #116eee;
    border-color: #116eee; }
  input[type=checkbox]:checked::after, input[type=checkbox]:hover::after {
    content: url("../images/check.svg");
    display: block;
    position: absolute; }
  input[type=checkbox]:hover::after {
    content: url("../images/check-hover.svg"); }

/********************************
custom Radio styles
*********************************/
.rb-container input[type='radio'] {
  position: absolute;
  opacity: 0;
  z-index: 999;
  width: 1.125rem;
  height: 1.125rem;
  cursor: pointer; }
  .rb-container input[type='radio'] + .custom-radio::before {
    content: '';
    background: #ffffff;
    border-radius: 100%;
    border: 0.125rem solid #6B6B6B;
    display: inline-block;
    width: 1.125rem;
    height: 1.125rem;
    transition: all 250ms ease; }
  .rb-container input[type='radio']:hover + .custom-radio::before {
    box-shadow: inset 0 0 0 0.125rem #DFEAF9;
    background-color: #9cc1f6;
    border-color: #116eee; }
  .rb-container input[type='radio']:checked + .custom-radio::before {
    box-shadow: inset 0 0 0 0.09375rem #ffffff;
    background-color: #116eee;
    border-color: #116eee; }

.invalid-feedback {
  color: #e81111; }

.form-container .remove-item {
  background-color: transparent; }

.form-container .form-content .btn-outline-secondary {
  border-color: #a9a9a9; }
  .form-container .form-content .btn-outline-secondary:focus, .form-container .form-content .btn-outline-secondary:active:focus {
    box-shadow: none; }
  .form-container .form-content .btn-outline-secondary:hover, .form-container .form-content .btn-outline-secondary:active {
    color: #333333;
    background-color: #f0f2f5;
    border-color: #cdd3d5; }
  .form-container .form-content .btn-outline-secondary:focus {
    border: 0.125rem solid #0023aa; }

.form-container .form-field {
  margin-bottom: 0.9375rem; }
  @media (min-width: 720px) {
    .form-container .form-field {
      margin-bottom: 1.25rem; } }
  .form-container .form-field .tooltip-icon {
    top: 0.3125rem; }
  .form-container .form-field.error .invalid-feedback {
    display: block; }

.form-container .form-control {
  color: #000000;
  border-radius: 0.1875rem;
  border: 0.0625rem solid #a9a9a9;
  padding: 0.5rem 0.5625rem 0.5625rem 1rem;
  height: 2.5rem; }
  .form-container .form-control:focus {
    color: #293634;
    border: 0.125rem solid #116eee;
    outline: 0;
    box-shadow: none; }
  .form-container .form-control:active {
    border-color: #116eee; }
  .form-container .form-control:hover {
    cursor: pointer;
    border-color: #4A4A4A; }
  .form-container .form-control.custom-select {
    padding: 0.3125rem 0.3125rem 0.5625rem 1rem; }
  .form-container .form-control.is-invalid, .form-container .form-control.error {
    border-color: #d20000; }

.form-container .input-group {
  outline-offset: 0;
  border-radius: 0.1875rem; }
  .form-container .input-group.error {
    border: 0.125rem solid #e81111; }

.add-btn-global {
  border-radius: 0.1875rem;
  cursor: pointer;
  border: 0.0625rem solid #a9a9a9;
  padding: 0.625rem 0.875rem; }
  .add-btn-global img {
    width: 0.625rem;
    height: 0.625rem; }
  .add-btn-global .spin-msg-global {
    color: #116eee; }

.input-group.zipcode-input {
  border: solid 1px #a9a9a9;
  border-radius: 0.1875rem; }
  .input-group.zipcode-input .zipcode-search {
    height: 2.375rem; }

#zipcode-error {
  position: absolute;
  top: 100%;
  padding-top: 0.25rem; }

.input-group:focus-within:not(.student-count) {
  border: solid 0.125rem #0023aa; }

.input-group:focus-within > input.zipcode-search.error {
  border: 0.125rem solid #e81111; }

.input-group.error:focus-within {
  border: 0.125rem solid #e81111; }

.quantity-decrease.disabled,
.quantity-increase.disabled {
  pointer-events: none; }
  .quantity-decrease.disabled .minus-sign,
  .quantity-decrease.disabled img,
  .quantity-increase.disabled .minus-sign,
  .quantity-increase.disabled img {
    opacity: 0.3; }

label.error {
  font-size: 0.8125rem;
  color: #e81111; }

/* remove default arrows from input[type=number] */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

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

/* clears the 'X' from search */
input[type=search]::-ms-clear {
  display: none;
  width: 0;
  height: 0; }

input[type=search]::-ms-reveal {
  display: none;
  width: 0;
  height: 0; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none; }

.order-summary-conatiner {
  background-color: #ffffff; }

.cart-page {
  margin: 1.5rem 0 2.375rem; }
  @media (min-width: 720px) {
    .cart-page {
      margin: 3rem 0; } }
  @media (min-width: 720px) {
    .cart-page {
      margin: 4.375rem 0 3rem; } }
  .cart-page .subscription-title {
    font-size: 1.5rem;
    line-height: 1.8125rem; }
    @media (min-width: 720px) {
      .cart-page .subscription-title {
        font-size: 2rem;
        line-height: 2.375rem; } }
  .cart-page .product-info,
  .cart-page .order-summary-conatiner {
    border-radius: 1rem; }
  .cart-page .image-wrapper {
    width: 30%; }
  .cart-page .details-wrapper {
    width: 68%; }
    @media (min-width: 720px) {
      .cart-page .details-wrapper {
        width: 65%;
        padding: 0 7% 0 0; } }
    .cart-page .details-wrapper .item-name {
      font-size: 1.125rem;
      line-height: 1.25rem; }
      @media (min-width: 720px) {
        .cart-page .details-wrapper .item-name {
          font-size: 2rem;
          line-height: 2.375rem; } }
  .cart-page .term-details {
    width: 100%;
    float: left;
    margin: 0.75rem 0 0 0; }
    @media (min-width: 720px) {
      .cart-page .term-details {
        width: 65%;
        float: right;
        margin: 0; } }
    @media (min-width: 1440px) {
      .cart-page .term-details {
        padding: 0 5.5% 0 0; } }
  .cart-page .item-image .product-image {
    max-height: none; }
  .cart-page .cart-delete-confirmation-btn {
    background-color: #ffffff;
    font-weight: 500;
    color: #2347d1; }
    .cart-page .cart-delete-confirmation-btn:hover {
      color: #0023aa; }
  .cart-page .product-remove-error,
  .cart-page .teacher-remove-error {
    color: #e81111; }
  .cart-page .term-wrapper .term-heading-text {
    cursor: pointer;
    padding: 0 0.625rem 0 0;
    line-height: 1.1875rem; }
    @media (min-width: 720px) {
      .cart-page .term-wrapper .term-heading-text {
        line-height: 1.5rem; } }
  .cart-page .term-wrapper .term-arrow {
    width: 1.125rem;
    height: 1.125rem;
    display: block;
    background: url("../images/icon-down-normal.svg") no-repeat;
    background-position: bottom; }
  .cart-page .term-wrapper .term-dropdown {
    padding: 1rem 1.75rem 1rem 2.25rem;
    background-color: #ffffff;
    box-shadow: 0 0.125rem 0.5rem 0 rgba(0, 0, 0, 0.25);
    border-radius: 0.25rem;
    display: none;
    z-index: 2;
    top: 1.4375rem; }
    @media (min-width: 720px) {
      .cart-page .term-wrapper .term-dropdown {
        top: 1.75rem; } }
  .cart-page .term-wrapper .term-option {
    outline-offset: 0;
    border-radius: 0.25rem; }
    .cart-page .term-wrapper .term-option:hover, .cart-page .term-wrapper .term-option:focus, .cart-page .term-wrapper .term-option.active {
      color: #0953BA;
      background-color: #f0f6ff; }
    .cart-page .term-wrapper .term-option:active {
      color: #022a62;
      background-color: #ddeafd; }
    .cart-page .term-wrapper .term-option:hover {
      cursor: pointer; }
    .cart-page .term-wrapper .term-option.active::before {
      content: '';
      width: 1rem;
      height: 1rem;
      display: inline-block;
      position: absolute;
      background: url("../images/icon-selected-check.svg");
      left: -1.1875rem;
      top: 0.1875rem; }
  .cart-page .term-wrapper.active .term-arrow {
    transform: rotate(180deg);
    position: relative;
    top: 0.4375rem; }
  .cart-page .term-wrapper.active .term-dropdown {
    display: block; }
  .cart-page .term-wrapper.no-dropdown .term-heading-text {
    cursor: auto; }
  .cart-page .term-wrapper.no-dropdown .term-arrow {
    display: none; }
  .cart-page .format-details {
    border: 0.125rem solid #cdd3d5;
    width: 47.5%;
    cursor: pointer;
    border-radius: 0.5rem; }
    @media (min-width: 1280px) and (max-width: 1599.98px) {
      .cart-page .format-details {
        width: 48.5%; } }
    .cart-page .format-details.active {
      background-color: #f0f6ff;
      border: 0.125rem solid #116eee;
      position: relative;
      box-shadow: 0 0.125rem 0.25rem 0 rgba(0, 0, 0, 0.5); }
      .cart-page .format-details.active::before, .cart-page .format-details.active::after,
      .cart-page .format-details.active .triangle-outline,
      .cart-page .format-details.active .triangle-outline1 {
        content: '';
        border: solid transparent;
        position: absolute;
        pointer-events: none;
        border-width: 0.625rem;
        margin-left: -0.125rem;
        left: 45%; }
      .cart-page .format-details.active::before {
        top: 100%;
        border-top-color: #116eee;
        z-index: 1; }
      .cart-page .format-details.active::after {
        top: 96%;
        border-top-color: #f0f6ff;
        z-index: 1; }
      .cart-page .format-details.active .triangle-outline {
        top: 106%;
        border-top-color: #0023aa; }
      .cart-page .format-details.active .triangle-outline1 {
        top: 104%;
        border-top-color: #cdd3d5; }
      .cart-page .format-details.active .form-check-label {
        color: #000000; }
    .cart-page .format-details:focus .support {
      display: block; }
    .cart-page .format-details .support {
      display: none; }
    .cart-page .format-details .form-check-label {
      color: #000000;
      line-height: 1.0625rem; }
      @media (min-width: 720px) {
        .cart-page .format-details .form-check-label {
          font-size: 1rem;
          line-height: 1.1875rem; } }
    .cart-page .format-details .price {
      color: #000000; }
    .cart-page .format-details .strike-out-price {
      line-height: 1.3125rem;
      -webkit-text-decoration-line: line-through;
              text-decoration-line: line-through; }
    .cart-page .format-details .student-label,
    .cart-page .format-details .strike-out-price {
      font-size: 0.75rem;
      line-height: 0.875rem; }
  .cart-page .term-type {
    display: none;
    margin: 1rem 0 1.25rem; }
    @media (min-width: 720px) {
      .cart-page .term-type {
        margin: 1.25rem 0; } }
    .cart-page .term-type.active {
      display: -ms-flexbox;
      display: flex; }
  .cart-page .subscription-info .sub-icon {
    width: 2rem;
    height: 2rem;
    background-image: linear-gradient(to bottom, rgba(163, 197, 247, 0.5) 50%, rgba(165, 228, 232, 0.5) 100%); }
  .cart-page .subscription-info .sub-msg {
    width: calc(100% - 32px); }
  .cart-page .spin-details {
    background-color: #f7f6f4;
    padding: 0.6875rem 0.5rem;
    height: 0.75rem;
    transform: translate(-0.1875rem, -0.1875rem); }
    .cart-page .spin-details::before {
      left: -0.0625rem;
      top: -0.01562rem;
      height: 1.1875rem;
      width: 1.1875rem; }
    .cart-page .spin-details::after {
      left: 0.1875rem;
      top: -0.21875rem; }
    .cart-page .spin-details .spin-msg {
      line-height: 1.1875rem; }

@media (max-width: 719.98px) {
  .form-container .solid-line {
    display: block;
    border-bottom: 0.125rem solid #d4d4d4; } }

.form-container .form-label {
  line-height: 1.0625rem; }

.form-container .remove-btn {
  background-color: transparent;
  border-color: transparent; }

.form-container .delete-box {
  height: 2.5rem; }
  @media (min-width: 720px) {
    .form-container .delete-box {
      height: auto; } }
  @media (max-width: 719.98px) {
    .form-container .delete-box .remove-line-item {
      position: absolute;
      right: -1.25rem; } }

@media (min-width: 720px) {
  .form-container .teacher-details {
    border-bottom: 0.125rem solid #d4d4d4; } }

.form-container:last-child .solid-line {
  display: none; }

.form-container:last-child .solid-line,
.form-container:last-child .teacher-details {
  border-bottom: none; }

.remove-teacher {
  cursor: pointer; }

@media (min-width: 720px) and (max-width: 1279.98px) {
  .form-heading-text {
    max-width: 48%; } }

.input-group .btn {
  width: 2.1875rem; }

.school-fields {
  display: none; }

.no-school-found {
  color: #2347d1; }

#quantity-error {
  display: none !important; }

.sdp-keep-shoping {
  max-width: fit-content; }

button[data-tooltip-for] {
  border-radius: 50%;
  outline-offset: 0.0625rem;
  width: 1.125rem; }
  button[data-tooltip-for] img {
    padding-top: 0; }

.total-label {
  padding-top: 0.125rem; }

.spin-checkbox {
  position: relative;
  background-color: #f8f8f8;
  border-radius: 0.25rem; }
