/*
Theme Name: LV Yachting GeneratePress Child
Description: GeneratePress child theme for the LV Yachting rebuild.
Author: Ray Elliott
Author URI: https://rayelliott.dev/
Template: generatepress
Version: 0.3.1
Text Domain: lv-yachting-child
*/

/* TEMP styles */
.single-rdv_event .rdv-lvy-listing .rdv-lvy-listing__count,
.single-rdv_opportunity .rdv-lvy-listing .rdv-lvy-listing__count,
.single-rdv_yacht .rdv-lvy-listing .rdv-lvy-listing__count {
  display: none;
}

.rdv-lvy-component--placeholder {
  color: red;
}

.rdv-lvy-source-media--role-logo .rdv-lvy-source-media__grid {
  display: block;
}
/* END: TEMP styles */

:root {
  --lv-blue: #419bd7;
  --lv-dark-blue: #022b46;

  --lv-font-heading: "Barlow Semi Condensed", sans-serif;
  --lv-font-body: "Barlow", sans-serif;

  --lv-h1: clamp(3rem, 7vw, 5.5rem);
  --lv-h2: clamp(2.25rem, 4.5vw, 4rem);
  --lv-h3: clamp(1.75rem, 3vw, 2.75rem);
  --lv-h4: clamp(1.375rem, 2vw, 1.875rem);
}

.main-navigation ul ul.gb-sub-menu {
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
}

@media (max-width: 1399px) {
  .main-navigation ul.gb-menu a {
    font-size: inherit;
  }
}
@media (max-width: 768px) {
  .main-navigation ul.gb-menu {
    display: flex;
  }
}

/* The following should match values set in the WP Customiser */
.h1,
.h2,
.h3,
.h4 {
  font-family: var(--lv-font-heading);
  font-style: italic;
  font-weight: 700;
}

.h1 {
  font-size: 40px;
  line-height: 0.95;
  margin-bottom: 0.35em;
}

.h2 {
  font-size: 32px;
  line-height: 1;
  margin-bottom: 0.45em;
}

.h3 {
  font-size: 26px;
  line-height: 1.05;
  margin-bottom: 0.5em;
}

.h4 {
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 0.55em;
}

.p {
  font-family: var(--lv-font-body);
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 1.25em;
}

@media (min-width: 768px) {
  .h1 {
    font-size: 48px;
  }
  .h2 {
    font-size: 38px;
  }
  .h3 {
    font-size: 30px;
  }
  .h4 {
    font-size: 24px;
  }
}

@media (min-width: 1025px) {
  .h1 {
    font-size: 64px;
  }
  .h2 {
    font-size: 48px;
  }
  .h3 {
    font-size: 36px;
  }
  .h4 {
    font-size: 28px;
  }
}
/* END: The following should match ... */

.h1--resp {
  font-size: var(--lv-h1);
}

.h2--resp {
  font-size: var(--lv-h2);
}

.h3--resp {
  font-size: var(--lv-h3);
}

.h4--resp {
  font-size: var(--lv-h4);
}

.text-lift {
  display: inline;
  background: #000;
  padding: 0.025em 0.075em 0.075em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  box-shadow:
    0.1em 0 0 #000,
    -0.1em 0 0 #000;
}

.text-lift--extra {
  padding: 0.025em 0.2em 0.2em;
}

.rdv-lvy-listing__count::after,
.lv-heading-rule::after {
  content: "";
  display: block;
  width: 4rem;
  height: 4px;
  margin-top: 0.25em;
  background: #419bd7;
  transform: skewX(-14deg);
}

.rdv-lvy-listing__count::after {
  width: 3rem;
  height: 3px;
  margin-top: 0.05em;
}

.rdv-lvy-listing__empty {
}

.carousel-pagination-override > span:first-child {
  display: flex;
  align-items: center;
}

.carousel-pagination-override > span:first-child::after {
  content: "";
  display: block;
  position: relative;
  margin: 0 0.4ch 0 1.1ch;
  width: 1px;
  height: 1.3em;
  border-right: 1px solid var(--contrast-3);
  opacity: 0.8;
}

body.single-rdv_yacht .rdv-lvy-source-media.rdv-lvy-source-media--has-fallback {
  --rdv-lvy-gallery-height: 400px;
}

.rdv-lvy-source-media--role-layout .rdv-lvy-source-media__image {
  object-fit: contain;
}

/* form styling */
.fluentform label {
  font-weight: 600;
  font-size: 16px;
}

.ff_submit_btn_wrapper {
  margin-top: 30px;
}

/* hide required asterisks on footer email signup */
.footer-mailing-list-container
  .fluentform
  .ff-el-input--label.ff-el-is-required.asterisk-right
  label:after {
  content: none;
}

/* fix text align on submit button on footer email signup */
.footer-mailing-list-container .fluentform .ff-text-right {
  text-align: left;
}

.footer-mailing-list-container .fluentform .ff-btn-submit {
  color: #ffffff;
  background-color: var(--lv-dark-blue);
  font-size: 19px;
  font-weight: 600;
}

.footer-mailing-list-container .fluentform .ff-btn-submit:hover {
  color: var(--lv-dark-blue);
  background-color: #ffffff;
}

