/* 
Theme Name:		 ulc
Theme URI:		 www.technotery.com
Description:	 Customized theme by Technotery
Author:			 Technotery
Author URI:		 www.technotery.com
Template:		 oceanwp
Version:		 1.0.0
Text Domain:	 OceanWP-child
Tags: 			 singlesite
-------------------------------------------------------------- */
@font-face {
    font-family: "Material Design Icons";
    src: url("../fonts/materialdesignicons/materialdesignicons-webfont.eot");
    src: url("../fonts/materialdesignicons/materialdesignicons-webfont.eot?#iefix") format("embedded-opentype"),
         url("../fonts/materialdesignicons/materialdesignicons-webfont.woff2") format("woff2"),
         url("../fonts/materialdesignicons/materialdesignicons-webfont.woff") format("woff"),
         url("../fonts/materialdesignicons/materialdesignicons-webfont.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}
/* ---------- Design Tokens ---------- */
:root {
  --primary-blue: #1D69A1;
  --primary-teal: #2FB4A9;
  --accent-orange: #F4825B;
  --dark-text: #171D1C;
  --body-text: #666666;
  --light-bg: #f7f8fa;
  --border-color: #DFDFDF;
  --white:#ffffff;
  --light-bg:#F9F9FF;
  --footer-bg: #171D1C;
  --shadow-soft: 0 8px 30px rgba(34, 34, 34, 0.06);
  --shadow-card: 0 12px 40px rgba(34, 34, 34, 0.08);
  --shadow-hover: 0 18px 48px rgba(37, 99, 235, 0.14);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --container-max: 90%;
  --section-gap: 80px;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 40px;
  --space-6: 48px;
  --space-8: 64px;
  --space-10: 80px;
  --font: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}


/* Commom-font-size::Start */
body 
{
  font-size:16px;
}
h3 
{
  font-size: 22px;
  line-height: 1.2 !important;
}
/* Commom-font-size::End */



/* Common_styles::Start */
.section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 600;
    color: var(--accent-orange);
    margin-bottom: 15px;
    letter-spacing: 0.02em;
}
.section-title-hero
{
  font-size:36px;
}
.text-body 
{
  font-size: 16px;
  line-height: 1.7;
}
/* Common_styles::End */


/* Home_banner_css::Start */
.hero-section {
  padding-top: var(--space-3);
  padding-bottom: var(--section-gap);
}

.hero-slider 
{
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  height:80vh;
  box-shadow: var(--shadow-card);
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.7s ease, visibility 0.7s ease;
  background-size: cover;
  background-position: center;
  height: 80vh;
}

.hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgba(20, 28, 45, 0.35) 0%,
    rgba(20, 28, 45, 0.12) 45%,
    rgba(20, 28, 45, 0.05) 100%
  );
}

.hero-slide.active {
  opacity: 1;
  visibility: visible;
  position: relative;
}

.hero-content-wrap {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  padding: 48px;
}

.hero-glass {
  max-width: 480px;
  padding: 36px 32px;
  animation: fadeUp 0.8s ease both;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height:100%;
  justify-content: space-between;
}
.hero-glass .btn-ulc 
{
  width: max-content;
  align-self: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.hero-glass h1 {
  margin-bottom: var(--space-2);
}

.hero-glass .text-body {
  margin-bottom: var(--space-3);
  color: var(--dark-text);
}

.hero-quote {
  border-left: 4px solid var(--teal-primary);
  /* padding-left: var(--space-4); */
  margin: 0 0 var(--space-3) 0;
  font-style: italic;
}

.hero-quote p {
  font-size: 1.5rem;
  line-height: 1.6;
  margin-bottom: var(--space-2);
  color: var(--dark-text);
  font-weight: 500;
}

.hero-quote cite {
  font-style: normal;
  font-size:16px;
  color: var(--accent-orange);
  font-weight: 600;
  display: block;
}

.hero-controls {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 3;
  display: flex;
  gap: 12px;
}
.glass-card {
    background: rgb(255 255 255 / 85%);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: var(--radius-lg);
    box-shadow: 0 16px 48px rgba(34, 34, 34, 0.12);
}
.hero-glass.glass-card p 
{
  color: var(--dark-text);
}
.heading-highlight {
    color: var(--primary-teal);
}
.hero-glass.glass-card h1 
{
  font-size:48px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--dark-text);
}
.hero-quote {
    font-size:24px;
    line-height: 1.6;
    margin-bottom: 15px !important;
    color: var(--dark-text);
    font-weight: 500;
}
.author {
    font-style: normal;
    font-size: 16px;
    color: var(--accent-orange) !important;
    font-weight: 600;
    display: block;
}
/* Home_banner_css::End */



/* ---------- Buttons ---------- */
.btn-primary-ulc {
    background: var(--primary-blue);
    color: var(--white);
}
.btn-ulc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  padding: 14px 28px;
  border-radius: var(--radius-sm);
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform var(--transition), box-shadow var(--transition),
    background-color var(--transition), color var(--transition), border-color var(--transition);
  white-space: nowrap;
}

.btn-ulc:hover {
  transform: translateY(-2px);
}

.btn-ulc:focus-visible {
  outline: 2px solid var(--primary-teal);
  outline-offset: 3px;
}

.btn-primary-ulc {
  background: var(--primary-blue);
  color: var(--white);
}

.btn-primary-ulc:hover {
  background:var(--primary-blue);
  color: var(--white);
}

.btn-accent-ulc {
  background: var(--accent-orange);
  color: var(--white);
  box-shadow: 0 8px 24px rgba(255, 131, 87, 0.35);
}

.btn-accent-ulc:hover {
  background: #f06f42;
  color: var(--white);
}

.btn-outline-ulc {
  background: transparent;
  color: var(--primary-blue);
  border-color: var(--primary-blue);
}

.btn-outline-ulc:hover {
  background: var(--primary-blue);
  color: var(--white);
}

.btn-white-ulc {
  background: var(--white);
  color: var(--primary-blue);
}

.btn-white-ulc:hover {
  background: var(--light-bg);
  color: var(--primary-blue);
}

.btn-icon-circle {
  width: 44px;
  height: 44px;
  border-radius:var(--radius-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: var(--white);
  color: var(--primary-teal);
  box-shadow: var(--shadow-soft);
  cursor: pointer;
  transition: transform var(--transition), background var(--transition), color var(--transition);
}

.btn-icon-circle:hover {
  transform: translateY(-2px) scale(1.05);
  background: var(--primary-teal);
  color: var(--white);
}

.btn-icon-circle.btn-nav {
  background: rgba(255, 255, 255, 0.95);
  color: var(--primary-blue);
  width: 48px;
  height: 48px;
  padding:0px;
}
.btn-nav.hero-prev:hover svg path,
.btn-nav.hero-next:hover svg path,
.btn-nav.hero-prev:focus svg path,
.btn-nav.hero-next:focus svg path
{
stroke: var(--white) !important;
}

.btn-icon-circle.btn-nav:hover {
  background: var(--primary-blue);
}
.about_ulc_wrapper img 
{
  object-fit: cover !important;
}

.about-icon-box .elementor-icon-wrapper
{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height:44px !important;
  border-radius: var(--radius-sm);
  background: var(--primary-blue);
  color: var(--white);
}
 .about-icon-box .elementor-icon-wrapper svg
 {
  width: 32px;
  height: 32px;
 }
 h2
 {
  margin-bottom:10px !important;
  text-transform: capitalize !important;
 }
  h4 
  {
    margin-bottom:0px !important;
  }
 p
 {
  margin-bottom: 0px !important;

 }

 .inspiring-child-image
 {
  height: 100% !important;
  object-fit: cover !important;
 }
 .inspiring-child-image img 
{
  height: 100% !important;
  object-fit: cover !important;
 }

.elementor-button-link .elementor-button-icon svg
 {
  width: 24px !important;
  height: 24px !important;
 }
 .elementor-button-content-wrapper
 {
  display: flex !important;
  align-items: center !important;
 }
 .elementor-button:hover {
    transform: translateY(-2px);
}

.approach-arrows .elementor-widget-icon
{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height:44px !important;
  border-radius:9999 !important;
  background: var(--primary-blue);
  color: var(--white);
}

.learning-approach-wrapper
{
  position:relative;
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.learning-approach-wrapper::after
{
  content: "";
  position: absolute;
  left: 0;
  right: 0; 
  width: 100%; 
  height:1px;
  background: #e0e0e0;
  top: 50%;
  z-index: -1;

}

.footer-local-links-wrapper a
{
color: var(--white) !important;
}
.footer-local-links-wrapper h5,
.footer-contact-info h5
{
  color:var(--accent-orange)!important;
  font-size: 18px;
}
.footer-local-links-wrapper ul 
{
  display: flex;
  flex-direction: column;
  gap:12px;
}
.footer-local-links-wrapper ul li
{
  margin-left:-16px !important;
  list-style-type: none !important;
}


/* Footer_css::Start */
.footer-wrapper {
    position: relative;
    padding-top: 40px;
    padding-bottom: 60px;
    background: var(--white);
}
.site-footer-card
{
  background-color:var(--dark-text) !important;
  color: var(--white) !important;
  background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 48px 48px !important;
  border-radius: 36px !important;
  padding: 145px 40px 20px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}
.footer-logo-stacked {
  width: 120px;
}
.footer-logo-content
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex: 0 0 auto;
  width: 33.33333333% !important;
}
.footer-links-content
{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 50% !important;
}
.col-lg-2.footer-col
{

flex: 0 0 auto;
width: 16.66666667%;
}

.custom-grid
{
  display:grid;
  gap:20px;
}

.row-4
{
  flex: 0 0 auto;
  width: 40% !important;
}

.row-2
{
  flex: 0 0 auto;
  width: 16.66666667% !important;
}

.row-3
{
    flex: 0 0 auto;
    width: 25% !important;
}
.site-footer-card .e-flexbox-base
{
  padding:0px !important;
  justify-content: space-between !important;
}
.footer-middle-content .footer-contact-info
{
  padding:0px !important;
  display: block;
}
/* Footer_css::End */


/* cta-css::Start */
.cta-card-wrapper
{

  position: relative;
  z-index: 10;
  background: var(--primary-blue);
  border-radius: 36px;
  padding: 60px 40px 52px;
  max-width: 94%;
  margin: 0 auto -100px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(31, 107, 163, 0.22);
}
.cta-card-wrapper h2 
{
  color: var(--white) !important;
}

.cta-buttons
{
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.oranger-button .elementor-button-link:hover 
{
  background:#d1633d !important;
  color: var(--white) !important;
}
.teal-button .elementor-button-link:hover 
{
  background:#1e8e84 !important;
  color: var(--white) !important;
}

#cta-card-wrapper {
    position: relative;
    overflow: hidden;
    transform: translateY(100px);
    z-index: 999;
    margin:0 auto;
}

#cta-card-wrapper::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    top: -90px;
    left: -80px;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    z-index: 1;
}

