/*
 * Fluent Forms styles for wildyakexpeditions.com.
 * Author: Pravash Karki - pravashkarki.com
 *
 * The theme's Gravity Forms rules (style.css, 20260904b), rewritten for Fluent's markup by
 * selector, so each Fluent form looks as its Gravity form did. Then the few pieces Fluent's
 * markup needs that Gravity's did not.
 */

/* Fluent puts a field's own classes on its input as well as its row: the column widths
   belong to the row only. */
.fluentform .ff-el-form-control.half-column,
.fluentform .ff-el-form-control.one-third-column,
.fluentform .ff-el-form-control.hide-label {
  width: 100%;
  margin: 0;
  float: none;
}

/* Fluent's fieldset carries margin:0 inline, so the negative gutter goes on the form. */
.booking-form .frm-fluent-form,
.trip-planner__form .frm-fluent-form {
  margin: 0 -10px;
}
.booking-form .frm-fluent-form > fieldset,
.trip-planner__form .frm-fluent-form > fieldset {
  margin: 0 !important;
}
.frm-fluent-form > fieldset > .ff_submit_btn_wrapper {
  width: 100%;
}
.booking-form .ff_submit_btn_wrapper,
.trip-planner__form .ff_submit_btn_wrapper {
  padding: 0 10px;
}

/* Gravity's red required mark. */
.fluentform .ff-el-group .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
  content: "*";
  color: #FF0F00;
  margin-left: 0;
}

/* Fluent hides the honeypot inline; the reCAPTCHA row keeps Gravity's spacing. */
.fluentform .ff-el-group.ff-el-recaptcha,
.fluentform .ff-el-group .ff-el-recaptcha {
  margin-bottom: 20px;
}

/* Fluent colours its submit button from this variable; its default skin, which sets it, is off. */
.fluentform {
  --fluentform-primary: rgb(0, 167, 224);
}