.contact-form-container input[type="text"],
.contact-form-container input[type="email"],
.contact-form-container input[type="url"],
.contact-form-container input[type="password"],
.contact-form-container input[type="search"],
.contact-form-container input[type="tel"],
.contact-form-container input[type="number"],
.contact-form-container textarea,
.contact-form-container select {
  background-color: transparent;
  border-color: var(--contrast-3);
  border-width: 0 0 1px 0;
}

.contact-form-container input[type="text"],
.contact-form-container input[type="email"],
.contact-form-container input[type="url"],
.contact-form-container input[type="password"],
.contact-form-container input[type="search"],
.contact-form-container input[type="tel"],
.contact-form-container input[type="number"],
.contact-form-container textarea,
.contact-form-container select,
.contact-form-container input[type="text"]::placeholder,
.contact-form-container input[type="email"]::placeholder,
.contact-form-container input[type="url"]::placeholder,
.contact-form-container input[type="password"]::placeholder,
.contact-form-container input[type="search"]::placeholder,
.contact-form-container input[type="tel"]::placeholder,
.contact-form-container input[type="number"]::placeholder,
.contact-form-container textarea::placeholder,
.contact-form-container .fluentform textarea::placeholder,
.contact-form-container select::placeholder {
  color: var(--contrast-2);
  font-weight: 500;
}
/* END: form styling */

/* Listings styling */
.rdv-lvy-listing .rdv-lvy-listing__filters {
  background-color: var(--base-3);
  padding: 4rem;
}

@media (max-width: 1024px) {
  .rdv-lvy-listing .rdv-lvy-listing__filters {
    padding: 2rem;
  }
}

@media (max-width: 767px) {
  .rdv-lvy-listing .rdv-lvy-listing__filters {
    padding: 1rem;
  }
}

.rdv-lvy-listing .rdv-lvy-listing__count {
  font-family: var(--lv-font-heading);
  font-size: 36px;
  font-style: italic;
  font-weight: 600;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .rdv-lvy-listing .rdv-lvy-listing__count {
    font-size: 30px;
    margin-left: 2rem;
  }
}

@media (max-width: 767px) {
  .rdv-lvy-listing .rdv-lvy-listing__count {
    font-size: 26px;
    margin-left: 1rem;
  }
}

.rdv-lvy-listing__filters .rdv-lvy-listing__filter-flow {
  grid-column: 1 / -1;
  order: 1;
}

.rdv-lvy-listing__filters .rdv-lvy-listing__filter-row--search {
  order: 2;
}

.rdv-lvy-listing__filters .rdv-lvy-listing__filter-control--search {
  max-width: 100%;
}

.rdv-lvy-listing__filters .rdv-lvy-listing__filter-row--actions {
  align-self: end;
  justify-self: start;
  order: 3;
}

.rdv-lvy-listing .rdv-lvy-listing__filters {
  align-items: end;
  column-gap: var(--rdv-lvy-filter-gap);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 72rem) {
  .rdv-lvy-listing .rdv-lvy-listing__filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 54rem) {
  .rdv-lvy-listing .rdv-lvy-listing__filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 36rem) {
  .rdv-lvy-listing .rdv-lvy-listing__filters {
    grid-template-columns: 1fr;
  }
}

:is(
    .rdv-lvy-listing--cruising_charter_yachts,
    .rdv-lvy-listing--home_yacht_gallery,
    .rdv-lvy-listing--race_charter_yachts,
    .rdv-lvy-listing--events
  )
  .rdv-lvy-listing__results
  .rdv-lvy-card {
  border: 0;
}

.rdv-lvy-listing--race_charter_yachts
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--region {
  order: 1;
}

.rdv-lvy-listing--race_charter_yachts
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--event {
  order: 2;
}

.rdv-lvy-listing--race_charter_yachts
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--yacht-type {
  order: 3;
}

.rdv-lvy-listing--race_charter_yachts
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--performance-level {
  order: 4;
}

.rdv-lvy-listing--race_charter_yachts
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--loa {
  order: 5;
}

.rdv-lvy-listing--crew_spaces
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--region {
  order: 1;
}

.rdv-lvy-listing--crew_spaces
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--region {
  order: 1;
}

.rdv-lvy-listing--crew_spaces
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--event {
  order: 2;
}

.rdv-lvy-listing--crew_spaces
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--time-of-year {
  order: 3;
}

.rdv-lvy-listing--crew_spaces
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--category {
  order: 4;
}

.rdv-lvy-listing--crew_spaces
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--yacht {
  order: 5;
}

.rdv-lvy-listing--crew_spaces
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--performance-level {
  order: 6;
}

.rdv-lvy-listing--crew_spaces
  .rdv-lvy-listing__filter-flow
  .rdv-lvy-listing__filter-control--price {
  order: 7;
}

.rdv-lvy-listing--related_crew_spaces .rdv-lvy-listing__results {
  font-size: 0.9rem;
}
.rdv-lvy-listing--related_crew_spaces .rdv-lvy-card {
  border: 1px solid var(--base);
}

/* END: Listings styling */

.rdv-heading-crew-spaces
  + .rdv-lvy-listing--event_crew_spaces
  + .rdv-crew-spaces-none {
  display: none;
}

.rdv-lvy-source-media--role-logo .rdv-lvy-source-media__image {
  width: auto;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: auto;
}
