/* =========================================================
   Teach-This Feedback Forms
   Clean scoped styling
   Class suffix: tt-feedback-form
   Customer Satisfaction Survey fallback: #cf_5
   ========================================================= */


/* =========================================================
   Form card only
   Do not style Joomla page wrappers or sidebar
   ========================================================= */

.convertforms.tt-feedback-form,
.tt-feedback-form.convertforms,
#cf_5 {
  width: 100% !important;
  max-width: 900px !important;
  margin: 10px auto 22px !important;
  padding: 34px 42px 30px !important;
  background: #ffffff !important;
  border: 1px solid #dde8ee !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 26px rgba(20, 45, 65, 0.075) !important;
  box-sizing: border-box !important;
  color: #2f3d49 !important;
}


/* =========================================================
   Reset HTML blocks
   ========================================================= */

.convertforms.tt-feedback-form .cf-control-group[data-type="html"],
#cf_5 .cf-control-group[data-type="html"] {
  margin: 0 0 22px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   Title block
   First HTML field
   ========================================================= */

.convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type,
#cf_5 .cf-control-group[data-type="html"]:first-of-type {
  margin: 0 0 20px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type h1,
.convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type h2,
.convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type h3,
#cf_5 .cf-control-group[data-type="html"]:first-of-type h1,
#cf_5 .cf-control-group[data-type="html"]:first-of-type h2,
#cf_5 .cf-control-group[data-type="html"]:first-of-type h3 {
  margin: 0 !important;
  padding: 0 !important;
  color: #0b6f8d !important;
  font-size: 30px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   Intro block
   Second HTML field
   ========================================================= */

.convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"],
#cf_5 .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] {
  margin: 0 0 24px !important;
  padding: 18px 22px !important;
  background: #f5fafc !important;
  border: 1px solid #e3eef4 !important;
  border-radius: 11px !important;
  box-shadow: none !important;
}

.convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] p,
#cf_5 .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] p {
  margin: 0 0 9px !important;
  color: #53636f !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

.convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] p:last-child,
#cf_5 .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] p:last-child {
  margin-bottom: 0 !important;
}


/* =========================================================
   Main field spacing
   ========================================================= */

.convertforms.tt-feedback-form .cf-control-group,
#cf_5 .cf-control-group {
  margin: 0 0 20px !important;
  padding: 0 !important;
}

.convertforms.tt-feedback-form .cf-control-label,
#cf_5 .cf-control-label {
  margin: 0 0 8px !important;
  padding: 0 !important;
}

.convertforms.tt-feedback-form .cf-label,
#cf_5 .cf-label {
  color: #344451 !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.convertforms.tt-feedback-form .cf-label:before,
.convertforms.tt-feedback-form .cf-label:after,
#cf_5 .cf-label:before,
#cf_5 .cf-label:after {
  display: none !important;
}

.convertforms.tt-feedback-form .cf-required-label,
#cf_5 .cf-required-label {
  color: #e2534f !important;
  font-weight: 700 !important;
}


/* =========================================================
   Helper text
   ========================================================= */

.convertforms.tt-feedback-form .cf-control-group p,
#cf_5 .cf-control-group p {
  margin: 6px 0 0 !important;
  color: #6b7785 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}


/* =========================================================
   Text fields
   ========================================================= */

.convertforms.tt-feedback-form input[type="text"],
.convertforms.tt-feedback-form input[type="email"],
.convertforms.tt-feedback-form input[type="tel"],
.convertforms.tt-feedback-form input[type="url"],
.convertforms.tt-feedback-form input[type="number"],
.convertforms.tt-feedback-form textarea,
.convertforms.tt-feedback-form select,
#cf_5 input[type="text"],
#cf_5 input[type="email"],
#cf_5 input[type="tel"],
#cf_5 input[type="url"],
#cf_5 input[type="number"],
#cf_5 textarea,
#cf_5 select {
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 13px !important;
  color: #24313c !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  background: #ffffff !important;
  border: 1px solid #d8e2e8 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.convertforms.tt-feedback-form textarea,
