/*
Theme Name:     Neve Child
Theme URI:      https://themeisle.com/themes/neve/
Template: neve
Author:         ThemeIsle
Author URI:     https://themeisle.com
Description:    Neve is a super fast, easily customizable, multi-purpose theme. It’s perfect for blogs, small business, startups, agencies, firms, e-commerce shops (WooCommerce storefront) as well as personal portfolio sites and most types of projects. A fully AMP optimized and responsive theme, Neve will load in mere seconds and adapt perfectly on any viewing device. While it is lightweight and has a minimalist design, the theme is highly extendable, it has a highly SEO optimized code, resulting in top rankings in Google search results. Neve works perfectly with Gutenberg and the most popular page builders (Elementor, Brizy, Beaver Builder, Visual Composer, SiteOrigin, Divi). Neve is also WooCommerce ready, responsive, RTL & translation ready. Look no further. Neve is the perfect theme for you!
Version:        1.0.0
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    neve
Tags: blog, custom-logo, e-commerce, rtl-language-support, post-formats, grid-layout, one-column, two-columns, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, accessibility-ready, wide-blocks, block-styles
*/


/* GLOBAL STYLES */

html { scroll-behavior: smooth; }

.hide {display:none;}

.hero-cover h1.no-subtitle {
    margin-bottom:0;
}

.numberCircle {
  border-radius: 50%;
  width: 48px;
  height: 48px;
  padding: 6px;
  background: var(--nv-secondary-accent);
  color: var(--nv-text-dark-bg) !important;
  margin: 0 auto 1rem;
}

.nv-content-wrap h2 {
  margin:20px 0 15px 0;
}

.nv-content-wrap p {
  margin-bottom: 1rem;
}

.nv-content-wrap ul {
  margin-top:0;
}

.nv-content-wrap li {
  margin-top:4px;
}

.nv-content-wrap ul.checkmarks li::marker {
  font-family: "Font Awesome 6 Free";   
  font-weight: 900;                     
  content: "\f00c";                     
  color: #00cba9;                      
  font-size: 1.1em;
}

.nv-content-wrap ul.checkmarks li strong {
  margin-left:6px;
}

.nv-content-wrap .contained-content {
  max-width:1410px; /* matches Neve's max-width */
  margin: 0 auto;
}

.nv-social-icons-list a[aria-label="Facebook"]:hover {
  background:#1877F2 !important;
}

.nv-social-icons-list a[aria-label="X"]:hover {
  background:#000000 !important;   
}

.nv-social-icons-list a[aria-label="Youtube"]:hover {
  background:#FF0000 !important;   
}

.nv-social-icons-list a[aria-label="LinkedIn"]:hover {
  background:#0A66C2 !important;   
}

.nav-menu-secondary .nav-ul li:first-child a::before {
  content: '\f023'; 
  font-family: 'Font Awesome 6 Free'; 
  font-weight: 900; 
  margin-right: 8px; 
}

.nav-menu-secondary .nav-ul li:first-child {
  font-weight: bold;
}

.nav-menu-secondary .nav-ul li:not(:last-child) .wrap:after {
    content: "•";
    padding-left:8px;
}

.m-style>ul>li.nv-active>.wrap::after, .sm-style .sub-menu .wrap::after {
    position: absolute;
    content: "";
    margin: 0 auto;
    width: 100%;
    height: 2px;
    transition: all .3s ease;
    right: 0;
    left: 0;
    pointer-events: none;
    background-color: var(--hovercolor, var(--nv-primary-accent, currentColor));
}

.wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-image img {
  object-fit: contain !important;
  background-color: white;
  padding:0.5rem;
}

/* --- START HOMEPAGE --- */

.feature-highlights {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    justify-content: center;
    color: #FFFFFF;
}

.highlight-item {
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 500;
}

.highlight-icon {
    color: #00D4B3; 
    margin-right: 0.75rem; 
    font-size: 1.2em;
    line-height: 1; 
}

.hfg_header {
  border-bottom:1px solid silver;
}

/* HERO WAVE */
.home .hero-cover {
  position: relative;
  overflow: hidden;
}

/* The wave itself */
.home .hero-cover::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 180px;         
  pointer-events: none;
  /* Inline SVG encoded as a data URI */
  background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%20320%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20fill-opacity%3D%221%22%20d%3D%22M0%2C256L60%2C266.7C120%2C277%2C240%2C299%2C360%2C304C480%2C309%2C600%2C299%2C720%2C288C840%2C277%2C960%2C267%2C1080%2C266.7C1200%2C267%2C1320%2C277%2C1380%2C282.7L1440%2C288L1440%2C320L1380%2C320C1320%2C320%2C1200%2C320%2C1080%2C320C960%2C320%2C840%2C320%2C720%2C320C600%2C320%2C480%2C320%2C360%2C320C240%2C320%2C120%2C320%2C60%2C320L0%2C320Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E') no-repeat 0 100%/100% 100%; 
}