#cta-card-wrapper::after {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    bottom: -110px;
    right: -70px;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    z-index: 1;
}

/* cta-css::End */

/* Services_css::Start */
.service-card-ulc {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  min-height: 480px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.service-card-ulc:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.22);
}

.service-card-ulc::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(15, 23, 30, 0.05) 0%,
    rgba(15, 23, 30, 0.35) 45%,
    #131b1e 80%,
    #131b1e 100%
  );
  z-index: 1;
  transition: opacity 0.35s ease;
}

.service-card-ulc:hover::before {
  background: linear-gradient(
    180deg,
    rgba(15, 23, 30, 0.1) 0%,
    rgba(15, 23, 30, 0.45) 40%,
    #0f1719 75%,
    #0f1719 100%
  );
}

.service-card-content {
  position: relative;
  z-index: 2;
  padding: 28px 24px 24px;
  color: var(--white);
  display: flex;
  flex-direction: column;
}

.service-card-title {
  color: var(--white);
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.3;
}

.service-card-desc {
  color:var(--white);
  line-height: 1.55;
  margin-bottom: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size:16px;
}

.service-card-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.16);
  margin: 20px 0px;
  width: 100%;
}
.service-card-content .btn-ulc,
.service-card-ulc .btn-ulc,
.service_card .btn-ulc,
.service_card .openServiceModal {
  width: fit-content !important;
  align-self: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.btn-read-more {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--primary-blue);
  color: var(--white) !important;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 22px;
  border-radius: 30px;
  border: none;
  cursor: pointer;
  text-decoration: none !important;
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(29, 105, 161, 0.3);
}

.btn-read-more:hover {
  background: var(--primary-blue);
  color: var(--white) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(29, 105, 161, 0.45);
}

.btn-read-more i {
  font-size: 16px;
  transition: transform 0.25s ease;
}

.btn-read-more:hover i {
  transform: translateX(4px);
}
.service-col
{
  width: 33.33%;
}
.services-row
{
  display: flex;
  gap: 26px;
}
#site-header.transparent-header
{
  position: unset !important;
}
.oceanwp-mobile-menu-icon .oceanwp-text,
.oceanwp-mobile-menu-icon .oceanwp-close-text
{
  display:none;
}
.main-menu
{
  display: flex;
}

/* Custom_breadcrumb_css::Start */
.custom_breadcrumb.page-header.background-image-page-header
{
  width: 90%;
  margin: 0 auto;
  border-radius: 36px;
  height: 350px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.custom_breadcrumb .background-image-page-header-overlay
{
    border-radius: 36px;
}
.custom_breadcrumb .container.clr.page-header-inner
{
  position: relative;
    z-index: 2;
    background: rgb(255 255 255 / 87%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 28px;
    padding: 44px 40px;
    margin: 0 auto;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.08);
    max-width: 97%;
    margin-bottom: -80px;
    width: 100%;;
}
.custom_breadcrumb .page-header-title
 {
    font-size: 34px !important;
    font-weight: 800 !important;
    color: var(--dark-text) !important;
    margin-bottom: 10px !important;
    line-height: 1.2 !important;
}
.custom_breadcrumb .page-header-title .breadcrumb-title-teal {
    color: var(--primary-teal) !important;
}
.custom_breadcrumb .page-subheading
 {
    font-size: 16px !important;
    line-height: 1.65 !important;
    color: var(--dark-text) !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    font-weight: 400 !important;
}
.custom_breadcrumb .trail-item span 
{
  color: var(--dark-text);
  font-size: 16px;
}
.custom_breadcrumb .trail-item.trail-end span,
.custom_breadcrumb .trail-item.trail-end span a,
.custom_breadcrumb .trail-item.trail-end span.breadcrumb-error
{
  color: var(--accent-orange) !important;
  font-size: 16px;
  font-weight: 500;
}
.custom_breadcrumb .site-breadcrumbs
{
  margin-top: 0px !important;
  text-align: center !important;
  float: none !important;
}
.custom_breadcrumb .site-breadcrumbs ul {
  justify-content: center !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px;
}
.custom_breadcrumb .breadcrumb-sep svg {
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
}
.custom_breadcrumb.page-header
{
  background-size: cover;
  background-position: center 30%;
}
.background-image-page-header-overlay
{
  opacity: 0.2 !important;
}
/* Custom_breadcrumb_css::End */

/* 404 Error Page Styling :: Start */
.error404-wrapper {
  padding: 60px 20px 80px;
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}

.error404-wrapper .error-title {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: var(--dark-text) !important;
  margin-bottom: 16px !important;
  line-height: 1.3 !important;
}

.error404-wrapper .error-text {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: var(--body-text) !important;
  margin-bottom: 30px !important;
}

.error404-wrapper .error-search-container {
  max-width: 480px;
  margin: 0 auto 32px;
}

.error404-wrapper .error-search-container form,
.error404-wrapper .error-search-container .search-form {
  position: relative;
  display: block;
  align-items: center;
}

.error404-wrapper .error-search-container input[type="search"],
.error404-wrapper .error-search-container input.search-field,
.error404-wrapper .error-search-container input[type="text"] {
  width: 100%;
  padding: 14px 22px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  font-size: 15px;
  outline: none;
  background: var(--white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: border-color var(--transition);
}

.error404-wrapper .error-search-container input[type="search"]:focus {
  border-color: var(--primary-teal);
}

.error404-wrapper .error-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--primary-blue);
  color: var(--white) !important;
  font-size: 16px;
  font-weight: 600;
  padding: 14px 32px;
  border-radius: var(--radius-sm);
  text-decoration: none !important;
  transition: all var(--transition);
  box-shadow: 0 4px 14px rgba(29, 105, 161, 0.25);
  border: none;
  cursor: pointer;
}

.error404-wrapper .error-btn:hover {
  background: #155584;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(29, 105, 161, 0.35);
  color: var(--white) !important;
}
/* 404 Error Page Styling :: End */

/* Services_css::End */

/* Service_modal_popup_css::Start */

html.ulc-modal-open,
body.ulc-modal-open {
  overflow: hidden !important;
  height: 100% !important;
}

.ulc-service-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s ease;
  overscroll-behavior: contain;
  touch-action: none;
}

.ulc-service-modal-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}
.modal-service-description p 
{
  font-size: 16px;
  color: var(--body-text);
  margin-bottom: 10px !important;
}
.modal-service-description h4 
{
  color: var(--primary-blue) !important;
  margin-bottom: 20px !important;
}
.modal-service-description h5 
{
  margin-bottom: 0px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}
.ulc-service-modal-card {
  position: relative;
  background: var(--white);
  border-radius: 24px;
  max-width: 820px;
  width: 100%;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  padding: 0;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.35);
  transform: scale(0.92) translateY(20px);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
  overscroll-behavior: contain;
  touch-action: auto;
}

