/*
 Theme Name: Rotherham Scholar
 Theme URI: https://www.pixant.co.uk
 Description: Rotherham Scholar Theme
 Author: Pixant | Anotine Cutayar
 Author URI: https://www.pixant.co.uk
 Template: Divi
 Version: 1.0.0
*/

/* =========================================================
   GLOBAL SETTINGS
   ========================================================= */

html,
body {
  overscroll-behavior: none;
}

::selection {
  background: #ffb700;
  color: #002c5a;
}

#page-container {
  min-width: 320px;
}

:root {
  font-size: clamp(16px, 1.25vw, 20px);
}



/* =========================================================
   GRAVITY FORMS - SHARED STYLES
   Used by both application and enquiry forms
   ========================================================= */

/* Gravity Forms / Divi reset */
body .custom-gf-steps-form .gform_wrapper,
body .custom-gf-steps-form .gform_wrapper.gravity-theme,
body .custom-gf-enquiry-form .gform_wrapper,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme {
  padding: 0 !important;
  font-family: inherit !important;
}

/* Gravity Forms theme variable overrides */
body .custom-gf-steps-form .gform_wrapper.gravity-theme,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme {
  --gf-color-primary: var(--gcid-primary-color);
  --gf-ctrl-font-family: inherit;
  --gf-ctrl-label-font-family: inherit;
  --gf-ctrl-btn-font-family: inherit;
  --gf-form-gap-y: 20px;
  --gf-field-gap-y: 20px;
}

/* Make Gravity Forms inherit Divi/theme font */
body .custom-gf-steps-form .gform_wrapper,
body .custom-gf-steps-form .gform_wrapper *,
body .custom-gf-steps-form .gform_wrapper.gravity-theme,
body .custom-gf-steps-form .gform_wrapper.gravity-theme *,
body .custom-gf-enquiry-form .gform_wrapper,
body .custom-gf-enquiry-form .gform_wrapper *,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme * {
  font-family: inherit !important;
}

/* Field labels */
body .custom-gf-steps-form .gform_wrapper .gfield_label,
body .custom-gf-steps-form .gform_wrapper .gform-field-label,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gfield_label,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform-field-label,
body .custom-gf-enquiry-form .gform_wrapper .gfield_label,
body .custom-gf-enquiry-form .gform_wrapper .gform-field-label,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gfield_label,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform-field-label {
  color: #ffffff !important;
  font-weight: 500 !important;
  font-size: 1em !important;
  text-transform: none !important;
}

/* Field descriptions */
body .custom-gf-steps-form .gform_wrapper .gfield_description,
body .custom-gf-steps-form .gform_wrapper .gform-field-description,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gfield_description,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform-field-description,
body .custom-gf-enquiry-form .gform_wrapper .gfield_description,
body .custom-gf-enquiry-form .gform_wrapper .gform-field-description,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gfield_description,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform-field-description {
  color: #f2f2f2 !important;
  font-size: 0.75rem !important;
}

/* Required text */
body .custom-gf-steps-form .gform_wrapper .gfield_required,
body .custom-gf-steps-form .gform_wrapper .gfield_required_text,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gfield_required,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gfield_required_text,
body .custom-gf-enquiry-form .gform_wrapper .gfield_required,
body .custom-gf-enquiry-form .gform_wrapper .gfield_required_text,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gfield_required,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gfield_required_text {
  color: var(--gcid-primary-color) !important;
}



/* =========================================================
   GRAVITY FORMS - SHARED INPUT STYLES
   ========================================================= */

/* Inputs, selects and textareas */
body .custom-gf-steps-form .gform_wrapper input[type="text"],
body .custom-gf-steps-form .gform_wrapper input[type="email"],
body .custom-gf-steps-form .gform_wrapper input[type="tel"],
body .custom-gf-steps-form .gform_wrapper input[type="url"],
body .custom-gf-steps-form .gform_wrapper input[type="number"],
body .custom-gf-steps-form .gform_wrapper input[type="date"],
body .custom-gf-steps-form .gform_wrapper textarea,
body .custom-gf-steps-form .gform_wrapper select,
body .custom-gf-steps-form .gform_wrapper.gravity-theme input[type="text"],
body .custom-gf-steps-form .gform_wrapper.gravity-theme input[type="email"],
body .custom-gf-steps-form .gform_wrapper.gravity-theme input[type="tel"],
body .custom-gf-steps-form .gform_wrapper.gravity-theme input[type="url"],
body .custom-gf-steps-form .gform_wrapper.gravity-theme input[type="number"],
body .custom-gf-steps-form .gform_wrapper.gravity-theme input[type="date"],
body .custom-gf-steps-form .gform_wrapper.gravity-theme textarea,
body .custom-gf-steps-form .gform_wrapper.gravity-theme select,
body .custom-gf-enquiry-form .gform_wrapper input[type="text"],
body .custom-gf-enquiry-form .gform_wrapper input[type="email"],
body .custom-gf-enquiry-form .gform_wrapper input[type="tel"],
body .custom-gf-enquiry-form .gform_wrapper textarea,
body .custom-gf-enquiry-form .gform_wrapper select,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme input[type="text"],
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme input[type="email"],
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme input[type="tel"],
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme textarea,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme select {
  background: #f2f2f2 !important;
  border: 0 !important;
  border-radius: 0 !important;
  min-height: 50px !important;
  color: var(--gcid-secondary-color) !important;
  box-shadow: none !important;
  font-size: 1em !important;
}

