.light-link { color: #ffffff;}

.hidden-h1 { visibility:hidden;font-size:0px;margin-top:0px; margin-bottom:0px;}

[data-visibility="logged-in"],
[data-visibility="logged-out"] {
    display: none;
}

body.logged-in [data-visibility="logged-in"] {
    display: flex;
}

body:not(.logged-in) [data-visibility="logged-out"] {
    display: flex;
}

.w-slider-dot.w-active { background-color:#f2bb30;}

.w-slider-dot {background-color:#838383;}

.contact-icon.phone {
  -webkit-mask-image: url(../images/phone-light.svg);
  mask-image: url(../images/phone-light.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-size:contain;
  mask-position: center;}


.contact-icon.email {
  -webkit-mask-image: url(../images/envelope-light.svg);
  mask-image: url(../images/envelope-light.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-size:contain;
  mask-position: center;}

.claim-list-icon {
  -webkit-mask-image: url(../images/circle-check.svg);
  mask-image: url(../images/circle-check.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-size:contain;
  mask-position: center;}
  
  .contact-icon.website {
  -webkit-mask-image: url(../images/globe-pointer-sharp-light.svg);
  mask-image: url(../images/globe-pointer-sharp-light.svg);
   -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-size:contain;
  mask-position: center;}
  
.star-rating {clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);}
  

.text-restrict h2, h3 { font-size:26px;  }
.body-section .text-restrict h2, h3 { color: #00637d; }
h3.claim-type-title { color: #fff; }
h3.claim-type-title a:hover { color: #f6a317; }

.wpcf7-not-valid-tip {
  font-size:12px;
}
.wpcf7 form .wpcf7-response-output {
  flex: 0 0 100%; /* flex-grow, flex-shrink, flex-basis */
}
.grecaptcha-badge {
  opacity: 0;
}

.copyright-info p a { color:#ffffff; }
.copyright-info p a:hover { color:#f6a317; }

.polygon-grey-border { clip-path: polygon(0 0, 55% 0, 100% 100%, 0% 100%); }
.polygon-orange-border { clip-path: polygon(0 0, 55% 0, 100% 100%, 45% 100%); }

.text-cols h3 { font-size:26px; }

.header-menu,
.nav-bar-wrapper,
.footer-section {
  width:100%;
  max-width:100%;
}


picture img {
  height:auto;
}

.text-section img[class*=" wp-image-"]:not(.left) {
  max-width:auto;
  height:auto;
}

.body-section.dark p a { color:#ffffff; }
.body-section.dark p a:hover { color:#f6a317; }

.contact-link { font-weight:300;}

.gdpr-text { margin-top: 24px;}

.embed-container { 
position: relative; 
padding-bottom: 56.25%;
overflow: hidden;
max-width: 100%;
height: auto;
} 

.embed-container iframe,
.embed-container object,
.embed-container embed { 
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*  */
.inline-radio-container,
.form-fw,
.contact-form-step-options {
  grid-column: 1 / -1;
}
.contact-form-step-options {
  grid-template-columns: auto;
  margin-bottom:25px;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin-left:0;
}

.form-inline-radio label {
  padding: 12px 16px;
  border-style: solid;
  border-width: 1px;
  border-color: #0dbf92;
  background-color: #0dbf92;
  -webkit-transition: background-color 1000ms ease, color 1000ms ease;
  transition: background-color 1000ms ease, color 1000ms ease;
  color: #fff;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  font-size:16px;
  transition:0.8s ease color; transition:0.8s ease background-color;
}

.form-inline-radio label:hover { background-color:#ffffff; color: #0dbf92; }

.form-inline-radio label:active { background-color:#f9913d; color: #0dbf92; border-color:#f9913d;  }

.wpcf7-list-item label:active { background-color:#f9913d; color: #0dbf92; border-color:#f9913d; }

.form-inline-radio label:focus { background-color:#f9913d; color: #0dbf92; border-color:#f9913d;  }

.wpcf7-list-item label:focus { background-color:#f9913d; color: #0dbf92; border-color:#f9913d; }

.form-inline-radio label input {
  position: absolute;
  width:0;
  height:0;
  visibility:hidden;
}
.inline-radio-container .wpcf7-list-item.first {
  margin-left:0;
}

.form-text-note { display:flex; flex-wrap:wrap; font-size:16px; justify-content: flex-start; align-items: center;}

.wpcf7-response-output {
  margin:0;
  margin-top:10px;
}

.content-section p a {
  background-color: #ffd900;
  -webkit-transition: background-color 500ms ease;
  transition: background-color 500ms ease;
  color: #020202;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.content-section p a:hover {
  background-color: #ff7300;
}

.h3-link {text-decoration:none; color:#010101;transition:0.8s ease color;}
.h3-link:hover { color:#ff7300;}

.text-inner h3 { font-size:26px; }

.news-item-featured-image {-webkit-transition:0.8s ease all; transition:0.8s ease all; }

.text-area.w-input { min-width:100%; max-height:100px;}
.text-area-holder {display:block; width:100%;height:auto;}

.anchor-link { display:block;position:relative;visibility:hidden;top:-150px;height:1px; }

.blog-content h2 { font-size:32px; color: #00637d; }
.blog-content h3 { font-size:28px; color: #00637d; }


.wpcf7-form-control-wrap { width:100%; }


.wpcf7 input[type="email"] { width:100%; }
.wpcf7-spinner { display:none;visibility:hidden;}

.wpcf7-form-control-wrap input[data-vale="JOIN"] { width:25%; }
.wpcf7-form-control-wrap input[data-name="Newsletter-Email"] { width:100%; }


@media screen and (max-width: 991px) { .column.blog h2 { font-size:28px; } .column.blog h3 { font-size:24px; } }

@media screen and (max-width: 767px) { .column.blog h2 { font-size:26px; } .column.blog h3 { font-size:21px; } }

#w-node-_13f64231-da81-0ce3-bc72-8ceeef4d6528-bd0f46e7 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
  -ms-grid-row-align: start;
  align-self: start;
  -ms-grid-column-align: stretch;
  justify-self: stretch;
  max-width:400px;
}

#w-node-a6aa8247-32ec-051b-ce36-f97c3a52b2cd-bd0f46e7 {
  -ms-grid-column: span 1;
  grid-column-start: span 1;
  -ms-grid-column-span: 1;
  grid-column-end: span 1;
  -ms-grid-row: span 1;
  grid-row-start: span 1;
  -ms-grid-row-span: 1;
  grid-row-end: span 1;
  -ms-grid-row-align: stretch;
  align-self: stretch;
  -ms-grid-column-align: stretch;
  justify-self: stretch;
  max-width:400px;
}

#w-node-_6d7cd431-e460-24f1-7aba-c0514182a4ed-bd0f46e7 {
  -ms-grid-column-align: stretch;
  justify-self: stretch;
  max-width:400px;
}


.large-contact-form .wpcf7-list-item.active label {
  border:solid 1px #F9913D;
  background:#F9913D;
}
.large-contact-form .wpcf7-list-item.active:hover label {
  color:#774F2E;
}

.light-butto {text-transform:capitalize; }


@media screen and (max-width: 1240px) {

.sidebar-contact-image { max-width:320px; }

.testimonial-slider.sidebar { max-width:320px; }

.blog-sidebar-item.header { max-width:320px; }

.related-links-holder { max-width:320px; }

}

@media screen and (max-width: 1040px) {

.sidebar-contact-image { max-width:100%; }

.blog-side-bar-contact { max-width:100%; }

.testimonial-slider.sidebar { max-width:100%; }

.blog-sidebar-item.header { width:100%; min-width:100%; max-width:100%; }

.related-links-holder { width:100%; min-width:100%; max-width:100%; }

.blog-sidebar-grid.items {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    border-right: 1px solid rgba(62, 62, 62, 0.25);
    border-bottom: 1px solid rgba(62, 62, 62, 0.25);
    border-left: 1px solid rgba(62, 62, 62, 0.25);
  }

.blog-content-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

.blog-sidebar-grid {
    max-width: 100%;
  }

  .blog-sidebar-grid.items {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    border-right: 1px solid rgba(62, 62, 62, 0.25);
    border-bottom: 1px solid rgba(62, 62, 62, 0.25);
    border-left: 1px solid rgba(62, 62, 62, 0.25);
  }

  .blog-sidebar-item {
    border-right-width: 0px;
    border-bottom-width: 0px;
    border-left-width: 0px;
  }
}

@media screen and (max-width: 991px) {
    
    
    .blog-sidebar-item.header { width:100%; min-width:none; max-width:none; }

.related-links-holder { width:100%; min-width:none; max-width:none; }
    
}

h2 .body-section.text { font-size:32px !important; }
.body-section.text h2 { font-size:32px !important; }
h3 .body-section.text { font-size:28px !important; }
.body-section.text h3 { font-size:28px !important; }


@media screen and (max-width: 991px) {
 h2 .body-section.text { font-size:28px !important; }
.body-section.text h2 { font-size:28px !important; } 
h3 .body-section.text { font-size:24px !important; }
.body-section.text h3 { font-size:24px !important; }
}


.cs-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* <- This centres the children */
  align-items: center;
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  background-color: #eef1f3;
  color: #f6a317;
  text-align: center;
  text-transform: none;
	border: solid 4px #ffffff;
  border-radius: 12px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr; /* Default for larger screens */
  grid-auto-columns: 1fr;
  margin-bottom: 30px;
  padding: 20px 30px;
  font-size: 16px;
  font-weight: 300;
}

.cs-filter {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  grid-column-gap: 6px;
  grid-row-gap: 6px;
	width: 240px; 
}

/* Member directory filters (components/blocks/members.php; replaced FacetWP Oct 2026) */
.member-filters { margin-top: 0; }
.member-filters label { display: block; margin: 0; font-weight: inherit; font-size: inherit; color: inherit; }

.member-filter-select {
  color: #011441;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  padding: 6px;
  margin: 0px;
  min-height: 42px;
  border-radius: 12px;
}

/* Media Queries */
@media screen and (max-width: 767px) {
  .cs-filters {
    grid-template-columns: 1fr 1fr; /* Two columns for tablet */
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media screen and (max-width: 479px) {
  .cs-filters {
    grid-template-columns: 1fr; /* Single column for small screens */
    text-align: center;
    padding-left: 20px;
    padding-right: 20px;
  }

  .cs-filter {
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}

.cs-filter-reset {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* Reset Button Specific Styling */
.member-filter-reset {
  display: inline-block;
  background-color: #f6a317;
  color: #ffffff;
  text-decoration: none;
  padding: 10px 30px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  margin-top: 25px;
  border: 0;
  font-family: inherit;
  line-height: inherit;
}

.member-filter-reset:hover {
  background-color: #d28b0f;
  color: #ffffff;
}


.member-card-box {
    border: 1px solid #ddd;
    padding: 20px;
    margin-bottom: 25px;
    border-radius: 8px;
    background-color: #fff;
}
.edit-button {
    padding: 8px 16px;
    background-color: #0073aa;
    color: #fff;
    border: none;
    cursor: pointer;
    border-radius: 4px;
}
.edit-button:hover {
    background-color: #005f8d;
}

.white-title {
    color: #ffffff; /* or your preferred white tone */
}


/* Filter Section Styles */
.small-title-holder {
    margin-bottom: 1rem;
    text-align: center;
}

.filter-bar {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}

.stat-filter-button {
    padding: 0.5rem 1rem;
    background-color: #00647e;
    border: 1px solid #00647e;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    color: white;
    text-decoration: none;
    display: inline-block;
}

.stat-filter-button:hover {
    background-color: #f6a317;
    border-color: #f6a317;
    color: white;
}

.stat-filter-button.selected {
    background-color: #f6a317;
    color: white;
    border-color: #f6a317;
}

/* Pagination Wrapper */
.pagination-wrapper {
    margin-top: 2rem;
    display: flex;
    justify-content: center;
}

/* Pagination Container */
.pagination {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}

/* Pagination Links */
.pagination-link {
    padding: 0.5rem 1rem;
    border: 1px solid #00647e;
    text-decoration: none;
    color: white;
    border-radius: 4px;
    transition: all 0.3s ease;
    font-weight: 500;
    background-color: #00647e;
    display: inline-block;
}

.pagination-link:hover {
    background-color: #f6a317;
    border-color: #f6a317;
    color: white;
    text-decoration: none;
}

/* Current Page */
.pagination-link.current {
    background-color: #f6a317;
    color: white;
    border-color: #f6a317;
    cursor: default;
}

/* Previous and Next Links */
.pagination-link.prev,
.pagination-link.next {
    font-weight: bold;
    padding: 0.5rem 1.2rem;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .filter-bar {
        gap: 0.3rem;
        justify-content: center;
    }
    
    .stat-filter-button {
        padding: 0.4rem 0.8rem;
        font-size: 0.9rem;
    }
    
    .pagination {
        gap: 0.3rem;
    }
    
    .pagination-link {
        padding: 0.4rem 0.8rem;
        font-size: 0.9rem;
    }
    
    .pagination-link.prev,
    .pagination-link.next {
        padding: 0.4rem 1rem;
    }
    
    .pagination-wrapper {
        margin-top: 1.5rem;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .filter-bar {
        gap: 0.2rem;
        flex-direction: column;
        align-items: stretch;
    }
    
    .stat-filter-button {
        padding: 0.5rem;
        text-align: center;
        font-size: 0.85rem;
    }
    
    .pagination {
        gap: 0.2rem;
    }
    
    .pagination-link {
        padding: 0.3rem 0.6rem;
        font-size: 0.85rem;
    }
    
    .pagination-link.prev,
    .pagination-link.next {
        padding: 0.3rem 0.8rem;
    }
}

/* Match the real ACF button class chain */
input.acf-button.button.button-primary.button-large {
    padding: 0.5rem 1rem;
    background-color: #00647e !important;
    border: 1px solid #00647e !important;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    color: white !important;
    text-decoration: none;
    display: inline-block;
    margin-top: 1rem;
}

input.acf-button.button.button-primary.button-large:hover {
    background-color: #f6a317 !important;
    border-color: #f6a317 !important;
    color: white !important;
}

.acf-form input[type="text"],
.acf-form input[type="email"],
.acf-form input[type="url"],
.acf-form input[type="number"],
.acf-form input[type="tel"],
.acf-form input[type="search"],
.acf-form input[type="password"],
.acf-form select,
.acf-form textarea {
    padding: 10px 12px;
    font-size: 1rem;
    border-radius: 5px;
    border: 1px solid #ccc;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}

.acf-form input:focus,
.acf-form select:focus,
.acf-form textarea:focus {
    border-color: #00647e;
    outline: none;
}

.acf-form label {
    font-weight: 600;
    margin-bottom: 6px;
    display: inline-block;
    color: #1d2d35;
}

/* ==========================================================================
   Theme interactions (replace the Webflow IX2 runtime, Oct 2026).
   The clicks are handled in js/ipla.js; hovers are CSS only.
   ========================================================================== */

/* Nav dropdowns (desktop) */
@media screen and (min-width: 992px) {
  .menu-icon { color: var(--brand-blue); transition: transform .5s ease, color .5s ease; }
  .menu-link-holder:hover > .menu-icon,
  .menu-link-holder:focus-within > .menu-icon { transform: rotate(90deg); color: var(--brand-gold); }
  .menu-link-holder:hover > .drop-holder,
  .menu-link-holder:focus-within > .drop-holder { display: flex; animation: ipla-fade-in .25s ease; }
}
@keyframes ipla-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* Mobile menu */
@media screen and (max-width: 991px) {
  .menu-drawer { display: block; visibility: hidden; opacity: 0; transform: translateX(100%); }
  .menu-drawer.is-open { visibility: visible; opacity: 1; transform: none; }
  /* Animate only while opening or closing, so resizing or rotating past 992px doesn't flash the drawer */
  .menu-drawer.is-animating { transition: opacity .5s ease, transform .5s ease, visibility 0s linear .5s; }
  .menu-drawer.is-animating.is-open { transition-delay: 0s; }
  .menu-line-top, .menu-line-mid, .menu-line-low { transition: transform .5s ease, opacity .5s ease; }
  .menu-button.is-open .menu-line-top { transform: translateY(12px) rotate(45deg); }
  .menu-button.is-open .menu-line-low { transform: translateY(-12px) rotate(-45deg); }
  .menu-button.is-open .menu-line-mid { opacity: 0; }
}

/* FAQ accordions */
.faq-answer { height: 0; opacity: 0; }
.faq-spacer { height: 0; transition: height .5s ease; }
.faq-item.is-open .faq-spacer { height: 20px; }
.faq-button { transition: transform .5s ease; }
.faq-item.is-open .faq-button { transform: rotate(-45deg); }

/* Membership "See what's included" lists */
.pricing-items-holder { height: 0; opacity: 0; }
.open-arrow { transform: rotate(-90deg); transition: transform .5s ease; }
.pricing-column-heading.is-open .open-arrow { transform: rotate(90deg); }
@media screen and (min-width: 992px) {
  .open-arrow:hover { transform: rotate(-90deg) scale(1.3); transition-duration: .25s; }
  .pricing-column-heading.is-open .open-arrow:hover { transform: rotate(90deg) scale(1.3); }
}

/* Claim type cards */
.claim-type-background { transition: transform .5s ease; }
.claim-type:hover .claim-type-background { transform: scale(1.4); transition-duration: 1s; }

/* Contact links: white icon, gold on hover */
.contact-item .contact-icon { background-color: var(--white); transition: background-color .5s ease; }
.contact-item:hover .contact-icon { background-color: var(--brand-gold); transition-duration: 1s; }

@media (prefers-reduced-motion: reduce) {
  .menu-drawer, .menu-line-top, .menu-line-mid, .menu-line-low, .faq-spacer, .faq-button,
  .open-arrow, .claim-type-background, .contact-icon, .menu-icon { transition: none !important; }
  .menu-link-holder:hover > .drop-holder, .menu-link-holder:focus-within > .drop-holder { animation: none; }
}

/* Member directory: below 992px the filters wrap onto more rows, so the box stops hanging
   half over the header and half over the cards. It overlaps the header by 40px and pushes
   the cards down instead. */
@media screen and (max-width: 991px) {
  .cs-filter-holder { height: auto; margin-top: -40px; }
}
@media screen and (max-width: 479px) {
  .cs-filters { padding: 20px; }
  .cs-filter { width: 100%; }
  .cs-filter-reset { width: 100%; justify-content: center; }
}

/* Member directory: the Show Members button is only for browsers without JavaScript */
.member-filters.is-live .member-filter-submit { display: none; }
.member-card[hidden], .member-filter-empty[hidden] { display: none; }
.member-filter-empty { margin-top: 20px; }

/* Member page review carousel (single-members.php, js/ipla.js). Slides share one grid cell,
   so the box is always the height of the longest review and nothing jumps. */
.review-carousel { margin-top: 30px; margin-bottom: 30px; }
.review-carousel .review { margin-top: 0; margin-bottom: 0; }
.review-carousel-track { display: grid; }
.review-slide { grid-area: 1 / 1; }
.review-carousel.has-controls .review-slide { transition: opacity .4s ease, visibility 0s linear .4s; }
.review-carousel.has-controls .review-slide:not(.is-active) { opacity: 0; visibility: hidden; }
.review-carousel.has-controls .review-slide.is-active { transition-delay: 0s; }
.review-carousel-controls { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 20px; }
.review-carousel-button { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; padding: 0 0 3px; border: 2px solid var(--brand-blue); border-radius: 50%; background-color: var(--white); color: var(--brand-blue); font-size: 26px; line-height: 1; cursor: pointer; transition: background-color .3s ease, color .3s ease; }
.review-carousel-button:hover, .review-carousel-button:focus-visible { background-color: var(--brand-blue); color: var(--white); }
.review-carousel-dots { display: flex; gap: 8px; }
.review-carousel-dot { width: 12px; height: 12px; padding: 0; border: 2px solid var(--brand-blue); border-radius: 50%; background-color: transparent; cursor: pointer; }
.review-carousel-dot.is-active { border-color: var(--brand-gold); background-color: var(--brand-gold); }

/* Extra review platforms (review_platforms repeater): the platform name stands in for a logo */
.review-platform-name { flex: 0 1 auto; min-width: 35%; color: var(--brand-blue); font-size: 17px; font-weight: 700; line-height: 1.2; text-decoration: none; overflow-wrap: break-word; }
a.review-platform-name:hover { text-decoration: underline; }

@media (prefers-reduced-motion: reduce) {
  .review-carousel.has-controls .review-slide { transition: none; }
}

/* Footer social icons: the icon image from Site Content > Social is passed in as --social-icon */
.social-link {
  -webkit-mask-image: var(--social-icon);
  mask-image: var(--social-icon);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}