.ulc-service-modal-card-inner {
  padding:0px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.ulc-modal-inner-content
{
  padding:40px 40px 20px 40px;
}

.ulc-service-modal-backdrop.is-open .ulc-service-modal-card {
  transform: scale(1) translateY(0);
}

.modal-close-btn-circle {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  border-radius:var(--radius-sm);
  background: var(--accent-orange) !important;
  color: var(--white);
  border: none;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(240, 113, 93, 0.35);
  transition: all 0.2s ease;
  z-index: 10;
  padding:24px !important;
}

.modal-close-btn-circle:hover {
  background: var(--accent-orange);
  transform: scale(1.08) rotate(90deg);
  box-shadow: 0 8px 20px rgba(240, 113, 93, 0.5);
}

.modal-service-title {
  font-size: 28px !important;
  font-weight: 700;
  color: var(--primary-blue);
  margin-bottom: 20px !important;
  padding-right: 48px;
  line-height: 1.25;
}

.modal-service-p {
  color: var(--body-text);
  font-size: 16px;
  line-height: 1.68;
  margin-bottom: 16px;
}

.modal-service-subtitle {
  font-size: 18px;
  font-weight: 700;
  color: var(--primary-blue);
  margin-top: 28px;
  margin-bottom: 18px;
}

.modal-service-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px 0;
}

.modal-service-item {
  margin-bottom: 16px;
}

.modal-item-title {
  font-weight: 700;
  color: var(--dark-text);
  font-size: 15px;
  display: block;
  margin-bottom: 4px;
}

.modal-item-desc {
  color: var(--body-text);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

/* Info Pills Grid */
.modal-pills-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin-top: 24px;
  margin-bottom: 32px;
}

.modal-pill {
  background: var(--light-bg);
  border: 1px solid #DFDFDF;
  border-radius: 16px;
  padding: 12px 18px;
  font-size: 16px;
  color: var(--dark-text);
  display: flex;
  align-items: center;
  gap: 10px;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.modal-pill strong 
{
  color:var(--primary-teal);
}
.modal-pill:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.modal-pill i {
  color: var(--primary-teal);
  font-size: 20px;
  flex-shrink: 0;
}
.modal-pill-icon
{
  display: flex;
}

.modal-pill-label {
  color: var(--dark-text);
  font-weight: 400;
  margin-right: 4px;
}

.modal-pill-value {
  font-weight: 500;
  color: var(--dark-text);
}

/* Modal Footer Action Buttons */
.modal-footer-row {
  background-color: var(--white);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  padding: 16px 40px;
  border-top: 1px solid #DFDFDF !important;
  position: sticky;
  bottom: 0;
  border-radius: 0 0 24px 24px;
  z-index: 10;
}

.btn-modal-close 
{
  background:var(--white) !important;
  border: 1px solid var(--primary-blue) !important;
  color:var(--primary-blue);
  padding: 10px 24px;
  gap: 5;
  border-radius: var(--radius-sm);
  font-weight: 500;
  font-size: 16px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.25s ease;
}


.btn-modal-book {
  background:var(--primary-blue);
  border: none;
  color: var(--white) !important;
  padding: 11px 26px;
  border-radius: var(--radius-sm);
  font-weight: 500;
  font-size: 16px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.btn-modal-book:hover {
  background:var(--primary-blue) !important;
  color: var(--white) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(29, 105, 161, 0.5);
}
.btn-modal-close:hover{
    box-shadow: 0 6px 18px rgba(29, 105, 161, 0.5);
    border-color: var(--primary-blue) !important;
}
.service_card
{
  width:31.33%;
  min-width: 31.33%;
}
.service_card_row
{
  display: flex;
  gap:16px;
  flex-wrap: wrap;
}
/* Service_modal_popup_css::End */

/* /* Header_css::Start */

.main-navigation
{
display: flex;
align-items: center;
gap: 4px;
background: #f6f8fc;
border: 1px solid #e3e8f0;
border-radius: var(--radius-sm);
padding: 5px 6px;
display: flex;
align-items: center;
}
#site-navigation-wrap .dropdown-menu>li>a {
  font-size:16px !important;
  color:var(--dark-text);
  font-weight:400;
}

.navbar-actions a
{
  line-height: auto !important;
}
/* /* Header_css::End */


/* ============================================================
   WEEKLY TIMETABLE VISUAL TABLE
   ============================================================ */

.weekly-schedule-table-wrap {
  overflow-x: auto;
}

.weekly-schedule-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: separate;
  border-spacing: 8px 8px;
  table-layout: fixed;
}

.weekly-schedule-table th {
  background: #07938f;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.45px;
  line-height: 1;
  padding: 16px 8px;
  text-align: center;
}

.weekly-schedule-table td {
  border: 1px solid #DFDFDF;
  border-radius: 12px;
  height: 635px;
  padding: 0;
  vertical-align: top;
  background-color: var(--white);
}