/* Focus state */
body .custom-gf-steps-form .gform_wrapper input[type="text"]:focus,
body .custom-gf-steps-form .gform_wrapper input[type="email"]:focus,
body .custom-gf-steps-form .gform_wrapper input[type="tel"]:focus,
body .custom-gf-steps-form .gform_wrapper input[type="url"]:focus,
body .custom-gf-steps-form .gform_wrapper input[type="number"]:focus,
body .custom-gf-steps-form .gform_wrapper input[type="date"]:focus,
body .custom-gf-steps-form .gform_wrapper textarea:focus,
body .custom-gf-steps-form .gform_wrapper select:focus,
body .custom-gf-enquiry-form .gform_wrapper input[type="text"]:focus,
body .custom-gf-enquiry-form .gform_wrapper input[type="email"]:focus,
body .custom-gf-enquiry-form .gform_wrapper input[type="tel"]:focus,
body .custom-gf-enquiry-form .gform_wrapper textarea:focus,
body .custom-gf-enquiry-form .gform_wrapper select:focus {
  outline: 2px solid var(--gcid-primary-color) !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}



/* =========================================================
   GRAVITY FORMS - SHARED BUTTON STYLES
   ========================================================= */

body .custom-gf-steps-form .gform_wrapper .gform_page_footer,
body .custom-gf-steps-form .gform_wrapper .gform_footer,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_page_footer,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_footer,
body .custom-gf-enquiry-form .gform_wrapper .gform_footer,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_footer {
  margin-top: 30px !important;
  padding-top: 0 !important;
}