.home .nv-content-wrap .caribbean-excellence p {
  margin-bottom:0;
}

/* TRYOUT */

/* ===== design tokens (edit once) =============================== */
:root {
  --ap-primary: #00cba9;           /* teal */
  --ap-dark:   #003d66;           /* dark navy for text */
  --ap-gradient: linear-gradient(90deg,#00497b 0%,#006fa0 50%,#00cba9 100%);
}

/* ===== layout & typography ===================================== */
.admission-process {
  font-family: system-ui, sans-serif;
  color: var(--ap-dark);
  text-align: center;
  max-width: 90rem;             /* keeps it from stretching on 4K */
  margin-inline: auto;
  padding: 4rem 1.25rem;
}

.ap-eyebrow {
  font-weight: 700;
  letter-spacing: .08em;
  margin: 0 0 .5rem;
  text-transform: uppercase;
}

.ap-title {
  font-size: clamp(1.75rem,4vw,2.5rem);
  line-height: 1.25;
  margin: 0 0 3.5rem;
}

.nowrap { white-space: nowrap; }

/* ===== step line =============================================== */
.ap-steps {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0 0 4rem;
  position: relative;
}

/* connecting line */
.ap-steps::before {
  content: '';
  position: absolute;
  top: 1.6rem;                  /* aligns with circle centre */
  left: 13%;
  right: 13%;
  height: 4px;
  background: var(--ap-primary);
  z-index: 0;
}

/* each step */
.ap-steps li {
  flex: 1 1 0;
  padding-inline: .75rem;
}

.ap-index {
  position: relative;
  z-index: 1;                   /* sits above the connecting line */
  display: inline-flex;
  place-content: center;
  place-items: center;
  width: 3rem;
  aspect-ratio: 1;
  margin-bottom: 1.25rem;
  border-radius: 50%;
  background: var(--ap-primary);
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
}

.ap-step-title {
  font-size: 1.25rem;
  margin: 0 0 .75rem;
  font-weight: 700;
}

.ap-steps p {
  margin: 0;
  max-width: 22ch;
  margin-inline: auto;
  line-height: 1.45;
}

/* ===== call-to-action bar ====================================== */
.ap-cta {
  margin-top: 2rem;
  background: var(--ap-gradient);
  color: #fff;
  border-radius: 0 0 1rem 1rem;
  padding: 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.ap-cta-text {
  font-size: clamp(1.5rem,3vw,2rem);
  font-weight: 700;
  margin: 0;
}

.ap-btn {
  background: #fff;
  color: var(--ap-dark);
  font-weight: 700;
  padding: .9rem 2.75rem;
  border-radius: 3rem;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  transition: opacity .2s;
}
.ap-btn:hover { opacity: .9; }

/* ===== responsiveness ========================================== */
@media (max-width: 900px) {
  .ap-steps { flex-direction: column; gap: 2.75rem; }
  .ap-steps::before { display: none; }     /* hide long line */
  .ap-cta { flex-direction: column; text-align: center; }
}


.nv-content-wrap h2.vision {
  margin-top:0;
}

/* --- END HOMEPAGE --- */

/* --- START BUSINESS TYPES --- */
#content .businessTypes .wp-block-themeisle-blocks-advanced-columns {
    min-height: 183px;
}

/* --- END BUSINESS TYPES --- */

/* --- START FOOTER --- */

/* -- Wave Shape Separator for Footer -- */

.site-footer {
    position: relative; /* This is crucial for positioning the wave */
    background-color: #F5F8FC; /* Make sure this matches your footer's actual background color */
}

.site-footer::before {
    content: '';
    position: absolute;
    top: 0; /* Position it at the very top of the footer */
    left: 0;
    width: 100%;
    height: 80px; /* Adjust the height of your wave */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%23f5f8fc' fill-opacity='1' d='M0,192L80,176C160,160,320,128,480,133.3C640,139,800,181,960,186.7C1120,192,1280,160,1360,144L1440,128L1440,320L1360,320C1280,320,1120,320,960,320C800,320,640,320,480,320C320,320,160,320,80,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;

    /* This moves the wave up to sit on top of the footer */
    transform: translateY(-100%);
    z-index: 100;
}

/* You may need to add padding to the section ABOVE the footer to prevent content from being overlapped by the wave */
.nv-content-wrap {
   padding-bottom: 80px; /* Match this value to the wave height */
}

.hfg_footer h3.wp-block-heading {
  font-size:1.1rem;
  line-height:1.1rem;
  margin-bottom:0.5rem;
}

.hfg_footer p.footer-slogan {
  font-size:1.2rem;
  line-height:1.5rem;
  font-style:italic;
  color: #777777;
}


.hfg_footer .nv-footer-content .widget {
  margin-bottom:1rem;
}

.hfg_footer .footer-bottom .nv-footer-content .widget {
  margin-bottom:0;
}

.hfg_footer .nv-footer-content .widget li {
  font-size:0.9rem;
  margin:0; 
}
.hfg_footer .nv-footer-content .widget li a {
  color:var(--nv-primary-accent);
}

.hfg_footer .nv-footer-content .widget li a:hover {
  color:var(--nv-secondary-accent);
}

.hfg_footer .nv-social-icons-list::before {
    content:'Follow us:';
    margin-right:8px;
    font-weight:bold;
}

.site-footer p {
  font-size:0.8rem;
}


/* --- END FOOTER --- */


/* -- Dual Statistic Callout Styling -- */
.dual-statistic-callout {
    background-color: #0F2140; /* Your dark blue */
    color: #FFFFFF;
    padding: 2rem;
    border-radius: 8px;
    display: flex;
    justify-content: space-around; /* Distribute space between items */
    align-items: center;
    height: 100%;
    gap: 1.5rem;
}

.statistic-item {
    text-align: center;
    flex-basis: 50%; /* Each item takes up roughly half the space */
}

.statistic-number {
    font-size: 4.5rem; /* Slightly smaller to fit two, but still huge */
    font-weight: 700;
    color: #00D4B3; /* Your vibrant teal */
    line-height: 1.1;
}

.statistic-label {
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 0.5rem;
}

.statistic-description {
    font-size: 0.9rem;
    color: #E0E0E0;
    margin-top: 1rem;
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
}

/* A subtle vertical line between the two stats on desktop */
.statistic-divider {
    width: 1px;
    align-self: stretch; /* Makes divider full height */
    background-color: rgba(255, 255, 255, 0.2);
}

/* --- Responsive for Mobile --- */
@media (max-width: 768px) {
    .dual-statistic-callout {
        flex-direction: column; /* Stack them vertically */
        padding: 2rem 1.5rem;
    }

    /* Hide the vertical line on mobile and use a horizontal one instead */
    .statistic-divider {
        width: 50%;
        height: 1px;
        align-self: center;
        margin: 1rem 0;
    }
    
    .statistic-number {
        font-size: 4rem; /* Adjust for smaller screens if needed */
    }
}


/* START FCC Declaration Form & Contact Form */

.contact_form,
.ffc_form {
    max-width: 650px;
    margin: 2rem auto;
    background: white;
    padding: 2.5rem;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.contact_form {
  padding-top:1rem;
}

.ffc_form .gf_progressbar_percentage.percentbar_blue {
    background-color: var(--nv-secondary-accent) !important;
}

.ffc_form .gfield_label {
  margin-bottom:4px;
}

.ffc_form .gfield_description {
    font-size: 0.8rem !important;
    line-height:0.8rem !important;
    color: var(--nv-text-color);
    opacity:0.9;
    margin-top: 0.1rem;
    background-color: var(--nv-light-bg);;
    padding:  0.5rem; 
    border-radius: 6px;
    border-left: 3px solid var(--nv-secondary-accent);
}

.ffc_form h3 {
    margin:0.1rem 0 0;
    color: var(--nv-secondary-accent);
    font-size:1.3rem;
}

.ffc_form .gform_wrapper.gravity-theme .gsection {
    margin-bottom:1.5rem;
}

.ffc_form .currency-symbol {
  padding-left:1rem;
}


.ffc_form .currency-symbol::after {
    content:':';
}

.ffc_form #field_1_18 .ginput_container,
.ffc_form #input_1_18 {
    display:inline-block;
    width:auto;
}

.ffc_form .ginput_container_consent label {
  margin-left:0.5rem;
  display:inline;
}

.ffc_form .gf-turnover-note {
    padding-top: .5rem;
    border-top: 1px solid #e5e7eb;
    color:#4b5563;
    font-size:0.8rem;
}

.ffc_form input[type=button].gform_previous_button:hover {
  opacity: 0.8;
}

.ffc_form input[type=button].gform_previous_button {
    color: teal !important;
    background: transparent;
    border: 1px solid teal !important;
}

/* END FCC Declaration Form & Contact Form */

#wpmem_restricted_msg::before {content: 'Restricted Access!!';font-weight:800;font-size:1.8rem;text-align:center;margin-bottom:1rem;display: block;}

#wpmem_restricted_msg,
#wpmem_login,
#wpmem_reg {
    max-width: 650px;
    margin: 2rem auto;
    background: white;
    padding: 2.5rem;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}


/* START Privacy Policy page */

.privacy h3 {
  margin-top:60px;
}

.privacy ul {
    list-style-type:none;
    margin:0 ;
    padding:0; 
}

.privacy ul h3 {
    margin:0;
    font-size:1.2rem;
}

.privacy ul br {
    display:none;
}

/* END Privacy Policy page */


@media (max-width: 960px) {
  .entry-content .wp-block-group {
    padding: 0 1rem;
  }

  .home .nv-content-wrap .caribbean-excellence {
    padding: 2rem 0;
  }

  .home .nv-content-wrap .caribbean-excellence p {
    margin-bottom:1rem;
    text-align: center;
  }
  .home .nv-content-wrap .caribbean-excellence .wp-block-spacer {
    display:none;
  }

}