.weekly-schedule-cell {
  height: 100%;
  position: relative;
  background:
    linear-gradient(to bottom, transparent 0, transparent 232px, #dddddd 232px, #dddddd 233px, transparent 233px),
    linear-gradient(to bottom, transparent 0, transparent 352px, #dddddd 352px, #dddddd 353px, transparent 353px),
    linear-gradient(to bottom, transparent 0, transparent 499px, #dddddd 499px, #dddddd 500px, transparent 500px),
    transparent;
}

.weekly-schedule-cell--saturday {
  background:
    linear-gradient(to bottom, transparent 0, transparent 122px, #dddddd 122px, #dddddd 123px, transparent 123px),
    linear-gradient(to bottom, transparent 0, transparent 246px, #dddddd 246px, #dddddd 247px, transparent 247px),
    linear-gradient(to bottom, transparent 0, transparent 370px, #dddddd 370px, #dddddd 371px, transparent 371px),
    transparent;
}

.schedule-block {
  align-items: center;
  border-radius: 7px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  left: 8px;
  margin-top: 8px;
  padding: 12px 14px;
  position: absolute;
  right: 8px;
  text-align: center;
}

.schedule-title {
  color: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}

.schedule-subtitle {
  color: inherit;
  font-size: 14px;
  font-style: italic;
  line-height: 1.3;
  margin-top: 8px;
  opacity: 0.88;
}

.schedule-time {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  color: inherit;
  display: inline-flex;
  font-size: 14px;
  font-weight: 600;
  justify-content: center;
  line-height: 1;
  margin-top: 10px;
  min-height: 22px;
  padding: 4px 12px;
  white-space: nowrap;
}

.schedule-block--blue {
  background: #cfe8f3;
  color: #082562;
}

.schedule-block--mint {
  background: #9ad8d5;
  color: #073957;
}

.schedule-block--yellow {
  background: #ffe16d;
  color: #050505;
}

.schedule-block--peach {
  background: #ffc99f;
  color: #050505;
}

.schedule-block--navy {
  background: #2473a9;
  color: var(--white);
}

.schedule-block--navy .schedule-time {
  background: rgba(255, 255, 255, 0.32);
  color: var(--white);
}

.schedule-block--assessment {
  height: 214px;
  top: 0;
}

.schedule-block--phonics {
  height: 100px;
  top: 235px;
}

.schedule-block--literacy {
  height: 128px;
  top: 354px;
}

.schedule-block--maths {
  height: 115px;
  top: 501px;
}

.schedule-block--eal {
  height: 104px;
  top: 0;
}

.schedule-block--homework {
  height: 104px;
  top: 124px;
}

.schedule-block--readiness {
  height: 104px;
  top: 248px;
}

@media (max-width: 767px) {
  .weekly-schedule-table {
    min-width: 1120px;
  }
}

/* /////////////////////// */


/* ==========================================================================
   COMPLETE SERVICE DIRECTORY & PRICING TABLE SECTION
   ========================================================================== */

.pricing-directory-section {
  padding: 80px 0;
  background-color: var(--white);
}

.pricing-directory-header {
  text-align: center;
  margin-bottom: 48px;
}

.pricing-badge-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #f27453;
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 12px;
}

.pricing-directory-title {
  font-size: 38px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.25;
  margin-bottom: 16px;
  letter-spacing: -0.5px;
}

.pricing-directory-desc {
  color: var(--body-text);
  font-size: 15px;
  line-height: 1.6;
  max-width: 680px;
  margin: 0 auto;
}

/* Table Card Container */
.pricing-directory-table-container {
    border: 1px solid #cbd5e1;
    border-radius: 16px;
    overflow: hidden;
    background: var(--white);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}
.section-title-h2
{
  color: var(--dark-text);
}
.pricing-directory-section .section-title-h2 {
  color: var(--primary-blue);
}

.pricing-directory-section .section-title-h2 .heading-highlight-teal {
  color: var(--primary-blue);
}

.pricing-directory-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.pricing-table-head {
  background: var(--primary-blue);
}

.pricing-table-head th {
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
  padding: 18px 24px;
  text-align: left;
  border: none;
  text-transform: capitalize;
  width:50%;
}
.pricing-table-head th:last-child
{
text-align: right;
}

.pricing-table-head th:nth-child(2),
.pricing-table-head th:nth-child(3) {
  width: 25%;
}

/* Category Subheader Rows */
.pricing-cat-row td {
  background-color: var(--light-bg);
  color: var(--primary-blue);
  font-size: 16px;
  font-weight: 600;
  padding: 14px 24px;
  border-top: 1px solid #DFDFDF;
  border-bottom: 1px solid #DFDFDF;
}

.pricing-cat-title {
  color: var(--primary-blue);
  font-weight: 600;
}

/* Data Rows */
.pricing-data-row td {
  padding: 16px 24px;
  vertical-align: middle;
  border-bottom: 1px solid #DFDFDF;
  font-size: 16px;
  transition: background-color 0.2s ease;
  width:50%;
}

.pricing-data-row:hover td {
  background-color: var(--light-bg);
}

.pricing-data-row:last-child td {
  border-bottom: none;
}

/* Specific Columns Styling */
.col-program {
  color: var(--dark-text);

}

.col-program .fmt-bold {
  font-weight: 600;
  color: var(--dark-text);
}

.col-program .fmt-muted {
  font-weight: 500;
  color: var(--body-text);
}

.col-package {
  font-weight: 600;
  color: var(--primary-teal);
  font-size: 14px;
  text-align: end;
}

.col-rate {
  font-weight: 600;
  color: var(--accent-orange);
  font-size: 14px;
}

.col-dash {
  color: var(--accent-orange);
  font-weight: 600;
}

/* Responsive Tweaks */


/* ============================================================
   ACADEMIC TERM DATES TABLE
   Extends .pricing-directory-table theme
   ============================================================ */

.term-dates-table {
  min-width: 720px;
}

.term-dates-table .pricing-table-head {
  background: #236fa5;
}

.term-dates-table .pricing-table-head th {
  padding: 20px 24px;
}

.term-dates-table .pricing-table-head th:nth-child(2) {
  text-align: right;
}

.term-dates-table .term-data-row td,
.term-dates-table .term-break-row td {
  padding: 18px 24px;
  vertical-align: middle;
  border-bottom: 1px solid var(--border-color);
  font-size: 16px;
  line-height: 1.45;
}

.term-dates-table .term-data-row td {
  background-color: var(--white);
  color: var(--dark-text);
  font-weight: 500;
}

.term-dates-table .term-data-row td:first-child {
  font-weight: 600;
}

.term-dates-table .term-data-row td:last-child,
.term-dates-table .term-break-row td:last-child {
  text-align: right;
}

.term-dates-table .term-data-row:hover td {
  background-color: var(--light-bg);
}

.term-dates-table .term-break-row td {
  color: var(--dark-text);
  font-weight: 700;
  border-bottom-color: rgba(15, 23, 42, 0.05);
}

.term-dates-table .term-break-row strong {
  font-weight: 700;
}

.term-dates-table .term-break-row.term-break--green td {
  background-color: #dcf4df;
}

.term-dates-table .term-break-row.term-break--blue td {
  background-color: #dff0fb;
}

.term-dates-table .term-break-row.term-break--peach td {
  background-color: #fbe6d8;
}

.term-dates-table .term-divider-row td {
  padding: 0;
  height: 40px;
  border: none;
  background-color: #d3d3d3;
}
.term-dates-note
{
  text-align: left;
  margin-top:5px;
}
/* Focus ring for keyboard accessibility */
.pricing-directory-table tbody tr:focus-within {
  outline: 2px solid var(--primary-blue);
  outline-offset: -2px;
}

/* Gui */
.article-guide-card {
  background: var(--light-bg);
  border: 1px solid #DFDFDF;
  border-radius: 22px;
  padding: 28px 24px;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  height:100%;
}

.article-guide-card:hover {
  transform: translateY(-4px);
  border-color: rgba(47, 180, 169, 0.35);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.09);
}
.article-guide-card a 
{
  width:100%;
  background-color: var(--white);
  border: 1px solid var(--primary-blue);
  color: var(--primary-blue);
  min-height: 45px;
  border-radius: var(--radius-sm);
}
.badge-tag-teal {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  background: var(--primary-teal);
  color: var(--white);
  border-radius: 11px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 400;
  margin-bottom:20px;
}

.article-card-title {
  color: var(--dark-text);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.28;
  margin-bottom: 10px;
}

.article-meta-size {
  color: var(--body-text);
  font-size: 12px;
  font-weight: 600;
}

.article-card-desc {
  color: var(--dark-text);
  font-size: 16px;
  line-height: 1.62;
  margin-bottom: 0;
}
.article-guide-card .btn-ulc.btn-primary-ulc
{
margin-top:20px;
}

.btn-read-article:hover {
  background: var(--primary-blue);
  color: var(--white);
  transform: translateY(-2px);
}
.artical-card-content
{
  display: flex;
  justify-content: space-between;
  height: 100%;
  flex-direction: column;
}
.terms-and-conditions h4 
{
  color: var(--primary-blue) !important;
  font-size: 21px !important;
}
.terms-and-conditions h5 
{
    font-size: 16.5px;
    font-weight: 700;
    color: var(--dark-text);
    margin: 24px 0 8px !important;
}
.terms-and-conditions a 
{
  color:var(--primary-teal) !important;
}

/* Contact_US_page_css::Start */
.contact-us-blue-card h3
{
  color: var(--white) !important;
  font-size: 28px !important;
}
#contactWrapper .contact-us-blue-card {
    position: relative !important;
    overflow: hidden !important;
}

/* TOP-RIGHT CIRCLE */
#contactWrapper .contact-us-blue-card::before {
    content: "" !important;
    position: absolute !important;

    width: 280px !important;
    height: 280px !important;

    top: -90px !important;
    right: -90px !important;

    left: auto !important;
    bottom: auto !important;

    border-radius: 50% !important;

    background: rgba(255, 255, 255, 0.12) !important;

    z-index: 0 !important;
    pointer-events: none !important;
}


/* BOTTOM-LEFT CIRCLE */
#contactWrapper .contact-us-blue-card::after {
    content: "" !important;
    position: absolute !important;

    width: 320px !important;
    height: 320px !important;

    bottom: -110px !important;
    left: -70px !important;

    top: auto !important;
    right: auto !important;

    border-radius: 50% !important;

    background: rgba(255, 255, 255, 0.12) !important;

    z-index: 0 !important;
    pointer-events: none !important;
}
.contact-info-card 
{
    background: var(--white);
    border-radius: 20px;
    padding: 26px 22px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
}
.contact-info-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07);
}
.contact-info-card h5 
{
  color: var(--accent-orange) !important;
  margin-bottom:5px;
}
.contact-info-card p{
  font-size:16px;
}
.contact-info-card h6
{
  color: var(--body-text) !important;
  font-size:14px !important;
  font-weight: 500 !important;
  margin-bottom:0px !important;
  margin-top:5px !important;
}
.map-card-wrapper {
  border-radius: 20px !important;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.06);
  background: var(--white);
  height: 100%;
  min-height: 440px;
}
.map-card-wrapper iframe {
  width: 100%;
  height: 100%;
  min-height: 440px;
  border: 0;
}
.find-us-card {
  background: var(--light-bg) !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid #DFDFDF !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
  padding: 40px !important;
  height: 100%;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  text-align: left;
}
.find-us-card h3 {
  font-family: 'Plus Jakarta Sans', 'Manrope', sans-serif;
  font-size: 30px !important;
  font-weight: 700;
  color: var(--primary-blue);
  margin-bottom: 20px;
}
.find-us-text {
  font-size: 16px;
  line-height: 1.8;
  color: var(--body-text);
  margin-bottom: 0;
}
.find-us-text strong {
  color: var(--primary-teal);
}
.find-us-text--secondary {
  margin-top: 20px;
}
.btn-ulc.btn-primary-ulc.btn-ulc.btn-primary-ulc.btn-find-us {
  width: fit-content;
  margin-top: 15px;
}
/* Contact_US_page_css::End */

/* Form_css::Start */
/* Contact form grid */

.ulc-contact-form .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -7px;
    margin-right: -7px;
}

.ulc-contact-form .col-md-6,
.ulc-contact-form .col-12 
{
    position: relative;
    width: 100%;
    padding-left: 7px;
    padding-right: 7px;
    box-sizing: border-box;
}

.ulc-contact-form .col-12 {
    width: 100%;
}

@media (min-width: 768px) {

    .ulc-contact-form .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

}
.contact-form-card {
    background: var(--white) !important;
    border-radius: 28px !important;
    padding: 44px !important;
    border: 1px solid #DFDFDF !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
    height: 100%;
}
.form-label-ulc {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--dark-text) !important;
    margin-bottom: 5px !important;
    display: block !important;
}
.form-control-ulc {
    width: 100%;
    border-radius: 12px !important;
    border: 1px solid #DFDFDF !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    color: var(--dark-text) !important;
    background: var(--white) !important;
    outline: none;
    transition: border-color 0.25s, box-shadow 0.25s;
    font-family: inherit;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 40px 0 16px !important;
  line-height: 50px !important;
  color: var(--dark-text) !important;
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  width: 100% !important;
  text-align: left !important;
}
/* Form_css::End */

/* ==========================================================================
   CUSTOM INDUSTRY-STANDARD MULTI-SELECT COMPONENT
   ========================================================================== */
.custom-multi-select-wrapper {
  position: relative;
  width: 100%;
}

.custom-multi-select-wrapper select {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  top: 0;
  left: 0;
}

.cms-control {
  width: 100%;
  min-height: 50px;
  border-radius: 12px;
  border: 1px solid #cbd5e1;
  background: var(--white);
  padding: 6px 40px 6px 14px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 6px;
  position: relative;
  cursor: pointer;
  transition: border-color 0.25s, box-shadow 0.25s;
  user-select: none;
}