body .custom-gf-steps-form .gform_wrapper .gform_next_button,
body .custom-gf-steps-form .gform_wrapper .gform_previous_button,
body .custom-gf-steps-form .gform_wrapper .gform_button,
body .custom-gf-steps-form .gform_wrapper input[type="submit"],
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_next_button,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_previous_button,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_button,
body .custom-gf-steps-form .gform_wrapper.gravity-theme input[type="submit"],
body .custom-gf-enquiry-form .gform_wrapper .gform_button,
body .custom-gf-enquiry-form .gform_wrapper input[type="submit"],
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_button,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme input[type="submit"] {
  background: var(--gcid-primary-color) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 10px 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body .custom-gf-steps-form .gform_wrapper .gform_next_button:hover,
body .custom-gf-steps-form .gform_wrapper .gform_previous_button:hover,
body .custom-gf-steps-form .gform_wrapper .gform_button:hover,
body .custom-gf-steps-form .gform_wrapper input[type="submit"]:hover,
body .custom-gf-enquiry-form .gform_wrapper .gform_button:hover,
body .custom-gf-enquiry-form .gform_wrapper input[type="submit"]:hover,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_button:hover,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme input[type="submit"]:hover {
  background: var(--gcid-primary-color) !important;
  color: #ffffff !important;
  border: 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}



/* =========================================================
   GRAVITY FORMS - SHARED VALIDATION / ERROR STYLES
   ========================================================= */

body .custom-gf-steps-form .gform_wrapper .gfield_validation_message,
body .custom-gf-steps-form .gform_wrapper .validation_message,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gfield_validation_message,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .validation_message,
body .custom-gf-enquiry-form .gform_wrapper .gfield_validation_message,
body .custom-gf-enquiry-form .gform_wrapper .validation_message,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gfield_validation_message,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .validation_message {
  color: var(--gcid-primary-color) !important;
  background: transparent !important;
  border-color: var(--gcid-primary-color) !important;
  font-size: 0.7rem !important;
}

body .custom-gf-steps-form .gform_wrapper .gform_validation_errors,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_validation_errors,
body .custom-gf-enquiry-form .gform_wrapper .gform_validation_errors,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_validation_errors {
  color: var(--gcid-primary-color) !important;
  border-color: var(--gcid-primary-color) !important;
  box-shadow: none !important;
  font-size: 1em !important;
}

body .custom-gf-steps-form .gform_wrapper .gform_validation_errors h2,
body .custom-gf-steps-form .gform_wrapper .gform_validation_errors a,
body .custom-gf-steps-form .gform_wrapper .gform_validation_errors li,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_validation_errors h2,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_validation_errors a,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_validation_errors li,
body .custom-gf-steps-form .gform_wrapper .gform_submission_error,
body .custom-gf-enquiry-form .gform_wrapper .gform_validation_errors h2,
body .custom-gf-enquiry-form .gform_wrapper .gform_validation_errors a,
body .custom-gf-enquiry-form .gform_wrapper .gform_validation_errors li,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_validation_errors h2,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_validation_errors a,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_validation_errors li,
body .custom-gf-enquiry-form .gform_wrapper .gform_submission_error {
  color: var(--gcid-primary-color) !important;
}

body .custom-gf-steps-form .gform_wrapper .gfield_error input,
body .custom-gf-steps-form .gform_wrapper .gfield_error textarea,
body .custom-gf-steps-form .gform_wrapper .gfield_error select,
body .custom-gf-enquiry-form .gform_wrapper .gfield_error input,
body .custom-gf-enquiry-form .gform_wrapper .gfield_error textarea,
body .custom-gf-enquiry-form .gform_wrapper .gfield_error select {
  border-color: var(--gcid-primary-color) !important;
  outline-color: var(--gcid-primary-color) !important;
}

body .custom-gf-steps-form .gform_wrapper .gform_validation_errors .gform-icon,
body .custom-gf-steps-form .gform_wrapper .gform_validation_errors .gform-icon--circle-error,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_validation_errors .gform-icon,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_validation_errors .gform-icon--circle-error,
body .custom-gf-enquiry-form .gform_wrapper .gform_validation_errors .gform-icon,
body .custom-gf-enquiry-form .gform_wrapper .gform_validation_errors .gform-icon--circle-error,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_validation_errors .gform-icon,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_validation_errors .gform-icon--circle-error,
.gform-theme--framework .gform_validation_errors .gform-icon {
  color: var(--gcid-primary-color) !important;
  border-color: var(--gcid-primary-color) !important;
  box-shadow: none !important;
}



/* =========================================================
   GRAVITY FORMS - SHARED CONFIRMATION MESSAGE
   ========================================================= */

body .custom-gf-steps-form .gform_confirmation_message,
body .custom-gf-steps-form .gform_wrapper .gform_confirmation_message,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_confirmation_message,
body .custom-gf-enquiry-form .gform_confirmation_message,
body .custom-gf-enquiry-form .gform_wrapper .gform_confirmation_message,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_confirmation_message {
  background: var(--gcid-primary-color) !important;
  color: var(--gcid-secondary-color) !important;
  padding: 28px 32px !important;
  border-radius: 10px !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18) !important;
}

body .custom-gf-steps-form .gform_confirmation_message a,
body .custom-gf-enquiry-form .gform_confirmation_message a {
  color: var(--gcid-secondary-color) !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}



/* =========================================================
   GRAVITY FORMS - APPLICATION MULTI-STEP FORM
   Class: custom-gf-steps-form
   ========================================================= */

/* Local variables */
body .custom-gf-steps-form {
  --gf-step-gap: 60px;
  --gf-step-sidebar-width: 350px;
}

/* Two-column layout: steps left, form right */
body .custom-gf-steps-form .gform_wrapper .gf_page_steps,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_page_steps {
  float: left !important;
  width: var(--gf-step-sidebar-width) !important;
  padding-right: var(--gf-step-gap) !important;
  margin: 0 !important;
  border: 0 !important;
}

body .custom-gf-steps-form .gform_wrapper .gform_body,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_body {
  margin-left: calc(var(--gf-step-sidebar-width) + var(--gf-step-gap)) !important;
}

body .custom-gf-steps-form .gform_wrapper::after,
body .custom-gf-steps-form .gform_wrapper.gravity-theme::after {
  content: "";
  display: block;
  clear: both;
}

/* Step navigation */
body .custom-gf-steps-form .gform_wrapper .gf_step,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_step {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  margin: 0 0 30px 0 !important;
  opacity: 0.3;
  text-transform: none !important;
}

