/* ============================================================
   FILE: _mixins.scss
   Mixins are inlined at point of use throughout this file.
   Utility classes derived from mixins are listed here for reference.

   @mixin a11y-hidden() — applied to .rf-social-icons-inline span (see social icons section)
   @mixin fontawesome-icon-before($icon-code, $icon-size, $margin-right) — apply per-element as needed:
       &::before {
           content: <icon-code>;
           font-family: "Font Awesome 5 Free";
           font-weight: 900;
           font-size: <icon-size>;
           margin-right: 0.75rem; (default: $size-small)
       }
   @mixin transition($type) — resolved to: transition: all 0.3s ease;
   ============================================================ */


/* ============================================================
   FILE: _animation.scss
   @mixin transition and @for loop resolved to plain CSS.
   $breakpoint-tablet = 980px
   ============================================================ */

/* Transition mixin — applied inline wherever @include transition is used */
/* transition: all 0.3s ease; */

/* Delayed blurb entry — @for $i from 2 through 6 resolved */
#rf-body img {
  animation-fill-mode: both;
}

@media only screen and (min-width: 980.02px) {
  #rf-body .et_pb_column:nth-child(2) img { animation-delay: 0.25s; }
  #rf-body .et_pb_column:nth-child(3) img { animation-delay: 0.5s; }
  #rf-body .et_pb_column:nth-child(4) img { animation-delay: 0.75s; }
  #rf-body .et_pb_column:nth-child(5) img { animation-delay: 1s; }
  #rf-body .et_pb_column:nth-child(6) img { animation-delay: 1.25s; }
}


/* ============================================================
   FILE: _layout.scss
   $size-large = 3rem | $size-medium = 1.5rem | $row-width = 90.09%
   $row-max-width = 1920px | $breakpoint-tablet = 980px
   ============================================================ */

*:focus {
  outline: 0 !important;
}

body {
  overflow-x: hidden;
}

.et_pb_section:not(.et_pb_fullwidth_section) {
  padding: 3rem 0;
}

.et_pb_row {
  width: 90.09%;
  max-width: 1920px;
  padding: 1.5rem 0;
}

.et_pb_module {
  margin-bottom: 1.5rem;
}
.et_pb_module.et-last-child,
.et_pb_module:last-child {
  margin-bottom: 0;
}

.rf-centered--row {
  display: flex;
}
.rf-centered--row .et_pb_column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 980px) {
  .rf-centered--row {
    flex-direction: column;
  }
  .rf-centered--row .et_pb_image {
    max-width: 500px;
  }
  .rf-centered--row .et_pb_column:first-child {
    margin-bottom: 3rem;
  }

  /* Add to a row to flip column order on tablet/mobile */
  .rf-flip {
    display: flex;
    flex-direction: column-reverse;
  }
  .rf-flip .et_pb_column:last-child {
    margin-bottom: 3rem !important;
  }
  .rf-flip .et_pb_column:first-child {
    margin-bottom: 0px !important;
  }
}

/* Remove extra space under gallery images */
.et_pb_gallery_image a {
  line-height: 0 !important;
}

@media (max-width: 980px) {
  #rf-body .rf-contact--blurb .et_pb_blurb_content {
    margin: 0;
  }
}


/* ============================================================
   FILE: _social-icons.scss
   $size-medium = 1.5rem | $size-large = 3rem
   $icon-size = $size-medium = 1.5rem
   $size-large - 0.25rem = 2.75rem
   @include a11y-hidden resolved inline
   ============================================================ */

.rf-social-icons-inline .ul-social-et {
  display: flex;
  list-style-type: none;
  padding: 0;
}

.rf-social-icons-inline .ul-social-et .et-social-icon {
  margin: 0 1.5rem 0 0;
}
.rf-social-icons-inline .ul-social-et .et-social-icon:last-child {
  margin: 0;
}

.rf-social-icons-inline .ul-social-et .et-social-icon a {
  font-size: 1.5rem;
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 999px;
  border-style: solid;
  border-width: 0.125rem;
}
.rf-social-icons-inline .ul-social-et .et-social-icon a::before {
  position: relative;
}

/* @include a11y-hidden — visually hides icon labels for screen reader accessibility */
.rf-social-icons-inline .ul-social-et .et-social-icon span {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}


/* ============================================================
   FILE: _forms.scss
   $size-large = 3rem | $size-small = 0.75rem | $size-medium = 1.5rem
   @include font-body() and @extend .rf-button--newsletter resolved inline
   ============================================================ */

/* Recaptcha notice */
.recaptcha {
  font-size: 0.8rem !important;
  opacity: 0.7;
}
.recaptcha * {
  font-size: 0.8rem !important;
}

/* General form overrides */
.gform_validation_errors {
  text-transform: none;
}

/* Gravity Forms wrapper */
.gform_wrapper {
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 15px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.gform_wrapper input {
  border-radius: 5px;
  border: 1px solid #bbb !important;
  background-color: #f8fafc;
}

/* Form error state — @include font-body() resolved */
#et-main-area .gform_wrapper .gform_submission_error {
  font-family: "Geologica", "Open Sans", "Arial", "Helvetica Neue", sans-serif;
  line-height: 1.5rem;
  font-weight: 400;
  font-size: 1rem;
}

/* Consistent input borders */
#et-main-area .gform_wrapper input[type="number"],
#et-main-area .gform_wrapper input[type="text"],
#et-main-area .gform_wrapper input[type="tel"],
#et-main-area .gform_wrapper input[type="email"],
#et-main-area .gform_wrapper input[type="date"],
#et-main-area .gform_wrapper textarea {
  border: 1px solid #bbb !important;
}

/* Hide required fields heading */
.gform_heading {
  display: none;
}

/* Horizontal newsletter layout */
#et-main-area .gform_wrapper .gf_simple_horizontal {
  position: relative;
  display: flex;
  justify-content: center;
}
#et-main-area .gform_wrapper .gf_simple_horizontal,
#et-main-area .gform_wrapper .gf_simple_horizontal * {
  margin: 0 auto;
  max-width: 838px;
  width: 100%;
  height: 3rem;
}
#et-main-area .gform_wrapper .gf_simple_horizontal .gfield {
  padding: 0;
}
#et-main-area .gform_wrapper .gf_simple_horizontal input {
  padding: 0.75rem 1.5rem;
  background-color: transparent;
  border: 1px solid white;
  color: white;
}
#et-main-area .gform_wrapper .gf_simple_horizontal input::placeholder {
  color: rgba(255, 255, 255, 0.7);
}
#et-main-area .gform_wrapper .gf_simple_horizontal .gform_footer {
  position: absolute;
  width: 25%;
  right: 0;
}

/* Newsletter submit button — @extend .rf-button--newsletter resolved */
#et-main-area .gform_wrapper .gf_simple_horizontal #gform_submit_button_2 {
  color: #fff !important;
  background-color: transparent;
  height: fit-content;
  border-left: 1px solid white;
}
#et-main-area .gform_wrapper .gf_simple_horizontal #gform_submit_button_2:hover {
  background-color: #fff !important;
  color: #000000 !important;
  opacity: 1 !important;
  box-shadow: 0 0 0 0.0625rem inset #fff;
}