.cms-control:hover {
  border-color: #94a3b8;
}

.cms-wrapper.is-open .cms-control,
.cms-control:focus-within {
  border-color: #2fb4a9;
  box-shadow: 0 0 0 4px rgba(47, 180, 169, 0.15);
  outline: none;
}

/* Placeholder — anchored to far left */
.cms-placeholder {
  color: #94a3b8;
  font-size: 14px;
  font-weight: 400;
  line-height: 38px;
  text-align: left;
  margin: 0;
  padding: 0;
  pointer-events: none;
  width: 100%;
}

/* Selected Tags Container */
.cms-tags-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  width: 100%;
}

/* Individual Tag Chip */
.cms-tag {
  background: linear-gradient(135deg, #f0fdfa 0%, #e5f6f5 100%);
  border: 1px solid #99d6d1;
  border-radius: 8px;
  padding: 5px 10px 5px 12px;
  margin: 2px 0;
  color: #0d4f4b;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 1;
  animation: cmsTagFadeIn 0.15s ease-out;
}

@keyframes cmsTagFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.cms-tag-text {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.cms-tag-remove {
  color: #0d4f4b;
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.75;
  transition: color 0.15s, opacity 0.15s;
}

.cms-tag-remove i {
  font-size: 14px;
  line-height: 1;
  display: block;
}

.cms-tag-remove:hover {
  color: #e11d48;
  opacity: 1;
}

/* Arrow indicator on far right */
.cms-arrow {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  color: var(--body-text);
  font-size: 18px;
  pointer-events: none;
  transition: transform 0.25s ease;
  line-height: 1;
}

.cms-wrapper.is-open .cms-arrow {
  transform: translateY(-50%) rotate(180deg);
}

/* Dropdown Menu Panel */
.cms-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 1050;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  padding: 6px;
  display: none;
  max-height: 240px;
  overflow-y: auto;
  animation: cmsDropdownFade 0.2s ease-out;
}

@keyframes cmsDropdownFade {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cms-wrapper.is-open .cms-dropdown {
  display: block;
}

.cms-option {
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
  color: var(--dark-text);
  font-weight: 400;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.15s, color 0.15s;
  user-select: none;
}

.cms-option:hover {
  background: #f1f5f9;
  color: #05a3a4;
}

.cms-option.is-selected {
  background: #f0fdfa;
  color: #05a3a4;
  font-weight: 600;
}

.cms-option-check {
  font-size: 18px;
  color: #05a3a4;
  opacity: 0;
  transition: opacity 0.15s;
}

.cms-option.is-selected .cms-option-check {
  opacity: 1;
}

/* ==========================================================================
   SELECT2 OVERRIDES (Single Selects)
   ========================================================================== */

.select2-container {
  width: 100% !important;
}

.select2-container--default .select2-selection--single {
  width: 100%;
  border-radius: 12px !important;
  border: 1px solid #cbd5e1 !important;
  background: var(--white) !important;
  font-size: 14px !important;
  font-family: inherit !important;
  color: var(--dark-text) !important;
  min-height: 50px !important;
  position: relative !important;
  transition: border-color 0.25s, box-shadow 0.25s !important;
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
}

.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #2fb4a9 !important;
  box-shadow: 0 0 0 4px rgba(47, 180, 169, 0.15) !important;
  outline: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 40px 0 16px !important;
  line-height: 50px !important;
  color: var(--dark-text) !important;
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  width: 100% !important;
  text-align: left !important;
}
.select2-selection__rendered
{
  margin:0px 5px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  display: none !important;
}

.select2-container--default .select2-selection--single::after 
{
    content: "\f078";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 14px;
    color: var(--body-text);
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    pointer-events: none;
    transition: transform 0.25s ease;
    line-height: 1;
}
.select2-container--default .select2-selection--multiple::after {
content: "\f078";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 14px;
    color: var(--body-text);
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    pointer-events: none;
    transition: transform 0.25s ease;
    line-height: 1;
}

.select2-container--default.select2-container--open .select2-selection--single::after {
  transform: translateY(-50%) rotate(180deg);
}

/* --- Clear all button --- */
.select2-container--default .select2-selection--multiple .select2-selection__clear {
  display: none !important;
}

/* ==========================================================================
   DROPDOWN PANEL — Floating card
   ========================================================================== */

.select2-dropdown {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
  font-size: 14px !important;
  margin-top: 8px !important;
  overflow: hidden !important;
  z-index: 1060 !important;
  animation: select2FadeIn 0.2s ease both;
}

@keyframes select2FadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.select2-dropdown--below {
  margin-top: 8px !important;
}

.select2-dropdown--above {
  margin-top: -8px !important;
}

/* --- Search box inside dropdown --- */
.select2-search--dropdown {
  padding: 8px 10px !important;
  background: #fff !important;
}

.select2-search--dropdown .select2-search__field {
  border-radius: 8px !important;
  border: 1px solid #cbd5e1 !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  font-family: inherit !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

.select2-search--dropdown .select2-search__field:focus {
  border-color: #2fb4a9 !important;
  box-shadow: 0 0 0 3px rgba(47, 180, 169, 0.12) !important;
}

/* --- Option list padding --- */
.select2-results__options {
  padding: 6px !important;
}

/* --- Individual options --- */
.select2-container--default .select2-results__option {
  padding: 12px 16px !important;
  border-radius: 8px !important;
  margin: 2px 0 !important;
  font-size: 14px !important;
  transition: background 0.15s, color 0.15s !important;
  cursor: pointer !important;
  user-select: none !important;
}

/* --- Hover state --- */
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #e5f6f5 !important;
  color: var(--dark-text) !important;
}

/* --- Selected state --- */
.select2-container--default .select2-results__option--selected {
  background-color: #d2f0ed !important;
  color: #0d4f4b !important;
  font-weight: 600 !important;
}

.select2-container--default .select2-results__option--selected::after {
  content: '\F012C';
  font-family: 'Material Design Icons';
  font-size: 16px;
  float: right;
  color: #0d9488;
}

/* --- Disabled options --- */
.select2-container--default .select2-results__option--disabled {
  color: #cbd5e1 !important;
  cursor: not-allowed !important;
}

/* --- Focus / keyboard navigation --- */
.select2-container--default .select2-results__option--highlighted:focus,
.select2-container--default .select2-results__option[aria-selected="true"]:focus {
  outline: 2px solid #2fb4a9;
  outline-offset: -2px;
}

/* --- No results message --- */
.select2-container--default .select2-results__message {
  padding: 14px 16px !important;
  color: #94a3b8 !important;
  font-size: 13px !important;
}

/* --- Prevent dropdown from overlapping submit button --- */
.select2-container--open {
  z-index: 1100 !important;
}

.select2-container--open+.select2-container--open {
  z-index: 1101 !important;
}

/* --- Ensure dropdown is contained within viewport on mobile --- */
.select2-container--default.select2-container--open .select2-dropdown--below,
.select2-container--default.select2-container--open .select2-dropdown--above {
  max-height: 60vh;
  overflow-y: auto;
}

/* --- Responsive: full-width dropdown on small screens --- */
@media (max-width: 575.98px) {
  .select2-dropdown {
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }

  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    font-size: 12px !important;
    padding: 2px 0 2px 8px !important;
  }
}

/* ========== INLINE FIELD VALIDATION ERRORS ========== */

.field-error {
  color: #DC2626;
  font-size: 13px;
  font-weight: 500;
  margin-top: 5px;
  line-height: 1.4;
}

input.input-error,
select.input-error,
textarea.input-error {
  border-color: #DC2626 !important;
}

/* Live clear: hide error when user types a valid value */
input.input-error:valid:not(:placeholder-shown)+.field-error,
input.input-error:focus:not(:placeholder-shown)+.field-error {
  display: none;
}

.js-field-error-hidden {
  display: none;
}

/* ==========================================================================
   CUSTOM INDUSTRY-STANDARD MULTI-SELECT COMPONENT
   ========================================================================== */
.custom-multi-select-wrapper {
  position: relative;
  width: 100%;
}

.custom-multi-select-wrapper select {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  top: 0;
  left: 0;
}

.cms-control {
  width: 100%;
  min-height: 50px;
  border-radius: 12px;
  border: 1px solid #cbd5e1;
  background: var(--white);
  padding: 6px 40px 6px 14px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 6px;
  position: relative;
  cursor: pointer;
  transition: border-color 0.25s, box-shadow 0.25s;
  user-select: none;
}

.cms-control:hover {
  border-color: #94a3b8;
}

.cms-wrapper.is-open .cms-control,
.cms-control:focus-within {
  border-color: #2fb4a9;
  box-shadow: 0 0 0 4px rgba(47, 180, 169, 0.15);
  outline: none;
}

/* Placeholder — anchored to far left */
.cms-placeholder {
  color: #94a3b8;
  font-size: 14px;
  font-weight: 400;
  line-height: 38px;
  text-align: left;
  margin: 0;
  padding: 0;
  pointer-events: none;
  width: 100%;
}

/* Selected Tags Container */
.cms-tags-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  width: 100%;
}