body .custom-gf-steps-form .gform_wrapper .gf_step.gf_step_active,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_step.gf_step_active {
  opacity: 1 !important;
}

body .custom-gf-steps-form .gform_wrapper .gf_step.gf_step_completed,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_step.gf_step_completed {
  opacity: 0.5 !important;
}

/* Step number circle */
body .custom-gf-steps-form .gform_wrapper .gf_step_number,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_step_number {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  border-radius: 50% !important;
  background: color-mix(
    in srgb,
    var(--gcid-primary-color) 35%,
    var(--gcid-secondary-color)
  ) !important;
  color: var(--gcid-secondary-color) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  border: 0 !important;
}

/* Active step circle */
body .custom-gf-steps-form .gform_wrapper .gf_step_active .gf_step_number,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_step_active .gf_step_number {
  background: var(--gcid-primary-color) !important;
  color: var(--gcid-secondary-color) !important;
}

/* Completed step circle */
body .custom-gf-steps-form .gform_wrapper .gf_step_completed .gf_step_number,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number {
  background: color-mix(
    in srgb,
    var(--gcid-primary-color) 35%,
    var(--gcid-secondary-color)
  ) !important;
  color: var(--gcid-secondary-color) !important;
  border-color: transparent !important;
}

/* Hide completed step tick/checkmark */
body .custom-gf-steps-form .gform_wrapper .gf_step_completed .gf_step_number::before,
body .custom-gf-steps-form .gform_wrapper .gf_step_completed .gf_step_number::after,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::before,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::after {
  display: none !important;
  content: none !important;
}

/* Step labels */
body .custom-gf-steps-form .gform_wrapper .gf_step_label,
body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_step_label {
  color: #ffffff !important;
  font-weight: 500 !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

/* Application form textarea */
body .custom-gf-steps-form .gform_wrapper textarea {
  min-height: 82px !important;
}



/* =========================================================
   GRAVITY FORMS - GENERAL ENQUIRY FORM
   Class: custom-gf-enquiry-form
   ========================================================= */

/* Hide form title */
body .custom-gf-enquiry-form .gform_title {
  display: none !important;
}

/* Message textarea */
body .custom-gf-enquiry-form .gform_wrapper textarea,
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme textarea {
  min-height: 150px !important;
  resize: vertical;
}

/* Placeholder text */
body .custom-gf-enquiry-form .gform_wrapper input::placeholder,
body .custom-gf-enquiry-form .gform_wrapper textarea::placeholder {
  color: color-mix(
    in srgb,
    var(--gcid-secondary-color) 55%,
    #ffffff
  ) !important;
}

/* Hide the real Gravity Forms submit button but keep it clickable by JavaScript */
body .custom-gf-enquiry-form .gform_wrapper .gform_footer input[type="submit"],
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
body .custom-gf-enquiry-form .gform_wrapper .gform_footer button[type="submit"],
body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_footer button[type="submit"] {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}



/* =========================================================
   RESPONSIVE STYLES
   ========================================================= */

@media (max-width: 980px) {
  /* Multi-step form layout */
  body .custom-gf-steps-form {
    --gf-step-gap: 0px;
    --gf-step-sidebar-width: 100%;
  }

  body .custom-gf-steps-form .gform_wrapper .gf_page_steps,
  body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_page_steps {
    float: none !important;
    width: 100% !important;
    padding-right: 0 !important;
    margin-bottom: 30px !important;
  }

  body .custom-gf-steps-form .gform_wrapper .gform_body,
  body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_body {
    margin-left: 0 !important;
  }

  body .custom-gf-steps-form .gform_wrapper .gf_step,
  body .custom-gf-steps-form .gform_wrapper.gravity-theme .gf_step {
    margin-bottom: 14px !important;
  }

  /* Enquiry form */
  body .custom-gf-enquiry-form .gform_wrapper .gform_footer,
  body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_footer {
    margin-top: 24px !important;
  }

  /* Confirmation messages */
  body .custom-gf-steps-form .gform_confirmation_message,
  body .custom-gf-steps-form .gform_wrapper .gform_confirmation_message,
  body .custom-gf-steps-form .gform_wrapper.gravity-theme .gform_confirmation_message,
  body .custom-gf-enquiry-form .gform_confirmation_message,
  body .custom-gf-enquiry-form .gform_wrapper .gform_confirmation_message,
  body .custom-gf-enquiry-form .gform_wrapper.gravity-theme .gform_confirmation_message {
    padding: 22px 24px !important;
    font-size: 1.1rem !important;
  }
}