.fluentform {
  margin: 0;
}
.fluentform form:before,
.fluentform form:after {
  content: "";
  display: table;
}
.fluentform form:after {
  clear: both;
}
.fluentform .frm-fluent-form > fieldset {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}
.fluentform .ff-el-group {
  margin: 0 0 15px;
}
.fluentform .ff-el-group label {
  color: rgba(0, 0, 0, 0.6);
  font-family: "ProximaNova-Bold", sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  margin-bottom: 6px;
  display: block;
  text-align: left;
}
.form-wrap--dark .fluentform .ff-el-group label {
  color: rgba(255, 255, 255, 0.6) !important;
}
.fluentform .ff-el-group label:hover + div input,
.fluentform .ff-el-group label:hover + div textarea,
.fluentform .ff-el-group label:hover + div select {
  border: 2px solid rgba(0, 0, 0, 0.6);
}
.form-wrap--dark .fluentform .ff-el-group label:hover + div input,
.form-wrap--dark .fluentform .ff-el-group label:hover + div textarea,
.form-wrap--dark .fluentform .ff-el-group label:hover + div select {
  border: 2px solid rgba(0, 0, 0, 0.6);
}
.fluentform .ff-el-group.hide-label label {
  display: none;
}
.fluentform .ff-el-group.hide-field,
.fluentform .ff-el-group.ff-hpsf-container {
  display: none;
}
.fluentform .ff-el-group .ff-el-input--content {
  margin: 0;
}
.fluentform .ff-el-group .ff-el-input--content input,
.fluentform .ff-el-group .ff-el-input--content textarea,
.fluentform .ff-el-group .ff-el-input--content select {
  background: #E6E6E6;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 6px;
  font-size: 24px;
  font-size: 1.5rem;
  font-family: "ProximaNova-Bold", sans-serif;
  padding: 20px 25px;
  font-weight: 400;
  width: 100%;
  letter-spacing: 0.2px;
  border: 2px solid #E6E6E6;
  -webkit-transition: border 0.2s ease;
  transition: border 0.2s ease;
  height: inherit;
  margin: 0;
  line-height: 1.3;
  -webkit-appearance: none;
  outline: none;
  color: rgba(0, 0, 0, 0.8);
}
@media (max-width: 767px) {
  .fluentform .ff-el-group .ff-el-input--content input,
  .fluentform .ff-el-group .ff-el-input--content textarea,
  .fluentform .ff-el-group .ff-el-input--content select {
    font-size: 16px;
    font-size: 1rem;
    padding: 10px 15px;
  }
}
.fluentform .ff-el-group .ff-el-input--content input::-webkit-input-placeholder,
.fluentform .ff-el-group .ff-el-input--content textarea::-webkit-input-placeholder,
.fluentform .ff-el-group .ff-el-input--content select::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.fluentform .ff-el-group .ff-el-input--content input::-moz-placeholder,
.fluentform .ff-el-group .ff-el-input--content textarea::-moz-placeholder,
.fluentform .ff-el-group .ff-el-input--content select::-moz-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.fluentform .ff-el-group .ff-el-input--content input:-ms-input-placeholder,
.fluentform .ff-el-group .ff-el-input--content textarea:-ms-input-placeholder,
.fluentform .ff-el-group .ff-el-input--content select:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.fluentform .ff-el-group .ff-el-input--content input:-moz-placeholder,
.fluentform .ff-el-group .ff-el-input--content textarea:-moz-placeholder,
.fluentform .ff-el-group .ff-el-input--content select:-moz-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.fluentform .ff-el-group .ff-el-input--content input:hover,
.fluentform .ff-el-group .ff-el-input--content textarea:hover,
.fluentform .ff-el-group .ff-el-input--content select:hover {
  border: 2px solid rgba(0, 0, 0, 0.6);
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content input:hover,
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content textarea:hover,
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content select:hover {
  border: 2px solid rgba(0, 0, 0, 0.6);
}
.fluentform .ff-el-group .ff-el-input--content input:focus,
.fluentform .ff-el-group .ff-el-input--content textarea:focus,
.fluentform .ff-el-group .ff-el-input--content select:focus {
  border: 2px solid #00A7E0;
  -webkit-box-shadow: 0px 0px 6px #00A7E0;
          box-shadow: 0px 0px 6px #00A7E0;
  background-color: #FFFFFF;
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content input:focus,
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content textarea:focus,
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content select:focus {
  border: 2px solid #00A7E0;
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content input,
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content textarea,
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content select {
  background: #F8F8F8;
  border: 2px solid #F8F8F8;
}
.fluentform .ff-el-group .ff-el-input--content textarea {
  height: 160px;
  display: block;
}
.fluentform .ff-el-group .ff-el-input--content:has(> select) {
  position: relative;
}
.fluentform .ff-el-group .ff-el-input--content:has(> select):after {
  content: "";
  position: absolute;
  top: 30px;
  width: 18px;
  height: 16px;
  right: 25px;
  background: url("/wp-content/themes/wildyakexpeditions/assets/images/select-arrow.svg") no-repeat right center;
  pointer-events: none;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .fluentform .ff-el-group .ff-el-input--content:has(> select):after {
    top: 16px;
    right: 15px;
  }
}
.fluentform .ff-el-group .ff-el-input--content:has(> select) select {
  padding-right: 65px;
}
.fluentform .ff-el-group .ff-el-input--content.ff-el-input--content .screen-reader-text {
  display: none;
}
.fluentform .ff-el-group.gf_left_half,
.fluentform .ff-el-group.gf_right_half {
  display: inline-block;
  vertical-align: top;
  width: calc(50% - 7px);
  margin-right: 7px;
}
.fluentform .ff-el-group.gf_left_half.gf_right_half,
.fluentform .ff-el-group.gf_right_half.gf_right_half {
  margin-right: 0;
  margin-left: 7px;
}
@media screen and (max-width: 767px) {
  .fluentform .ff-el-group.gf_left_half.gf_right_half,
  .fluentform .ff-el-group.gf_right_half.gf_right_half {
    margin-left: 0;
  }
}
@media (max-width: 767px) {
  .fluentform .ff-el-group.gf_left_half,
  .fluentform .ff-el-group.gf_right_half {
    width: 100%;
    margin-right: 0;
  }
}
.fluentform .ff-el-group .clear-multi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.fluentform .ff-el-group .ff-el-input--content li {
  position: relative;
  padding-left: 40px;
}
.fluentform .ff-el-group .ff-el-input--content li br {
  display: none;
}
.fluentform .ff-el-group .ff-el-input--content li label {
  display: block;
  text-transform: none;
  letter-spacing: normal;
  margin: 0;
}
.fluentform .ff-el-group .ff-el-input--content li label:after {
  content: "";
  background: transparent;
  width: 29px;
  height: 26px;
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
  border: 1px solid #000000;
  z-index: 0;
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content li label:after {
  border-color: #FFFFFF;
}
.fluentform .ff-el-group .ff-el-input--content li label:before {
  content: "";
  display: block;
  position: absolute;
  width: 6px;
  height: 16px;
  border: solid #000000;
  border-width: 0 3px 3px 0;
  left: 11px;
  top: 5px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  opacity: 0;
  z-index: 1;
  -webkit-transition: all 100ms;
  transition: all 100ms;
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-input--content li label:before {
  border-color: #FFFFFF;
}
.fluentform .ff-el-group input[type=checkbox] {
  opacity: 0;
  outline: none;
  z-index: 100;
  width: 29px;
  height: 26px;
  top: 0;
  left: 0;
  position: absolute;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  padding: 0;
}
.fluentform .ff-el-group input[type=checkbox] + label {
  cursor: pointer;
}
.fluentform .ff-el-group input[type=checkbox]:checked + label:before {
  opacity: 1;
  top: 3px;
}
.fluentform .ff-el-group .ff-el-form-check {
  position: relative;
  padding-left: 40px;
}
.fluentform .ff-el-group .ff-el-form-check label {
  display: block;
  text-transform: none;
  letter-spacing: normal;
  margin: 0;
}
.fluentform .ff-el-group .ff-el-form-check label a {
  color: #FC914A;
}
.fluentform .ff-el-group .ff-el-form-check label a:hover {
  color: #000000;
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-form-check label a:hover {
  color: #FFFFFF;
}
.fluentform .ff-el-group .ff-el-form-check label:after {
  content: "";
  background: transparent;
  width: 29px;
  height: 26px;
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
  border: 1px solid #000000;
  z-index: 0;
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-form-check label:after {
  border-color: #FFFFFF;
}
.fluentform .ff-el-group .ff-el-form-check label:before {
  content: "";
  display: block;
  position: absolute;
  width: 6px;
  height: 16px;
  border: solid #000000;
  border-width: 0 3px 3px 0;
  left: 11px;
  top: 5px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  opacity: 0;
  z-index: 1;
  -webkit-transition: all 100ms;
  transition: all 100ms;
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-form-check label:before {
  border-color: #FFFFFF;
}
.fluentform .ff-el-group .ff-el-form-check input[type=checkbox]:checked + label:before {
  top: 5px;
}
.fluentform .ff-el-group.small .ff-el-input--content textarea {
  height: 205px;
}
@media screen and (max-width: 767px) {
  .fluentform .ff-el-group.small .ff-el-input--content textarea {
    height: 155px;
  }
}
.fluentform .ff-el-group .ff-el-form-check label {
  position: relative;
  cursor: pointer;
}
.fluentform .ff-el-group .ff-el-form-check input[type=radio] {
  display: none;
}
.fluentform .ff-el-group .ff-el-form-check input[type=radio] + label:before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: 0px 10px 0 0;
  vertical-align: middle;
  cursor: pointer;
  border-radius: 50%;
  background-color: transparent;
  border: 1px solid #000000;
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-form-check input[type=radio] + label:before {
  border-color: #FFFFFF;
}
.fluentform .ff-el-group .ff-el-form-check input[type=radio]:checked + label {
  position: relative;
}
.fluentform .ff-el-group .ff-el-form-check input[type=radio]:checked + label:before {
  background-color: #000000;
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-form-check input[type=radio]:checked + label:before {
  background-color: #FFFFFF;
}
.fluentform .ff-el-group.ff-el-is-error .ff-el-input--label label {
  color: #FF0F00;
}
.fluentform .ff-el-group.ff-el-is-error .ff-el-input--label label:hover + div input,
.fluentform .ff-el-group.ff-el-is-error .ff-el-input--label label:hover + div select,
.fluentform .ff-el-group.ff-el-is-error .ff-el-input--label label:hover + div textarea {
  border-color: #FF0F00;
}
.fluentform .ff-el-group.ff-el-is-error input,
.fluentform .ff-el-group.ff-el-is-error select,
.fluentform .ff-el-group.ff-el-is-error textarea {
  border: 2px solid #FF0F00;
  -webkit-box-shadow: 0px 0px 6px #FF0F00;
          box-shadow: 0px 0px 6px #FF0F00;
  background-color: #FFFFFF;
  color: #FF0F00;
}
.fluentform .ff-el-group.ff-el-is-error input::-webkit-input-placeholder,
.fluentform .ff-el-group.ff-el-is-error select::-webkit-input-placeholder,
.fluentform .ff-el-group.ff-el-is-error textarea::-webkit-input-placeholder {
  color: #FF0F00;
}
.fluentform .ff-el-group.ff-el-is-error input::-moz-placeholder,
.fluentform .ff-el-group.ff-el-is-error select::-moz-placeholder,
.fluentform .ff-el-group.ff-el-is-error textarea::-moz-placeholder {
  color: #FF0F00;
}
.fluentform .ff-el-group.ff-el-is-error input:-ms-input-placeholder,
.fluentform .ff-el-group.ff-el-is-error select:-ms-input-placeholder,
.fluentform .ff-el-group.ff-el-is-error textarea:-ms-input-placeholder {
  color: #FF0F00;
}
.fluentform .ff-el-group.ff-el-is-error input:-moz-placeholder,
.fluentform .ff-el-group.ff-el-is-error select:-moz-placeholder,
.fluentform .ff-el-group.ff-el-is-error textarea:-moz-placeholder {
  color: #FF0F00;
}
.form-wrap--dark .fluentform .ff-el-group.ff-el-is-error input,
.form-wrap--dark .fluentform .ff-el-group.ff-el-is-error select,
.form-wrap--dark .fluentform .ff-el-group.ff-el-is-error textarea {
  border: 2px solid #FF0F00;
}
.fluentform .ff_submit_btn_wrapper {
  width: 100%;
  margin-top: 30px;
}
.fluentform .ff_submit_btn_wrapper .ff-btn-submit {
  border: none;
  display: inline-block;
  vertical-align: top;
  padding: 21px 40px 19px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.13;
  letter-spacing: 1.1px;
  font-family: "ProximaNova-Bold", sans-serif;
  text-transform: uppercase;
  color: #FFFFFF;
  position: relative;
  z-index: 1;
  overflow: hidden;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.fluentform .ff_submit_btn_wrapper .ff-btn-submit:hover,
.fluentform .ff_submit_btn_wrapper .ff-btn-submit:focus {
  background: #FC914A;
  color: #FFFFFF;
}
.ff-el-is-error .error {
  font-size: 14px;
  font-size: 0.875rem;
  color: #F80000;
  padding: 4px 0;
}
.ff-message-success {
  background-color: #fcfff5;
  color: #2c662d;
  text-align: center;
  -webkit-box-shadow: 0 0 0 1px #a3c293 inset, 0 0 0 0 transparent;
          box-shadow: 0 0 0 1px #a3c293 inset, 0 0 0 0 transparent;
  padding: 10px;
}
.footer-subscribe .frm-fluent-form {
  width: 62%;
}
@media screen and (max-width: 450px) {
  .footer-subscribe .frm-fluent-form {
    width: 100%;
  }
}
.footer-subscribe .fluentform .ff_submit_btn_wrapper {
  width: 30%;
  margin-top: 0;
}
@media screen and (max-width: 450px) {
  .footer-subscribe .fluentform .ff_submit_btn_wrapper {
    width: 100%;
  }
}
.footer-subscribe .fluentform .ff_submit_btn_wrapper .ff-btn-submit,
.footer-subscribe .fluentform .ff_submit_btn_wrapper button[type=submit] {
  padding: 10px 15px;
  border-radius: 0 10px 10px 0;
  height: 50px;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "ProximaNova-ExtraBold", sans-serif;
}
@media screen and (max-width: 450px) {
  .footer-subscribe .fluentform .ff_submit_btn_wrapper .ff-btn-submit,
  .footer-subscribe .fluentform .ff_submit_btn_wrapper button[type=submit] {
    width: 100%;
    border-radius: 10px;
  }
}
.footer-subscribe .fluentform .ff-el-group .ff-el-input--content input {
  font-size: 18px;
  font-size: 1.125rem;
  padding: 10px 15px;
  border-radius: 10px 0 0 10px;
  height: 50px;
  border: none;
  font-family: "ProximaNova-Semibold", sans-serif;
}
@media screen and (max-width: 450px) {
  .footer-subscribe .fluentform .ff-el-group .ff-el-input--content input {
    border-radius: 10px;
  }
}
.footer-subscribe .fluentform .ff-el-group {
  margin: 0;
}
.connect-block__newsletter .ff-el-group {
  margin: 0 0 10px;
}
.connect-block__newsletter .ff-el-group .ff-el-input--content input,
.connect-block__newsletter .ff-el-group .ff-el-input--content textarea,
.connect-block__newsletter .ff-el-group .ff-el-input--content select {
  border-radius: 100px;
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "ProximaNova-Bold", sans-serif;
  padding: 24px 20px 23px;
}
@media screen and (max-width: 767px) {
  .connect-block__newsletter .ff-el-group .ff-el-input--content input,
  .connect-block__newsletter .ff-el-group .ff-el-input--content textarea,
  .connect-block__newsletter .ff-el-group .ff-el-input--content select {
    padding: 12px 25px 10px;
  }
}
.connect-block__newsletter .fluentform .ff_submit_btn_wrapper {
  margin-top: 0;
}
.connect-block__newsletter .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
  background: #00A7E0;
  padding: 29px 51px 26px;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "ProximaNova-ExtraBold", sans-serif;
  width: 100%;
}
.connect-block__newsletter .fluentform .ff_submit_btn_wrapper .ff-btn-submit:hover,
.connect-block__newsletter .fluentform .ff_submit_btn_wrapper .ff-btn-submit:focus {
  background: #FC914A;
  color: #FFFFFF;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media screen and (max-width: 767px) {
  .connect-block__newsletter .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
    padding: 16px 51px 14px;
  }
}
.review-form .fluentform {
  max-width: 820px;
}
.review-form .fluentform .ff-el-group label {
  display: none;
}
.review-form .fluentform .ff-el-group .ff-el-input--content select,
.review-form .fluentform .ff-el-group .ff-el-input--content input,
.review-form .fluentform .ff-el-group .ff-el-input--content textarea {
  background-color: rgba(0, 0, 0, 0.07);
  font-size: 16px;
  font-family: "ProximaNova-Regular", sans-serif;
  padding: 15px 15px;
  border: none;
}
.review-form .fluentform .ff-el-group .ff-el-input--content select:focus,
.review-form .fluentform .ff-el-group .ff-el-input--content input:focus,
.review-form .fluentform .ff-el-group .ff-el-input--content textarea:focus {
  background-color: #FFFFFF;
}
.review-form .fluentform .ff-el-group .ff-el-input--content:has(> select):after {
  top: 20px;
  right: 15px;
}
.star-rating ul.ff-el-input--content {
  display: inline-block;
}
.star-rating ul.ff-el-input--content > li {
  float: right;
  position: relative;
  margin-right: 6px;
  margin-bottom: 0;
  height: 20px;
}
.star-rating ul.ff-el-input--content > li input[type=radio] {
  opacity: 0;
  padding: 13px 8px;
}
.star-rating ul.ff-el-input--content > li label {
  display: inline-block;
  text-align: center;
  color: red;
  line-height: 30px;
  font-size: 0;
}
.star-rating ul.ff-el-input--content > li label:before {
  position: absolute;
  height: 24px;
  width: 24px;
  content: "\e900";
  font-family: star;
  color: rgba(255, 255, 255, 0.3);
  font-size: 24px;
  top: 0;
  left: 0;
  cursor: pointer;
  font-weight: 300;
}
.star-rating ul.ff-el-input--content > li.checked label:before,
.star-rating ul.ff-el-input--content > li.checked ~ li label:before,
.star-rating ul.ff-el-input--content > li:hover label:before,
.star-rating ul.ff-el-input--content > li:hover ~ li label:before {
  color: #ffcc01;
  content: "\e900";
  font-family: star;
}
.contact-block__form .ff-el-is-error .error {
  text-align: left;
}
.contact-block__form .ff-el-group,
.contact-block__form .frm-fluent-form .ff-el-group {
  margin: 0 0 10px;
}
.contact-block__form .ff-el-group .ff-el-input--content input,
.contact-block__form .ff-el-group .ff-el-input--content textarea,
.contact-block__form .ff-el-group .ff-el-input--content select,
.contact-block__form .frm-fluent-form .ff-el-group .ff-el-input--content input,
.contact-block__form .frm-fluent-form .ff-el-group .ff-el-input--content textarea,
.contact-block__form .frm-fluent-form .ff-el-group .ff-el-input--content select {
  border-radius: 6px;
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "ProximaNova-Bold", sans-serif;
  padding: 24px 20px 23px;
}
@media (max-width: 767px) {
  .contact-block__form .ff-el-group .ff-el-input--content input,
  .contact-block__form .ff-el-group .ff-el-input--content textarea,
  .contact-block__form .ff-el-group .ff-el-input--content select,
  .contact-block__form .frm-fluent-form .ff-el-group .ff-el-input--content input,
  .contact-block__form .frm-fluent-form .ff-el-group .ff-el-input--content textarea,
  .contact-block__form .frm-fluent-form .ff-el-group .ff-el-input--content select {
    font-size: 16px;
    font-size: 1rem;
    padding: 10px 15px;
  }
}
.contact-block__form .fluentform .ff_submit_btn_wrapper {
  margin-top: 20px;
}
.contact-block__form .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
  background: #00A7E0;
  padding: 29px 51px 26px;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "ProximaNova-ExtraBold", sans-serif;
  width: 100%;
}
@media (max-width: 767px) {
  .contact-block__form .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
    padding: 16px 30px;
    font-size: 16px;
    font-size: 1rem;
  }
}
.contact-block__form .fluentform .ff_submit_btn_wrapper .ff-btn-submit:hover,
.contact-block__form .fluentform .ff_submit_btn_wrapper .ff-btn-submit:focus {
  background: #FC914A;
  color: #FFFFFF;
}
.contact-block__form .fluentform .ff-el-group .ff-el-input--content textarea,
.contact-block__form .fluentform .frm-fluent-form .ff-el-group .ff-el-input--content textarea {
  height: 230px;
}
@media (max-width: 767px) {
  .contact-block__form .fluentform .ff-el-group .ff-el-input--content textarea,
  .contact-block__form .fluentform .frm-fluent-form .ff-el-group .ff-el-input--content textarea {
    height: 150px;
  }
}
.enquiry-form .frm-fluent-form > fieldset {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.enquiry-form .ff-el-group {
  width: 100%;
}
.enquiry-form .ff-el-group.half-column {
  width: calc(50% - 10px);
}
@media screen and (max-width: 567px) {
  .enquiry-form .ff-el-group.half-column {
    width: 100%;
  }
}
.enquiry-form .ff-el-group.one-third-column {
  width: calc(33.33% - 10px);
}
@media screen and (max-width: 767px) {
  .enquiry-form .ff-el-group.one-third-column {
    width: 100%;
  }
}
.enquiry-form .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
  width: 100%;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "ProximaNova-ExtraBold", sans-serif;
  padding: 28px 40px 26px;
}
@media screen and (max-width: 767px) {
  .enquiry-form .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
    font-size: 16px;
    font-size: 1rem;
    padding: 17px 20px 15px;
  }
}
.enquiry-form .fluentform .ff-el-group .ff-el-input--content textarea {
  height: 225px;
}
@media screen and (max-width: 767px) {
  .enquiry-form .fluentform .ff-el-group .ff-el-input--content textarea {
    height: 155px;
  }
}
.form-wrap--dark .fluentform .ff-el-group label {
  color: rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 1210px) {
  .form-wrap--dark .fluentform .ff-el-group label {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.form-wrap--dark .ff-custom_html {
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 15px !important;
}
.booking-form .frm-fluent-form > fieldset {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -10px !important;
}
.booking-form .ff-el-group {
  width: 100%;
  padding: 0 10px;
}
.booking-form .ff-el-group.half-column {
  width: 50%;
}
@media screen and (max-width: 567px) {
  .booking-form .ff-el-group.half-column {
    width: 100%;
  }
}
.booking-form .ff-el-group.one-third-column {
  width: 33.33%;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .booking-form .ff-el-group.one-third-column {
    width: 100%;
  }
}
.booking-form .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
  width: 100%;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "ProximaNova-ExtraBold", sans-serif;
  padding: 28px 40px 26px;
}
@media screen and (max-width: 767px) {
  .booking-form .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
    font-size: 16px;
    font-size: 1rem;
    padding: 17px 20px 15px;
  }
}
.booking-form .fluentform .ff-el-group .ff-el-input--content textarea {
  height: 225px;
}
@media screen and (max-width: 767px) {
  .booking-form .fluentform .ff-el-group .ff-el-input--content textarea {
    height: 155px;
  }
}
.trip-planner__form .frm-fluent-form > fieldset {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -10px !important;
}
.trip-planner__form .ff-el-group {
  width: 100%;
  padding: 0 10px;
}
.trip-planner__form .ff-el-group.half-column {
  width: 50%;
}
@media screen and (max-width: 567px) {
  .trip-planner__form .ff-el-group.half-column {
    width: 100%;
  }
}
.trip-planner__form .ff-el-group.one-third-column {
  width: 33.33%;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .trip-planner__form .ff-el-group.one-third-column {
    width: 100%;
  }
}
.trip-planner__form .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
  width: 100%;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "ProximaNova-ExtraBold", sans-serif;
  padding: 28px 40px 26px;
}
@media screen and (max-width: 767px) {
  .trip-planner__form .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.trip-planner__form .fluentform .ff-el-group .ff-el-input--content textarea {
  height: 225px;
}
.earlybird-popup .fluentform .ff-el-group .ff-el-input--content input,
.earlybird-popup .fluentform .ff-el-group .ff-el-input--content textarea,
.earlybird-popup .fluentform .ff-el-group .ff-el-input--content select {
  padding: 8px 15px;
  font-size: 14px;
  background: transparent;
  color: #000;
  font-family: "ProximaNova-Regular", sans-serif;
}
.earlybird-popup .fluentform .ff-el-group label {
  font-size: 16px;
  color: #000;
  font-family: "ProximaNova-Regular", sans-serif;
}
.earlybird-popup .fluentform .ff-el-group .ff-el-input--content:has(> select):after {
  top: 14px;
  width: 14px;
  height: 14px;
  color: #000;
  font-family: "ProximaNova-Regular", sans-serif;
}
.earlybird-popup .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
  padding: 12px 20px 9px;
}
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error .ff-el-input--label label {
  color: #000;
}
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error input,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error select,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error textarea {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error input::-webkit-input-placeholder,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error select::-webkit-input-placeholder,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error textarea::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.75);
}
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error input::-moz-placeholder,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error select::-moz-placeholder,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error textarea::-moz-placeholder {
  color: rgba(0, 0, 0, 0.75);
}
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error input:-ms-input-placeholder,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error select:-ms-input-placeholder,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error textarea:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.75);
}
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error input::-ms-input-placeholder,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error select::-ms-input-placeholder,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error textarea::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.75);
}
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error input::placeholder,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error select::placeholder,
.earlybird-popup .fluentform .ff-el-group.ff-el-is-error textarea::placeholder {
  color: rgba(0, 0, 0, 0.75);
}