/* Individual Tag Chip */
.cms-tag {
  background: linear-gradient(135deg, #f0fdfa 0%, #e5f6f5 100%);
  border: 1px solid #99d6d1;
  border-radius: 8px;
  padding: 5px 10px 5px 12px;
  margin: 2px 0;
  color: #0d4f4b;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 1;
  animation: cmsTagFadeIn 0.15s ease-out;
}

@keyframes cmsTagFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.cms-tag-text {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.cms-tag-remove {
  color: #0d4f4b;
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.75;
  transition: color 0.15s, opacity 0.15s;
}

.cms-tag-remove i {
  font-size: 14px;
  line-height: 1;
  display: block;
}

.cms-tag-remove:hover {
  color: #e11d48;
  opacity: 1;
}

/* Arrow indicator on far right */
.cms-arrow {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  color: var(--body-text);
  font-size: 18px;
  pointer-events: none;
  transition: transform 0.25s ease;
  line-height: 1;
}

.cms-wrapper.is-open .cms-arrow {
  transform: translateY(-50%) rotate(180deg);
}

/* Dropdown Menu Panel */
.cms-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 1050;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  padding: 6px;
  display: none;
  max-height: 240px;
  overflow-y: auto;
  animation: cmsDropdownFade 0.2s ease-out;
}

@keyframes cmsDropdownFade {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cms-wrapper.is-open .cms-dropdown {
  display: block;
}

.cms-option {
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
  color: var(--dark-text);
  font-weight: 400;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.15s, color 0.15s;
  user-select: none;
}

.cms-option:hover {
  background: #f1f5f9;
  color: #05a3a4;
}

.cms-option.is-selected {
  background: #f0fdfa;
  color: #05a3a4;
  font-weight: 600;
}

.cms-option-check {
  font-size: 18px;
  color: #05a3a4;
  opacity: 0;
  transition: opacity 0.15s;
}

.cms-option.is-selected .cms-option-check {
  opacity: 1;
}

.select2-container--default .select2-selection--multiple
{
   width: 100% !important;
    border-radius: 12px !important;
    border: 1px solid #DFDFDF !important;
}
.select2-selection
{
  width: 100%;
  border-radius: 12px !important;
  border: 1px solid #DFDFDF !important;
  background: var(--white) !important;
  font-size: 14px !important;
  font-family: var(--font) !important;
  color: var(--dark-text) !important;
  min-height: 48px !important;
  position: relative !important;
  transition: border-color 0.25s, box-shadow 0.25s !important;
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
}
.select2-search__field
{
  box-sizing: border-box;
    border: none;
    font-size: 100%;
    margin-top: 5px;
    margin-left: 5px;
    padding: 0;
    max-width: 100%;
    resize: none;
    min-height: 21px;
    vertical-align: bottom;
    font-family: sans-serif;
    overflow: hidden;
    word-break: keep-all;
    font-size:12px;
    font-family: var(--font) !important;
    color: #999 !important;
}
/* Select2 Tag Chip & Close Icon Vertical Center Alignment */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: rgba(47, 180, 169, 0.15) !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 0px 10px 0px 8px !important;
  margin: 3px 6px 3px 0 !important;
  color: #0d4f4b !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  height: 30px !important;
  box-sizing: border-box !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #0d4f4b !important;
  margin: 0 6px 0 0 !important;
  padding: 0 6px 0 0 !important;
  border: none !important;
  border-right: 1px solid rgba(13, 79, 75, 0.25) !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  height: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  opacity: 0.75 !important;
  transition: color 0.15s ease, opacity 0.15s ease !important;
  float: none !important;
  position: relative !important;
  transform: translateY(-1.5px) !important;
  vertical-align: middle !important;
  border-radius: 0px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #e11d48 !important;
  opacity: 1 !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 0px !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: middle !important;
  font-size: 12px;
}
.wpcf7-textarea
{
  min-height: 120px !important;
}
.wpcf7-not-valid-tip {
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #dc3545 !important;
  margin-top: 5px !important;
  line-height: 1.3 !important;
}

.wpcf7-not-valid,
input.wpcf7-not-valid,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid,
.select2-container.wpcf7-not-valid .select2-selection {
  border: 1px solid #dc3545 !important;
}

.wpcf7-response-output {
  margin: 20px 0 0 0 !important;
  padding: 16px 20px !important;
  border-radius: var(--radius-sm, 12px) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.wpcf7-response-output.wpcf7-mail-sent-ok {
  background-color: rgba(47, 180, 169, 0.08) !important;
  border: 1px solid var(--primary-teal, #2FB4A9) !important;
  color: var(--dark-text, #171D1C) !important;
}

.wpcf7-response-output.wpcf7-validation-errors,
.wpcf7-response-output.wpcf7-spam-blocked {
  background-color: rgba(220, 53, 69, 0.08) !important;
  border: 1px solid #dc3545 !important;
  color: #dc3545 !important;
}

/* ---------- Header / Nav ---------- */
#site-header {
  position: sticky !important;
  top: 0;
  z-index:9999 !important;
  padding: 16px 0;
  background: var(--white);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
  transition: padding var(--transition), box-shadow var(--transition);
  border-bottom:0px !important;
  width:100%;
}

#site-header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  width: 100% !important;
}

/* 1. Logo at Header Start (Left) */
#site-logo,
#site-logo-inner,
.site-logo-inner,
#site-header .custom-header-logo {
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2;
}

#site-header .brand-logo-img,
#site-header img {
  height: 80px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* 2. Nav Links at Center (Horizontally & Vertically Centered) */
@media (min-width: 992px) {
  #site-navigation-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1;
    height: auto !important;
  }
}

#site-header .menu-main_menu-container,
#site-header .menu-main_menu-container .menu-main_menu {
  display: flex !important;
  align-items: center !important;
  gap: 4px;
  background: #f6f8fc;
  border: 1px solid #e3e8f0;
  border-radius: var(--radius-sm, 12px);
  padding: 5px 6px;
  margin: 0 !important;
}

#site-header .menu {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

#site-header .menu li {
  display: inline-flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
}

/* 3. Book A Session Button at Header End (Right) */
.after-header-content,
.after-header-content-inner,
.navbar-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  float: none !important;
  z-index: 2;
}