#cf_5 textarea {
  min-height: 96px !important;
  resize: vertical !important;
}

.convertforms.tt-feedback-form input[type="text"]:focus,
.convertforms.tt-feedback-form input[type="email"]:focus,
.convertforms.tt-feedback-form input[type="tel"]:focus,
.convertforms.tt-feedback-form input[type="url"]:focus,
.convertforms.tt-feedback-form input[type="number"]:focus,
.convertforms.tt-feedback-form textarea:focus,
.convertforms.tt-feedback-form select:focus,
#cf_5 input[type="text"]:focus,
#cf_5 input[type="email"]:focus,
#cf_5 input[type="tel"]:focus,
#cf_5 input[type="url"]:focus,
#cf_5 input[type="number"]:focus,
#cf_5 textarea:focus,
#cf_5 select:focus {
  border-color: #72bf44 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(114, 191, 68, 0.15) !important;
}


/* =========================================================
   Radio and checkbox lists
   More spacing between circle and text
   Better vertical alignment
   ========================================================= */

.convertforms.tt-feedback-form .cf-list,
#cf_5 .cf-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(310px, 1fr)) !important;
  column-gap: 56px !important;
  row-gap: 13px !important;
  margin: 9px 0 0 !important;
  padding: 0 !important;
  align-items: start !important;
}

.convertforms.tt-feedback-form .cf-list-item,
#cf_5 .cf-list-item {
  margin: 0 !important;
  padding: 0 !important;
}

.convertforms.tt-feedback-form .cf-list-item label,
#cf_5 .cf-list-item label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 17px !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
  color: #354552 !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}


/* Radio and checkbox controls only inside option lists */

.convertforms.tt-feedback-form .cf-list input[type="radio"],
.convertforms.tt-feedback-form .cf-list input[type="checkbox"],
#cf_5 .cf-list input[type="radio"],
#cf_5 .cf-list input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 0 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border: 1.5px solid #a9b5bd !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

.convertforms.tt-feedback-form .cf-list input[type="radio"],
#cf_5 .cf-list input[type="radio"] {
  border-radius: 50% !important;
}

.convertforms.tt-feedback-form .cf-list input[type="checkbox"],
#cf_5 .cf-list input[type="checkbox"] {
  border-radius: 4px !important;
}

.convertforms.tt-feedback-form .cf-list input[type="radio"]:checked,
#cf_5 .cf-list input[type="radio"]:checked {
  border-color: #72bf44 !important;
  background: radial-gradient(circle at center, #72bf44 0 42%, transparent 45%) !important;
}

.convertforms.tt-feedback-form .cf-list input[type="checkbox"]:checked,
#cf_5 .cf-list input[type="checkbox"]:checked {
  border-color: #72bf44 !important;
  background-color: #72bf44 !important;
}

.convertforms.tt-feedback-form .cf-list input[type="radio"]:focus,
.convertforms.tt-feedback-form .cf-list input[type="checkbox"]:focus,
#cf_5 .cf-list input[type="radio"]:focus,
#cf_5 .cf-list input[type="checkbox"]:focus {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(114, 191, 68, 0.16) !important;
}


/* =========================================================
   Star ratings
   Restore Convert Forms style
   Do not apply radio or label styling to stars
   ========================================================= */

.convertforms.tt-feedback-form .nrf-rating-wrapper,
#cf_5 .nrf-rating-wrapper {
  --rating-selected-color: #f6cc01 !important;
  --rating-unselected-color: #cfd2d6 !important;
  --rating-size: 24px !important;
  --rating-gutter: 2px !important;
  margin: 7px 0 0 !important;
  padding: 0 !important;
}

.convertforms.tt-feedback-form .nrf-rating-wrapper input,
#cf_5 .nrf-rating-wrapper input {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

.convertforms.tt-feedback-form .nrf-rating-wrapper label,
#cf_5 .nrf-rating-wrapper label {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 var(--rating-gutter) !important;
  color: var(--rating-unselected-color) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.convertforms.tt-feedback-form .nrf-rating-wrapper .iconFilled,