/* Footer newsletter: Gravity set the email and the button side by side, the captcha below. */
.footer-subscribe .frm-fluent-form {
  width: 100%;
}
.footer-subscribe .frm-fluent-form > fieldset {
  display: grid;
  grid-template-columns: 62% 30%;
  align-items: start;
}
.footer-subscribe .frm-fluent-form > fieldset > .ff-el-group {
  grid-column: 1;
  grid-row: 1;
}
.footer-subscribe .frm-fluent-form > fieldset > .ff-el-group:has([name="g-recaptcha-response"]) {
  grid-column: 1 / span 2;
  grid-row: 2;
  margin-top: 20px;
}
.footer-subscribe .frm-fluent-form > fieldset > .ff_submit_btn_wrapper {
  grid-column: 2;
  grid-row: 1;
  width: auto;
  margin: 0;
}
@media screen and (max-width: 450px) {
  .footer-subscribe .frm-fluent-form > fieldset {
    grid-template-columns: 100%;
  }
  .footer-subscribe .frm-fluent-form > fieldset > .ff_submit_btn_wrapper {
    grid-column: 1;
    grid-row: 2;
  }
  .footer-subscribe .frm-fluent-form > fieldset > .ff-el-group:has([name="g-recaptcha-response"]) {
    grid-column: 1;
    grid-row: 3;
  }
}