.after-header-content-inner > div > a,
.after-header-content a,
.navbar-actions a,
.btn-primary-ulc {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  height: 48px !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.site-header.is-scrolled {
  padding: 12px 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.navbar-ulc {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  border: none;
}

.navbar-brand-ulc {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
#site-header  .menu-main_menu-container  .menu-main_menu{
  display: flex !important;
  align-items: center !important;
  gap: 4px;
  background: #f6f8fc;
  border: 1px solid #e3e8f0;
  border-radius: var(--radius-sm);
  padding: 5px 6px;
}

#site-header  .menu-main_menu-containerc li 
{
  display: flex;
  align-items: center;
  list-style: none !important;
}
#site-header .current-menu-item.page_item
{
  background-color: var(--accent-orange) !important;
}
#site-header  .current-menu-item.page_item a 
{
  color: var(--white) !important;
}

#site-header .menu-item
{
  font-size: 16px;
  font-weight: 600 !important;
  color: var(--dark-text);
  padding: 12px 22px;
  border-radius: var(--radius-sm);
  transition: all 0.25s ease;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
}
#site-header .menu-item a, 
#site-header .menu-item a span
{
 font-weight: 600 !important;  
}

#site-header  .menu-item:hover {
  color: var(--primary-blue);
  background: rgba(29, 105, 161, 0.06);
}

#site-header.menu-item.active 
{
  background: var(--accent-orange);
  color: var(--white);
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(242, 116, 83, 0.25);
}

.navbar-actions .btn-primary-ulc:hover {
  background: #165684;
  color: var(--white);
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(29, 105, 161, 0.25);
}

.navbar-toggler-ulc {
  width: 44px;
  height: 44px;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: var(--white);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 24px;
  color: var(--dark-text);
}

.navbar-toggler-ulc .menu-icon {
  display: block;
}

.menu-main_menu
{
  display: flex;
  align-items: center;
}
.mobile-menu,
a.mobile-menu,
button.mobile-menu
{
  width:44px;
  height:44px;
  display:inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  margin-top: auto !important;
  margin-bottom: auto !important;
  float: right !important;
  vertical-align: middle !important;
  padding:0 !important;
  background-color: var(--white) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}
.mobile-menu i 
{
  color: var(--dark-text) !important;
}

.navbar-actions a 
{
  height:50px;
  display: flex !important;
  align-items:center !important;
  justify-content: center !important;

}
 .after-header-content-inner>div>a
 {
  line-height: 20px !important;
 }
 #site-navigation-wrap
 {
  display: flex !important; 
    align-items: center !important;
    height: 100% !important;
  }
#site-header img
  {
    width:80px !important;
  }
  #site-navigation-wrap .dropdown-menu>li>a 
  {
    line-height: normal !important;
    padding:0px !important;
  }

  .director-message h2 
  {
    color: var(--white) !important;
  }

.btn-submit-contact
{

  line-height:0px !important;
  height:50px;
}

/* =========================================================
   ULC CONTACT FORM
   BOOTSTRAP-STYLE RESPONSIVE GRID
   HTML / CF7 CODE REMAINS UNCHANGED
========================================================= */


/* =========================================================
   ROW
   Bootstrap-style .row
========================================================= */

.wpcf7 form .row.g-3 {
    --ulc-gutter-x: 1rem;
    --ulc-gutter-y: 1rem;

    display: flex !important;
    flex-wrap: wrap !important;

    width: auto !important;

    margin-top: calc(var(--ulc-gutter-y) * -0.5) !important;
    margin-right: calc(var(--ulc-gutter-x) * -0.5) !important;
    margin-left: calc(var(--ulc-gutter-x) * -0.5) !important;

    box-sizing: border-box !important;
}


/* =========================================================
   ALL COLUMNS
========================================================= */

.wpcf7 form .row.g-3 > .col-md-6,
.wpcf7 form .row.g-3 > .col-12 {

    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    padding-right: calc(var(--ulc-gutter-x) * 1) !important;
    padding-left: calc(var(--ulc-gutter-x) * 1) !important;

    margin-top: calc(var(--ulc-gutter-y) * 0.5) !important;

    margin-bottom:10px !important;

    box-sizing: border-box !important;

    min-width: 0 !important;
}


/* =========================================================
   col-md-6
   50% width from md and above
========================================================= */

.wpcf7 form .row.g-3 > .col-md-6 {
    flex: 0 0 auto !important;
    width: 50% !important;
}


/* =========================================================
   col-12
   Full width
========================================================= */

.wpcf7 form .row.g-3 > .col-12 {
    flex: 0 0 auto !important;
    width: 100% !important;
}


/* =========================================================
   FORM LABEL
========================================================= */

.wpcf7 form .row.g-3 .form-label-ulc {

    display: block !important;

    width: 100% !important;

    margin-top: 0 !important;
    margin-bottom: 8px !important;

    padding: 0 !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    line-height: 1.35 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   CF7 FIELD WRAPPER
========================================================= */

.wpcf7 form .row.g-3 .wpcf7-form-control-wrap {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   INPUTS
========================================================= */

.wpcf7 form .row.g-3 input.form-control-ulc,
.wpcf7 form .row.g-3 select.form-control-ulc,
.wpcf7 form .row.g-3 textarea.form-control-ulc {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   INPUT HEIGHT
========================================================= */

.wpcf7 form .row.g-3 input.form-control-ulc,
.wpcf7 form .row.g-3 select.form-control-ulc {

    height: 50px !important;
}


/* =========================================================
   TEXTAREA
========================================================= */

.wpcf7 form .row.g-3 textarea.form-control-ulc {

    min-height: 120px !important;

    resize: vertical !important;
}


/* =========================================================
   PROGRAMME WRAPPER
========================================================= */

.wpcf7 form .row.g-3 .custom-multi-select-wrapper {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   SELECT2
========================================================= */

.wpcf7 form .row.g-3 .select2-container {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    margin: 0 !important;

    box-sizing: border-box !important;
    border-radius:12px !important;
    border: 0px !important;
}


.wpcf7 form .row.g-3 .select2-container .select2-selection {

    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}


/* =========================================================
   REMOVE UNWANTED CF7 PARAGRAPH SPACING
========================================================= */

.wpcf7 form .row.g-3 p {

    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* =========================================================
   SUBMIT
========================================================= */

.wpcf7 form .row.g-3 > .col-12.mt-4 {

    width: 100% !important;

    margin-top: calc(var(--ulc-gutter-y) * 0.5) !important;
}


/* =========================================================
   TABLET
   Bootstrap md breakpoint
========================================================= */

@media (min-width: 768px) {

    .wpcf7 form .row.g-3 > .col-md-6 {
        width: 50% !important;
    }

}


/* =========================================================
   MOBILE
   Below Bootstrap md breakpoint
========================================================= */

@media (max-width: 767.98px) {

    .wpcf7 form .row.g-3 {

        --ulc-gutter-x: 0;
        --ulc-gutter-y: 1rem;

        margin-left: 0 !important;
        margin-right: 0 !important;
    }


    .wpcf7 form .row.g-3 > .col-md-6,
    .wpcf7 form .row.g-3 > .col-12 {

        width: 100% !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }

}

.btn-submit-contact
{
  margin-top:30px !important; 
}

/* =========================================================
 * ULC CUSTOM MOBILE MENU REDESIGN
 * Matches exact UI design with active pill, clean spacing,
 * no dividers, close button, and Book A Session CTA button.
 * ========================================================= */

/* Drawer Container */
#sidr,
.sidr-right,
#mobile-dropdown {
    background: #ffffff !important;
    padding: 24px 20px 30px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    box-shadow: -8px 0 30px rgba(0, 0, 0, 0.12) !important;
    box-sizing: border-box !important;
}

#sidr > .sidr-inner:first-child {
    display: flex !important;
    justify-content: flex-end !important;
    padding: 0 0 20px 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Close Button 'X' (top right) */
.sidr-class-toggle-sidr-close,
#mobile-dropdown .close-button,
#sidr .sidr-class-close-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid #DFDFDF !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #171D1C !important;
    font-size: 20px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.sidr-class-toggle-sidr-close:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

.sidr-class-toggle-sidr-close .sidr-class-close-text {
    display: none !important;
}

.sidr-class-toggle-sidr-close i,
.sidr-class-toggle-sidr-close svg {
    color: #171D1C !important;
    padding: 0 !important;
    font-size: 18px !important;
}

/* Remove default inner container padding & borders */
#sidr .sidr-inner,
#mobile-dropdown .inner {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Menu List Container */
#sidr ul,
#sidr .sidr-class-nav,
#mobile-dropdown ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 10px 0 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    border: none !important;
}

/* Remove all horizontal divider lines between menu items */
#sidr ul li,
#sidr .sidr-class-nav li,
#mobile-dropdown ul li,
#sidr-nav li {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Normal Menu Links */
#sidr ul li a,
#sidr .sidr-class-nav li a,
#mobile-dropdown ul li a,
#sidr-nav li a {
    display: block !important;
    padding: 13px 18px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #171D1C !important;
    text-decoration: none !important;
    border-radius: 12px !important;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    background: transparent !important;
    transition: all 0.2s ease !important;
}

#sidr ul li a:hover,
#sidr .sidr-class-nav li a:hover,
#mobile-dropdown ul li a:hover {
    background-color: #f8fafc !important;
    color: #1D69A1 !important;
}

/* ACTIVE MENU ITEM (Coral / Orange Pill like Image 2) */
#sidr ul li.current-menu-item > a,
#sidr ul li.current_page_item > a,
#sidr .sidr-class-current-menu-item > a,
#sidr .sidr-class-active > a,
#sidr-nav li.current-menu-item > a,
#mobile-dropdown ul li.current-menu-item > a,
#mobile-dropdown ul li.current_page_item > a {
    background-color: #f4825b !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(244, 130, 91, 0.28) !important;
}

#sidr ul li.current-menu-item > a:hover,
#sidr ul li.current_page_item > a:hover,
#sidr .sidr-class-current-menu-item > a:hover,
#sidr .sidr-class-active > a:hover {
    background-color: #e06c45 !important;
    color: #ffffff !important;
}

/* Bottom "Book A Session →" Button */
.ulc-mobile-book-session-wrap {
    margin-top: auto !important;
    padding-top: 30px !important;
    width: 100% !important;
}

.ulc-mobile-book-session-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    height: 52px !important;
    background-color: #1D69A1 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(29, 105, 161, 0.25) !important;
    transition: all 0.25s ease !important;
    box-sizing: border-box !important;
    border: none !important;
}

.ulc-mobile-book-session-btn:hover,
.ulc-mobile-book-session-btn:focus {
    background-color: #16527e !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(29, 105, 161, 0.35) !important;
    text-decoration: none !important;
}

.ulc-mobile-book-session-btn svg {
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
    stroke-width: 2.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transition: transform 0.2s ease !important;
}

.ulc-mobile-book-session-btn:hover svg {
    transform: translateX(4px) !important;
}

/* =========================================================
   ULC CONTACT FORM - BUTTON LOADER & ERROR BANNER SUPPRESSION
========================================================= */
.btn-submit-contact {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 50px !important;
    line-height: 1.2 !important;
    padding: 0 28px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 8px !important;
    background-color: #1D69A1 !important;
    color: #ffffff !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.btn-submit-contact:hover {
    background-color: #16527e !important;
}

.btn-submit-contact:disabled,
.btn-submit-contact.submitting {
    opacity: 0.8 !important;
    cursor: not-allowed !important;
}