#cf_5 .nrf-rating-wrapper .iconFilled {
  color: var(--rating-selected-color) !important;
}

.convertforms.tt-feedback-form .nrf-rating-wrapper .iconEmpty,
#cf_5 .nrf-rating-wrapper .iconEmpty {
  color: var(--rating-unselected-color) !important;
}

.convertforms.tt-feedback-form .nrf-rating-wrapper label svg,
#cf_5 .nrf-rating-wrapper label svg {
  width: var(--rating-size) !important;
  height: var(--rating-size) !important;
  fill: currentColor !important;
}


/* =========================================================
   Optional section heading
   Clean text with blue underline
   ========================================================= */

.convertforms.tt-feedback-form .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)),
#cf_5 .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) {
  margin: 32px 0 22px !important;
  padding: 0 0 10px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid #0b6f8d !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.convertforms.tt-feedback-form .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) p,
#cf_5 .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) p {
  margin: 0 !important;
  padding: 0 !important;
}

.convertforms.tt-feedback-form .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) strong,
#cf_5 .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) strong {
  color: #2f3d49 !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}


/* =========================================================
   Submit button
   ========================================================= */

.convertforms.tt-feedback-form .cf-control-group[data-type="submit"],
#cf_5 .cf-control-group[data-type="submit"] {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

.convertforms.tt-feedback-form button,
.convertforms.tt-feedback-form input[type="submit"],
#cf_5 button,
#cf_5 input[type="submit"] {
  min-width: 250px !important;
  min-height: 43px !important;
  padding: 11px 24px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  background: #72bf44 !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 13px rgba(114, 191, 68, 0.24) !important;
  cursor: pointer !important;
}

.convertforms.tt-feedback-form button:hover,
.convertforms.tt-feedback-form input[type="submit"]:hover,
#cf_5 button:hover,
#cf_5 input[type="submit"]:hover {
  background: #63ad39 !important;
}


/* =========================================================
   Turnstile
   Centered and closer to submit button
   ========================================================= */

.convertforms.tt-feedback-form .cf-turnstile,
#cf_5 .cf-turnstile {
  display: flex !important;
  justify-content: center !important;
  margin: 10px 0 18px !important;
}


/* =========================================================
   Hidden honeypot fields
   ========================================================= */

.convertforms.tt-feedback-form .cf-field-hp,
#cf_5 .cf-field-hp {
  display: none !important;
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 991.98px) {
  .convertforms.tt-feedback-form,
  .tt-feedback-form.convertforms,
  #cf_5 {
    max-width: 820px !important;
    padding: 30px 30px 28px !important;
  }

  .convertforms.tt-feedback-form .cf-list,
  #cf_5 .cf-list {
    grid-template-columns: repeat(2, minmax(250px, 1fr)) !important;
    column-gap: 34px !important;
  }
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767.98px) {
  .convertforms.tt-feedback-form,
  .tt-feedback-form.convertforms,
  #cf_5 {
    width: calc(100% - 24px) !important;
    margin: 6px auto 18px !important;
    padding: 24px 20px 24px !important;
    border-radius: 12px !important;
  }

  .convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type h1,
  .convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type h2,
  .convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type h3,
  #cf_5 .cf-control-group[data-type="html"]:first-of-type h1,
  #cf_5 .cf-control-group[data-type="html"]:first-of-type h2,
  #cf_5 .cf-control-group[data-type="html"]:first-of-type h3 {
    font-size: 24px !important;
  }

  .convertforms.tt-feedback-form .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"],
  #cf_5 .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] {
    padding: 16px !important;
  }

  .convertforms.tt-feedback-form .cf-list,
  #cf_5 .cf-list {
    grid-template-columns: 1fr !important;
    row-gap: 10px !important;
  }

  .convertforms.tt-feedback-form .cf-list-item label,
  #cf_5 .cf-list-item label {
    white-space: normal !important;
  }

  .convertforms.tt-feedback-form button,
  .convertforms.tt-feedback-form input[type="submit"],
  #cf_5 button,
  #cf_5 input[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* =========================================================
   Small mobile
   ========================================================= */