/* Consent box. Fluent puts the checkbox inside its label, where Gravity put it before the label.
   The label is a row: the box (the checkbox's own span, 29 by 26) then the text, 11px apart.
   Every line of text is 28px tall, so a 1px top margin centres the box on the first line.
   The real checkbox fills the box, invisible, so a click or a tap ticks it. */
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc {
  display: block;
  position: relative;
  padding: 0;
  margin: 0;
}
.fluentform .ff-el-group.hide-label .ff-el-form-check.ff-el-tc label.ff_tc_label,
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc label.ff_tc_label {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  position: static;
  margin: 0;
  padding: 0;
  line-height: 28px;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
}
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc label.ff_tc_label::before,
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc label.ff_tc_label::after {
  content: none;
  display: none;
}
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc .ff_tc_checkbox {
  display: block;
  position: relative;
  flex: 0 0 29px;
  width: 29px;
  height: 26px;
  margin: 1px 0 0;
  padding: 0;
}
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc .ff_tc_checkbox::after {
  content: "";
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  border: 1px solid #000000;
  background: transparent;
  z-index: 0;
}
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc .ff_tc_checkbox::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 2px;
  width: 6px;
  height: 16px;
  border: solid #000000;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  opacity: 0;
  z-index: 1;
  transition: opacity 100ms;
}
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc .ff_tc_checkbox:has(input:checked)::before {
  opacity: 1;
}
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc .ff_tc_checkbox:has(input:focus-visible)::after {
  outline: 2px solid rgb(0, 167, 224);
  outline-offset: 2px;
}
.fluentform .ff-el-group .ff-el-input--content .ff-el-form-check.ff-el-tc .ff_tc_checkbox input[type=checkbox] {
  position: absolute;
  inset: 0;
  width: 29px;
  height: 26px;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: none;
  opacity: 0;
  z-index: 2;
  cursor: pointer;
}
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc .ff_t_c {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc .ff_t_c p {
  display: inline;
  margin: 0;
}
/* The consent is required: the same red star as the other required fields. */
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc .ff_t_c::after {
  content: "*";
  color: #FF0F00;
}
.form-wrap--dark .fluentform .ff-el-group .ff-el-form-check.ff-el-tc .ff_tc_checkbox::after,
.form-wrap--dark .fluentform .ff-el-group .ff-el-form-check.ff-el-tc .ff_tc_checkbox::before {
  border-color: #FFFFFF;
}
.fluentform .ff-el-group.ff-el-is-error .ff-el-form-check.ff-el-tc .ff_tc_checkbox::after {
  border: 2px solid #FF0F00;
}

/* Field errors: a red message on its own line under the field, as Gravity showed them. */
.fluentform .ff-el-group .ff-el-input--content .error.text-danger,
.fluentform .ff-el-group.ff-el-is-error .error.text-danger {
  display: block;
  position: static;
  margin: 6px 0 0;
  padding: 0;
  color: #F80000;
  font-family: "ProximaNova-Semibold", sans-serif;
  font-size: 15px;
  line-height: 1.4;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  white-space: normal;
}
/* The consent error starts where the consent text starts: box 29px plus the 11px gap. */
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc ~ .error.text-danger,
.fluentform .ff-el-group .ff-el-form-check.ff-el-tc .error.text-danger {
  margin-left: 40px;
}

/* Success: the form hides and this box takes its place, with the site's orange.
 * body .fluentform outranks Fluent's own box, printed after this stylesheet. */
body .fluentform .ff-message-success {
  background-color: #fff6ef;
  color: #2b2b2b;
  font-size: 17px;
  line-height: 1.55;
  text-align: left;
  padding: 22px 26px;
  border: 0;
  border-left: 4px solid #FC914A;
  border-radius: 3px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
body .fluentform .ff-message-success p {
  margin: 0 0 8px;
}
body .fluentform .ff-message-success p:last-child {
  margin-bottom: 0;
}

/* Review page (/review/, template-review.php): a narrower, centred form with tighter spacing.
 * QA asked for it on 29 October 2026. Only this template; the enquiry and booking forms keep their size. */
.page-template-template-review .enquiry-form {
  max-width: 720px;
}
.page-template-template-review .enquiry-form__subtitle {
  text-align: center;
  margin-bottom: 20px;
}
.page-template-template-review .enquiry-form .fluentform .ff-el-group {
  margin-bottom: 16px;
}
.page-template-template-review .enquiry-form .fluentform .ff-el-input--label label {
  font-size: 18px;
  font-size: 1.125rem;
}
.page-template-template-review .enquiry-form .fluentform .ff-el-group .ff-el-input--content input {
  padding: 14px 20px;
  font-size: 18px;
  font-size: 1.125rem;
}
.page-template-template-review .enquiry-form .fluentform .ff-el-group .ff-el-input--content textarea {
  height: 180px;
  font-size: 18px;
  font-size: 1.125rem;
}
.page-template-template-review .enquiry-form .fluentform .ff_file_upload_holder {
  margin-bottom: 0;
}
.page-template-template-review .enquiry-form .fluentform .ff_upload_btn.ff-btn {
  background: transparent;
  color: #00759E;
  border: 2px solid #00759E;
  border-radius: 100px;
  padding: 10px 24px;
  font-family: "ProximaNova-ExtraBold", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.page-template-template-review .enquiry-form .fluentform .ff_upload_btn.ff-btn:hover,
.page-template-template-review .enquiry-form .fluentform .ff_file_upload_holder:focus-within .ff_upload_btn.ff-btn {
  background: #00759E;
  color: #FFFFFF;
}
.page-template-template-review .enquiry-form .fluentform .ff-el-recaptcha {
  margin-bottom: 0;
}
/* After a send the form hides and the success message takes its place, centred in the column. */
.page-template-template-review .enquiry-form .fluentform .ff-message-success {
  text-align: center;
}
.page-template-template-review .enquiry-form .fluentform .ff_submit_btn_wrapper {
  margin-top: 8px;
  text-align: center;
}
.page-template-template-review .enquiry-form .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
  padding: 20px 40px 18px;
}
@media screen and (max-width: 767px) {
  .page-template-template-review .enquiry-form .fluentform .ff-el-group .ff-el-input--content input {
    padding: 12px 16px;
    font-size: 16px;
    font-size: 1rem;
  }
  .page-template-template-review .enquiry-form .fluentform .ff-el-group .ff-el-input--content textarea {
    height: 150px;
    font-size: 16px;
    font-size: 1rem;
  }
  .page-template-template-review .enquiry-form .fluentform .ff_submit_btn_wrapper .ff-btn-submit {
    padding: 17px 20px 15px;
  }
}

/* Footer newsletter, corrected 29 October 2026: the email box and the button share one row
 * and one height, the button stays inside the column, and the captcha follows the footer's
 * alignment (centred below 1210px, where the theme centres the footer). */
.footer-subscribe .frm-fluent-form > fieldset {
  grid-template-columns: minmax(0, 1fr) auto;
}
@media screen and (min-width: 1211px) {
  .footer-subscribe .frm-fluent-form {
    min-width: 360px;
  }
}
.footer-subscribe .fluentform .ff-el-group.hide-label .ff-el-input--label {
  display: none;
}
.footer-subscribe .fluentform .ff-el-group .ff-el-input--content input {
  padding: 10px 12px;
  font-size: 16px;
  font-size: 1rem;
}
.footer-subscribe .frm-fluent-form > fieldset > .ff-el-group:has([name="g-recaptcha-response"]) {
  margin-top: 15px;
}
.footer-subscribe .fluentform .ff-el-recaptcha {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 0;
}
@media screen and (max-width: 1210px) {
  .footer-subscribe .fluentform .ff-el-recaptcha {
    justify-content: center;
  }
}
@media screen and (max-width: 450px) {
  .footer-subscribe .frm-fluent-form > fieldset {
    grid-template-columns: 100%;
    row-gap: 10px;
  }
}