.btn-submit-contact .btn-text {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Suppress any pseudo-element icons or missing font glyphs on submit button */
.btn-submit-contact::after,
.btn-submit-contact::before,
.btn-submit-contact .btn-text::after,
.btn-submit-contact .btn-text::before,
.btn-submit-contact i,
.btn-submit-contact .mdi {
    display: none !important;
    content: none !important;
}

.btn-submit-contact .btn-spinner {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-submit-contact .btn-spinner svg {
    animation: ulc-spin 0.8s linear infinite !important;
}

@keyframes ulc-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Hide global Contact Form 7 validation error message banner completely */
.wpcf7-response-output.wpcf7-validation-errors,
.wpcf7-response-output.wpcf7-unit-tag-invalid,
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output {
    display: none !important;
}

.wpcf7-form.sent .wpcf7-response-output.wpcf7-mail-sent-ok {
    display: block !important;
}


/* =========================================================
   ULC CONTACT FORM
   ========================================================= */


/* ---------------------------------------------------------
   FORM CONTAINER
   --------------------------------------------------------- */

.ulc-contact-form {
    width: 100%;
    margin: 0;
    padding: 0;
}


/* ---------------------------------------------------------
   BOOTSTRAP GRID
   --------------------------------------------------------- */

.ulc-contact-form .row {
    --bs-gutter-x: 16px;
    --bs-gutter-y: 16px;

    margin-top: 0;
    margin-right: calc(var(--bs-gutter-x) * -0.5);
    margin-left: calc(var(--bs-gutter-x) * -0.5);
}


/* ---------------------------------------------------------
   FORM FIELD
   --------------------------------------------------------- */

.ulc-form-field {
    margin-top: 0;
}


/* ---------------------------------------------------------
   LABEL
   --------------------------------------------------------- */

.ulc-contact-form .form-label-ulc {
    display: block;

    margin: 0 0 8px 0;
    padding: 0;

    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;

    color: #111111;

    text-align: left;
}


/* ---------------------------------------------------------
   REQUIRED STAR
   --------------------------------------------------------- */

.ulc-contact-form .required {
    color: #dc3545;
}


/* ---------------------------------------------------------
   CONTACT FORM 7 FIELD WRAPPER
   --------------------------------------------------------- */

.ulc-contact-form .wpcf7-form-control-wrap {
    display: block;

    width: 100%;

    margin: 0;
    padding: 0;
}


/* ---------------------------------------------------------
   ALL INPUTS / SELECT / TEXTAREA
   --------------------------------------------------------- */

.ulc-contact-form .form-control-ulc {
    display: block;

    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0 16px;

    box-sizing: border-box;

    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;

    color: #333333;

    background-color: #ffffff;

    border: 1px solid #d9d9d9;
    border-radius: 12px;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


/* ---------------------------------------------------------
   TEXT INPUTS
   --------------------------------------------------------- */

.ulc-contact-form input.form-control-ulc {
    height: 49px;
}


/* ---------------------------------------------------------
   DATE INPUT
   --------------------------------------------------------- */

.ulc-contact-form input[type="date"].form-control-ulc {
    height: 49px;

    padding-right: 14px;
}


/* ---------------------------------------------------------
   SELECT
   --------------------------------------------------------- */

.ulc-contact-form select.form-control-ulc {
    height: 49px;

    padding-right: 40px;

    cursor: pointer;

    appearance: auto;
}


/* ---------------------------------------------------------
   TEXTAREA
   --------------------------------------------------------- */

.ulc-contact-form textarea.form-control-ulc {
    min-height: 120px;

    height: 120px;

    padding: 14px 16px;

    line-height: 1.5;

    resize: vertical;
}


/* ---------------------------------------------------------
   PLACEHOLDER
   --------------------------------------------------------- */

.ulc-contact-form .form-control-ulc::placeholder {
    color: #999999;

    opacity: 1;
}


/* ---------------------------------------------------------
   FOCUS
   --------------------------------------------------------- */

.ulc-contact-form .form-control-ulc:focus {
    border-color: #b8cce5;

    outline: none;

    box-shadow: 0 0 0 1px rgba(74, 137, 196, 0.08);
}


/* ---------------------------------------------------------
   SELECT2
   --------------------------------------------------------- */

.ulc-contact-form .select2-container {
    width: 100% !important;

    display: block;

    margin: 0;
}


/* Select2 selection */

.ulc-contact-form .select2-container .select2-selection--single {
    width: 100%;
    height: 49px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    background-color: #ffffff;
    border: 1px solid #d9d9d9;
    border-radius: 12px;
}


/* Select2 text */

.ulc-contact-form
.select2-container
.select2-selection--single
.select2-selection__rendered {
    padding: 0;

    color: #999999;

    font-size: 15px;

    line-height: 49px;
}


/* Select2 arrow */

.ulc-contact-form
.select2-container
.select2-selection--single
.select2-selection__arrow {
    height: 49px;

    right: 12px;

    top: 0;
}


/* Select2 focus */

.ulc-contact-form
.select2-container--open
.select2-selection--single,

.ulc-contact-form
.select2-container--focus
.select2-selection--single {
    border-color: #b8cce5;

    outline: none;
}


/* ---------------------------------------------------------
   PROGRAMME MULTI SELECT
   --------------------------------------------------------- */

.ulc-contact-form
.custom-multi-select-wrapper {
    width: 100%;

    margin: 0;
    padding: 0;
}


/* ---------------------------------------------------------
   CF7 VALIDATION
   --------------------------------------------------------- */

.ulc-contact-form
.wpcf7-not-valid {
    border-color: #dc3545 !important;
}


/* Validation message */

.ulc-contact-form
.wpcf7-not-valid-tip {
    display: block;

    margin-top: 5px;

    font-size: 13px;
    line-height: 1.4;

    color: #dc3545;
}


/* ---------------------------------------------------------
   SUBMIT AREA
   --------------------------------------------------------- */

.ulc-submit-wrapper {
    margin-top: 16px;
}


/* ---------------------------------------------------------
   SUBMIT BUTTON
   --------------------------------------------------------- */

.ulc-contact-form .btn-submit-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    min-height: 50px;
    margin: 0;
    padding: 12px 24px;
    border: 0;
    border-radius: 12px !important;
    background-color: #1f2f35;
    color: #ffffff;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    cursor: pointer;
    transition:background-color 0.2s ease, transform 0.2s ease;
}


/* Button hover */

.ulc-contact-form .btn-submit-contact:hover {
    background-color: #162328;

    color: #ffffff;
}


/* Button active */

.ulc-contact-form .btn-submit-contact:active {
    transform: translateY(1px);
}


/* ---------------------------------------------------------
   BUTTON TEXT
   --------------------------------------------------------- */

.ulc-contact-form .btn-text {
    display: inline-flex;

    align-items: center;
    justify-content: center;
}


/* ---------------------------------------------------------
   BUTTON SPINNER
   --------------------------------------------------------- */

.ulc-contact-form .btn-spinner {
    display: inline-flex;

    align-items: center;
    justify-content: center;
}


/* ---------------------------------------------------------
   CF7 RESPONSE
   --------------------------------------------------------- */

.ulc-contact-form .wpcf7-response-output {
    margin: 20px 0 0;

    padding: 12px 16px;

    border-radius: 8px;

    font-size: 14px;
    line-height: 1.5;
}


/* ---------------------------------------------------------
   REMOVE DEFAULT CF7 SPACING
   --------------------------------------------------------- */

.ulc-contact-form p {
    margin: 0;
    padding: 0;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .ulc-contact-form .row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 16px;
    }


    .ulc-contact-form .form-label-ulc {
        font-size: 15px;

        margin-bottom: 8px;
    }


    .ulc-contact-form input.form-control-ulc {
        height: 48px;
    }


    .ulc-contact-form
    select.form-control-ulc {
        height: 48px;
    }


    .ulc-contact-form
    textarea.form-control-ulc {
        min-height: 120px;

        height: 120px;
    }


    .ulc-contact-form
    .btn-submit-contact {
        width: 100%;
    }

}
    .ulc-contact-form .col-md-6 p ,
    .ulc-contact-form .col-12 p
{
  display: ruby !important;
}

.e-con-inner {
    width: 100%;
    max-width: 90% ;
    margin-left: auto;
    margin-right: auto;
}


/* Pricing_talbe_css::Start */
.custom_pricing_table
{
  border-radius:16px !important;
}
.custom_pricing_table .footable-header th
{
background-color: var(--primary-blue) !important;
color: var(--white) !important;
}
.custom_pricing_table .footable-header th:first-child
{
  border-radius:16px 0px 0px 0px !important;
}
.custom_pricing_table .footable-header th:last-child
{
  border-radius:0px 16px 0px 0px !important;
}
/* Pricing_talbe_css::End */


/* Custom_header_css::Start */
.mobile-custom-nav .oceanwp-mobile-menu-icon .mobile-menu
{
background-color: var(--white) !important;
}
/* Custom_header_css::End */


.weekly_calendar_wrapper
{
  display:none !important;
}
.footer-text-logo
{
  display: block !important;
}

.our-story h5 
{
  color: var(--accent-orange) !important;
  font-size:16px;
}
p 
{
  font-size: 16px;
}

.director-message .elementor-icon-wrapper
{
  background: var(--accent-orange) !important;
}
.director-message .elementor-icon-wrapper svg
{
  fill: var(--accent-orange) !important;
}
.service_card .article-guide-card a 
{
  margin-top: 20px !important;
  width: 100% !important;
}
.site-footer-card .e-con-inner
{
  max-width: 100% !important;
}
.terms-and-conditions p ,
.terms-and-conditions li
{
  color: var(--body-text) !important ;
}
.terms-and-conditions .e-divider-base
{
  border-bottom: 2px solid rgba(29, 106, 161, 0.048) !important;
}