@media (max-width: 480px) {
  .convertforms.tt-feedback-form,
  .tt-feedback-form.convertforms,
  #cf_5 {
    width: calc(100% - 20px) !important;
    padding: 22px 16px !important;
  }

  .convertforms.tt-feedback-form .cf-label,
  #cf_5 .cf-label,
  .convertforms.tt-feedback-form .cf-list-item label,
  #cf_5 .cf-list-item label {
    font-size: 14.5px !important;
  }
}

/* =========================================================
   Teach-This Testimonial Form
   Clean scoped styling
   Class suffix: tt-testimonial-form
   Testimonial Form fallback: #cf_4
   ========================================================= */


/* =========================================================
   Form card only
   ========================================================= */

.convertforms.tt-testimonial-form,
.tt-testimonial-form.convertforms,
#cf_4 {
  width: 100% !important;
  max-width: 860px !important;
  margin: 10px auto 22px !important;
  padding: 34px 42px 30px !important;
  background: #ffffff !important;
  border: 1px solid #dde8ee !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 26px rgba(20, 45, 65, 0.075) !important;
  box-sizing: border-box !important;
  color: #2f3d49 !important;
}


/* =========================================================
   Form field layout
   Gives two-column fields proper space
   ========================================================= */

.convertforms.tt-testimonial-form .cf-fields,
#cf_4 .cf-fields {
  display: flex !important;
  flex-wrap: wrap !important;
  column-gap: 22px !important;
  row-gap: 0 !important;
  align-items: flex-start !important;
}

/* Convert Forms half-width fields */
.convertforms.tt-testimonial-form .cf-control-group.cf-one-half,
.convertforms.tt-testimonial-form .cf-control-group[class*="w-1/2"],
#cf_4 .cf-control-group.cf-one-half,
#cf_4 .cf-control-group[class*="w-1/2"] {
  width: calc(50% - 11px) !important;
  flex: 0 0 calc(50% - 11px) !important;
  max-width: calc(50% - 11px) !important;
  box-sizing: border-box !important;
}

/* Full-width fields and HTML blocks */
.convertforms.tt-testimonial-form .cf-control-group:not(.cf-one-half):not([class*="w-1/2"]),
#cf_4 .cf-control-group:not(.cf-one-half):not([class*="w-1/2"]) {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}


/* =========================================================
   General field spacing
   ========================================================= */

.convertforms.tt-testimonial-form .cf-control-group,
#cf_4 .cf-control-group {
  margin: 0 0 16px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.convertforms.tt-testimonial-form .cf-control-label,
#cf_4 .cf-control-label {
  margin: 0 0 8px !important;
  padding: 0 !important;
}


/* =========================================================
   Reset HTML blocks
   ========================================================= */

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"],
#cf_4 .cf-control-group[data-type="html"] {
  margin: 0 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   Title block
   First HTML field
   ========================================================= */

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type,
#cf_4 .cf-control-group[data-type="html"]:first-of-type {
  margin: 0 0 20px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type h1,
.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type h2,
.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type h3,
#cf_4 .cf-control-group[data-type="html"]:first-of-type h1,
#cf_4 .cf-control-group[data-type="html"]:first-of-type h2,
#cf_4 .cf-control-group[data-type="html"]:first-of-type h3 {
  margin: 0 !important;
  padding: 0 !important;
  color: #0b6f8d !important;
  font-size: 30px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
   Intro block
   Second HTML field
   ========================================================= */

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"],
#cf_4 .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] {
  margin: 0 0 24px !important;
  padding: 18px 22px !important;
  background: #f5fafc !important;
  border: 1px solid #e3eef4 !important;
  border-radius: 11px !important;
  box-shadow: none !important;
}

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] p,
#cf_4 .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] p {
  margin: 0 0 9px !important;
  color: #53636f !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] strong,
#cf_4 .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] strong {
  font-weight: 600 !important;
}

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] p:last-child,
#cf_4 .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] p:last-child {
  margin-bottom: 0 !important;
}


/* =========================================================
   Labels and required marks
   ========================================================= */

.convertforms.tt-testimonial-form .cf-label,
#cf_4 .cf-label {
  color: #344451 !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.convertforms.tt-testimonial-form .cf-label:before,
.convertforms.tt-testimonial-form .cf-label:after,
#cf_4 .cf-label:before,
#cf_4 .cf-label:after {
  display: none !important;
}

.convertforms.tt-testimonial-form .cf-required-label,
#cf_4 .cf-required-label {
  color: #e2534f !important;
  font-weight: 700 !important;
}


/* =========================================================
   Text fields
   ========================================================= */

.convertforms.tt-testimonial-form input[type="text"],
.convertforms.tt-testimonial-form input[type="email"],
.convertforms.tt-testimonial-form input[type="tel"],
.convertforms.tt-testimonial-form input[type="url"],
.convertforms.tt-testimonial-form input[type="number"],
.convertforms.tt-testimonial-form textarea,
.convertforms.tt-testimonial-form select,
#cf_4 input[type="text"],
#cf_4 input[type="email"],
#cf_4 input[type="tel"],
#cf_4 input[type="url"],
#cf_4 input[type="number"],
#cf_4 textarea,
#cf_4 select {
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 13px !important;
  color: #24313c !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  background: #ffffff !important;
  border: 1px solid #d8e2e8 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.convertforms.tt-testimonial-form textarea,
#cf_4 textarea {
  min-height: 210px !important;
  resize: vertical !important;
}

.convertforms.tt-testimonial-form input[type="text"]:focus,
.convertforms.tt-testimonial-form input[type="email"]:focus,
.convertforms.tt-testimonial-form input[type="tel"]:focus,
.convertforms.tt-testimonial-form input[type="url"]:focus,
.convertforms.tt-testimonial-form input[type="number"]:focus,
.convertforms.tt-testimonial-form textarea:focus,
.convertforms.tt-testimonial-form select:focus,
#cf_4 input[type="text"]:focus,
#cf_4 input[type="email"]:focus,
#cf_4 input[type="tel"]:focus,
#cf_4 input[type="url"]:focus,
#cf_4 input[type="number"]:focus,
#cf_4 textarea:focus,
#cf_4 select:focus {
  border-color: #72bf44 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(114, 191, 68, 0.15) !important;
}


/* =========================================================
   Prompt questions section
   Tighter spacing, no blue lines
   ========================================================= */

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)),
#cf_4 .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) {
  margin: 8px 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) p,
#cf_4 .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) p {
  margin: 0 0 9px !important;
  padding: 0 !important;
  color: #344451 !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) p:last-child,
#cf_4 .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) p:last-child {
  margin-bottom: 0 !important;
}

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) strong,
#cf_4 .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) strong {
  color: #2f3d49 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}


/* =========================================================
   Textarea spacing
   ========================================================= */

.convertforms.tt-testimonial-form .cf-control-group[data-type="textarea"],
#cf_4 .cf-control-group[data-type="textarea"] {
  margin-bottom: 14px !important;
}


/* =========================================================
   Closing / permission text
   Tighter spacing, no blue lines
   ========================================================= */

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:last-of-type,
#cf_4 .cf-control-group[data-type="html"]:last-of-type {
  margin: 12px 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:last-of-type p,
#cf_4 .cf-control-group[data-type="html"]:last-of-type p {
  margin: 0 0 8px !important;
  color: #53636f !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:last-of-type strong,
#cf_4 .cf-control-group[data-type="html"]:last-of-type strong {
  font-weight: 600 !important;
}

.convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:last-of-type p:last-child,
#cf_4 .cf-control-group[data-type="html"]:last-of-type p:last-child {
  margin-bottom: 0 !important;
}


/* =========================================================
   Turnstile
   ========================================================= */

.convertforms.tt-testimonial-form .cf-turnstile,
#cf_4 .cf-turnstile {
  display: flex !important;
  justify-content: center !important;
  margin: 8px 0 18px !important;
}


/* =========================================================
   Submit button
   ========================================================= */

.convertforms.tt-testimonial-form .cf-control-group[data-type="submit"],
#cf_4 .cf-control-group[data-type="submit"] {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

.convertforms.tt-testimonial-form button,
.convertforms.tt-testimonial-form input[type="submit"],
#cf_4 button,
#cf_4 input[type="submit"] {
  min-width: 250px !important;
  min-height: 43px !important;
  padding: 11px 24px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  background: #72bf44 !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 13px rgba(114, 191, 68, 0.24) !important;
  cursor: pointer !important;
}

.convertforms.tt-testimonial-form button:hover,
.convertforms.tt-testimonial-form input[type="submit"]:hover,
#cf_4 button:hover,
#cf_4 input[type="submit"]:hover {
  background: #63ad39 !important;
}


/* =========================================================
   Hidden honeypot fields
   ========================================================= */

.convertforms.tt-testimonial-form .cf-field-hp,
#cf_4 .cf-field-hp {
  display: none !important;
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 991.98px) {
  .convertforms.tt-testimonial-form,
  .tt-testimonial-form.convertforms,
  #cf_4 {
    max-width: 820px !important;
    padding: 30px 30px 28px !important;
  }

  .convertforms.tt-testimonial-form .cf-fields,
  #cf_4 .cf-fields {
    column-gap: 18px !important;
  }

  .convertforms.tt-testimonial-form .cf-control-group.cf-one-half,
  .convertforms.tt-testimonial-form .cf-control-group[class*="w-1/2"],
  #cf_4 .cf-control-group.cf-one-half,
  #cf_4 .cf-control-group[class*="w-1/2"] {
    width: calc(50% - 9px) !important;
    flex: 0 0 calc(50% - 9px) !important;
    max-width: calc(50% - 9px) !important;
  }
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767.98px) {
  .convertforms.tt-testimonial-form,
  .tt-testimonial-form.convertforms,
  #cf_4 {
    width: calc(100% - 24px) !important;
    margin: 6px auto 18px !important;
    padding: 24px 20px 24px !important;
    border-radius: 12px !important;
  }

  .convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type h1,
  .convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type h2,
  .convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type h3,
  #cf_4 .cf-control-group[data-type="html"]:first-of-type h1,
  #cf_4 .cf-control-group[data-type="html"]:first-of-type h2,
  #cf_4 .cf-control-group[data-type="html"]:first-of-type h3 {
    font-size: 24px !important;
  }

  .convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"],
  #cf_4 .cf-control-group[data-type="html"]:first-of-type + .cf-control-group[data-type="html"] {
    padding: 16px !important;
  }

  .convertforms.tt-testimonial-form .cf-fields,
  #cf_4 .cf-fields {
    display: block !important;
  }

  .convertforms.tt-testimonial-form .cf-control-group.cf-one-half,
  .convertforms.tt-testimonial-form .cf-control-group[class*="w-1/2"],
  #cf_4 .cf-control-group.cf-one-half,
  #cf_4 .cf-control-group[class*="w-1/2"] {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .convertforms.tt-testimonial-form textarea,
  #cf_4 textarea {
    min-height: 180px !important;
  }

  .convertforms.tt-testimonial-form button,
  .convertforms.tt-testimonial-form input[type="submit"],
  #cf_4 button,
  #cf_4 input[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* =========================================================
   Small mobile
   ========================================================= */

@media (max-width: 480px) {
  .convertforms.tt-testimonial-form,
  .tt-testimonial-form.convertforms,
  #cf_4 {
    width: calc(100% - 20px) !important;
    padding: 22px 16px !important;
  }

  .convertforms.tt-testimonial-form .cf-label,
  #cf_4 .cf-label {
    font-size: 14.5px !important;
  }

  .convertforms.tt-testimonial-form .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) p,
  #cf_4 .cf-control-group[data-type="html"]:not(:first-of-type):not(:nth-of-type(2)) p {
    font-size: 14px !important;
  }
}
