h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
        font-family: "Domine", serif;
}


.logo-container img {
     max-width: 200px;
}

header .icon, header i {
    color: #fff !important;
}

.is-wrapper .is-header, .is-header {
    background-color: #264d67;
}

nav ul {
    justify-content: space-evenly !important;
}

header .main-navigation, footer .main-navigation {
        background-color: #282727;
}

footer .main-navigation nav {
padding-top: 10px;
    padding-bottom: 10px;    
}

.is-header .dropdown.menu > li > a {
    padding: 1rem 19px;
}

.menu a, .cta-link {
    font-family: "Domine", serif;
    font-size: 14px;    
}

.cta-link {
        font-weight: 400;
}

header .cta-link {
    font-size: 16px;   
}

.banner-main-heading, .section-main-heading {
    font-family: "Domine", serif;
    font-weight: 600;
    font-size: 30px;
    line-height: 40px;
}

.banner-sub-heading, .section-sub-heading {
    font-family: "Inter", sans-serif;
    font-size: 24px;
    font-weight: 600;
}

.section-sub-heading {
    color: #000000;
}
p, ul li {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 24px;
}

a.button, span.button, input.button, input#Submit, .gen-form #Submit, #newsletter-form #Submit, .button {
    font-family: "Inter", sans-serif;
    font-size: 14px !important;
    color: #000000;
}

button:not(.button-group button), .button:not(.button-group button) {
    border-radius: 0px;
}

a.button {
    position: relative;
}

a.button::after {
  content: "";
  display: inline-block;
  width: 48px; /* size of the arrow */
  height: 48px;
  background-image: url('//d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/btn-arw.png'); /* your arrow image path */
  background-size: cover;
  background-repeat: no-repeat;
    margin-left: 8px;
    vertical-align: middle;
    position: absolute;
    right: -53px;
    top: 3px;
    
    animation: dingdong 1s infinite ease-in-out;
    transform-origin: center; 
}

/* Keyframes for ding-dong swing */
@keyframes dingdong {
    0%   { transform: rotate(0deg); }
    15%  { transform: rotate(8deg); }
    30%  { transform: rotate(-6deg); }
    45%  { transform: rotate(4deg); }
    60%  { transform: rotate(-2deg); }
    75%  { transform: rotate(1deg); }
    100% { transform: rotate(0deg); }
}

.lab-approach .container > .grid-x:first-child .cell:first-child{
  position: relative; /* allows ::after to position relative to this */
  display: inline-block;
}

.lab-approach .container > .grid-x:first-child .cell:first-child::after {
  content: "";
  position: absolute;
    bottom: -14px;
    right: 20px;
  width: 222px;
  height: 221px;
  background-image: url('//d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/our-approach.webp'); /* your icon path */
  background-size: cover;
  background-repeat: no-repeat;
  
    /* Continuous animation */
    animation: smoothSwing 1.5s linear infinite;
}

/* Keyframes for smooth, glitch-free swing */
@keyframes smoothSwing {
    0%   { transform: rotate(0deg) scale(1); }
    12.5%  { transform: rotate(2deg) scale(1.02); }
    25%    { transform: rotate(4deg) scale(1.04); }
    37.5%  { transform: rotate(2deg) scale(1.02); }
    50%    { transform: rotate(0deg) scale(1); }
    62.5%  { transform: rotate(-2deg) scale(0.98); }
    75%    { transform: rotate(-4deg) scale(0.96); }
    87.5%  { transform: rotate(-2deg) scale(0.98); }
    100%   { transform: rotate(0deg) scale(1); }
}

.bigger-text {
    font-size: 16px;
}

.lab-approach {
  position: relative;  /* establishes a positioning context */
  overflow: hidden;    /* ensures ::after stays within */
}

.lab-approach::after {
  content: "";
  position: absolute;
  left: 0;
  top: 47%;          /* start halfway down */
  width: 100%;
  height: 100%;       /* cover the bottom half */
  background-color: #efefef;
  z-index: 0;        /* ensure it stays behind content */
}

footer .site-logo img {
    max-width: 180px;
}

footer .footer-social {
    max-width: 180px;
    justify-self: end;
    margin-right: 16px;    
}

.is-footer, .is-wrapper .is-footer {
    background-color: #264d67;
}

.copyright-container {
    background-color: #fff;
    color: #000;
}

.copyright-container a:not(.button) {
    color: #000;
}

.site-logo {
  position: relative;
  padding-right: 70px !important;
}

.site-logo::after {
  content: "";
  position: absolute;
    top: 18%;
    bottom: 18%;          /* end a bit above bottom */
  right: 0;              /* align to right edge */
  width: 1px;            /* thickness of the border */
  background-color: #fff; /* border color */
}

.new-footer-2 .large-text-left {
        padding-left: 60px;
}

.coaching-philosophy-slider .slick-slide {
    height: 50px !important;
    padding-left: 20px;
}

.coaching-philosophy-slider.slick-slider {
    padding-bottom: 60px !important;
    height: 210px !important;
}

.slick-dots li {
    border: 0px solid #000 !important;
    background: #F4BD62;
    width: 17px;
    height: 17px;
    margin: 0 4px;
    transition: width 0.6s ease-in-out;
}

.coaching-philosophy-slider .slick-dots li.slick-active {
    background: #264d67 !important;
        width: 40px;
}


.coaching-philosophy-slider .middle-active {
  border-left: 2px dotted #000;
  border-right: 2px dotted #000;
}

.prog-content {
    padding: 0px 36px;
    padding-top: 80px;
    padding-bottom: 50px;
}


.prog-container.cell {
    padding: 0px;
    width: 410px;
    margin: 0 auto;
    background: #d9d9d9;
}

.prog-container, .our-prog-1, .our-prog-2, .our-prog-3 {
    position: relative;
}

.prog-container::after {
    content: "";
    position: absolute;
    bottom: 15px;
    right: 20px;
    width: 60px;
    height: 60px;
    background-image: url('https://d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/btn-arw.png'); /* replace with your icon path */
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 10;        /* ensures it sits above content */
    
    animation: dingdong 1s infinite ease-in-out;
    transform-origin: center; 
}

.our-prog-1::after {
    content: "";
    position: absolute;
    bottom: -60px;
    right: 20px;
    width: 117px;
    height: 114px;
    background-image: url('https://d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/OP-1.webp'); /* replace with your icon path */
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 10;        /* ensures it sits above content */
    
    /* Pulse animation */
    animation: pulse 2s infinite;
    transform-origin: center center;    
}

.our-prog-2::after {
    content: "";
    position: absolute;
    bottom: -60px;
    right: 20px;
    width: 117px;
    height: 114px;
    background-image: url('https://d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/OP-2.webp'); /* replace with your icon path */
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 10;        /* ensures it sits above content */
    
    /* Pulse animation */
    animation: pulse 2s infinite;
    transform-origin: center center;    
}

.our-prog-3::after {
    content: "";
    position: absolute;
    bottom: -60px;
    right: 20px;
    width: 117px;
    height: 114px;
    background-image: url('https://d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/OP-3.webp'); /* replace with your icon path */
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 10;        /* ensures it sits above content */
    
    /* Pulse animation */
    animation: pulse 2s infinite;
    transform-origin: center center;    
}

/* Keyframes for pulse / heartbeat */
@keyframes pulse {
    0% {
        transform: scale(1);
    }
    25% {
        transform: scale(1.1);
    }
    50% {
        transform: scale(1);
    }
    75% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

.core-btn h3 a {
color: #000000;
    font-size: 16px;    
        line-height: 14px;
}

.core-btn h3 {
        line-height: 14px;
        margin-bottom: 0px;
}

.core-block {
  position: relative;
  overflow: hidden;
}

.core-hover-text a {
    color: #000;    
}

/* 1. core-btn overlapping core-img at bottom-right */
.core-btn {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: #fff;
    color: #fff;
    padding: 10px 16px;
    border-radius: 10px;
    cursor: pointer;
    z-index: 2;
    width: 260px;
    min-height: 58px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

/* 2. icon overlapping core-btn using ::after */
.core-btn::after {
  content: "";
  position: absolute;
  top: 26%;
right: -16px;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
  background-image: url('https://d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/btn-arw.png'); /* replace with your icon */
  background-size: cover;
  background-repeat: no-repeat;
  
    animation: dingdong 1s infinite ease-in-out;
    transform-origin: center; 
}

/* 3. core-hover-text hidden initially */
.core-hover-text {
position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    opacity: 0;
    pointer-events: none;
    color: #fff;
    text-align: center;
    transition: opacity 0.3s ease;
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
}

/* 4. overlay effect on hover */
.core-block::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #F4BD62;
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 1;
  pointer-events: none; 
}

.core-block:hover .core-hover-text {
  opacity: 1;
  pointer-events: auto;
  color: #000;
}

.core-block:hover .core-btn {
    display: none;    
}

.core-block::before {
  transform: scale(0);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.core-block:hover::before {
  opacity: 0.8;
  transform: scale(1);
}

.our-core-sec .grid-x:nth-child(2) .large-4:first-child .core-block:first-child,
.our-core-sec .grid-x:nth-child(2) .large-4:nth-child(2) .core-block:first-child{
    margin-bottom: 30px;
}

.why-choose-img, .our-core-sec {
    position: relative !important;    
}

.why-choose-img::after {
  content: "";
  position: absolute;
    bottom: 14px;
    left: 20px;
  width: 222px;
  height: 221px;
  background-image: url('//d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/Why-family-chosse-us-icon.webp'); /* your icon path */
  background-size: cover;
  background-repeat: no-repeat;
  
    /* Continuous animation */
    animation: smoothSwing 1.5s linear infinite;
}

.why-choose-list {
  list-style: none; /* remove default bullets */
  padding: 0;
  margin: 0;
}

.why-choose-list li {
  position: relative; /* for the ::before positioning */
  padding-left: 60px; /* space for the 50x50 icon + some gap */
  margin-bottom: 24px;
}

/* Add icons using ::before */
.why-choose-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background-size: cover;
  background-repeat: no-repeat;
}

/* Different icons for each li */
.why-choose-list li:nth-child(1)::before {
  background-image: url('//d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/WC-1.webp');
}

.why-choose-list li:nth-child(2)::before {
  background-image: url('//d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/WC-2.webp');
}

.why-choose-list li:nth-child(3)::before {
  background-image: url('//d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/WC-3.webp');
}

.why-choose-list li:nth-child(4)::before {
  background-image: url('//d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/WC-4.webp');
}

.why-choose-list li:nth-child(5)::before {
  background-image: url('//d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/WC-5.webp');
}


.our-core-sec::after {
content: "";
    position: absolute;
    left: 0;
    top: 31%;
    width: 100%;
    height: 69%;
    background-color: #e1e1e1;
    z-index: 0;
}

.rqst-consult-section {
    background: url('//d14ty28lkqz1hw.cloudfront.net/data/org/30125/theme/48061/img/bg.webp') !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

a, a:hover, a:focus {
    color: #000;
}


@media only screen and (max-width: 1024px) {
    
    .coaching-philosophy-slider .section-main-heading {
            font-size: 28px;
    }    
    
    .prog-container.cell {
        width: 305px;
    }
    
    .why-choose-img::after {
        bottom: 40px;
    }
    
    .core-btn {
        width: 240px;
    }
    
}

@media only screen and (max-width: 940px) {
    
    .mobile-header, .mobile-header .cell:last-child > .grid-x {
        display: block;
    }
    
    .mobile-header .logo-container {
        padding-bottom: 20px !important;
    display: flex;
        justify-content: center;
    }
    
    .mobile-header .logo-container div:first-child {
        width: 63% !important;
        text-align: right;    
    }
    
    .mobile-header .logo-container div:last-child {
        width: 37% !important;
        text-align: right;
        padding-right: 14px;    
    }

    .mobile-header {
            margin-bottom: 20px;
    }

    .user-logged-out .inner-content-div {
        background-color: #282727;
    }
    

    .coaching-philosophy-slider.slick-slider {
        height: 340px !important;
        text-align: center;
    }
    
    .lab-approach::after {
        top: 30%;
    }

    .prog-container.cell {
        width: 57%;
        margin-bottom: 40px;
    }
    
    .prog-container.cell:last-child {
        margin-bottom: 0px;
    }    
    
    .prog-content {
        padding-bottom: 100px;
    }
    
    .our-core-sec .is-container {
        margin-top: 0 !important;    
    }
    
    .core-block {
        text-align: center;
    }
    
    .our-core-sec::after{
        top: 26%;
        height: 74%;
    }

    .core-block {
        width: fit-content;
        margin: 0 auto;
    }
        
    .core-btn {
        text-align: left;
    }
    
    .site-logo {
        padding-right: 0.9375rem !important;
    }
    
    .new-footer-2 .large-text-left {
        padding-left: 0.9375rem !important;
    }
    
    footer .footer-social {
        max-width: fit-content;
        justify-self: center;
        margin-right: 0px;
    }
    
    
}


@media only screen and (max-width: 667px) {
    
    .mobile-header .logo-container div:first-child {
        width: 65% !important;
    }
    
    .mobile-header .logo-container div:last-child {
        width: 35% !important;
    }
    
    
}

@media only screen and (max-width: 480px) {
    
    .mobile-header .logo-container div:first-child {
        width: 71% !important;
    }
    
    .mobile-header .logo-container div:last-child {
        width: 29% !important;
    }
    
    .prog-container.cell{
        width: 94%;
    }
    
    .lab-approach .container > .grid-x:first-child .cell:first-child::after,
    .why-choose-img::after{
        width: 160px;
        height: 160px;        
    }
    
    
}


@media only screen and (max-width: 375px) {
    
    .mobile-header .logo-container div:first-child {
        width: 77% !important;
    }
    
    .mobile-header .logo-container div:last-child {
        width: 23% !important;
    }
    
    a.button::after {
        right: 41%;
        top: 42px;
    }
    
    .lab-approach::after {
        top: 21%;
    }
    
    .prog-container.cell{
        width: 100%;
    }
    
    .core-btn {
        width: 260px;
    }
    
    .lab-approach .container > .grid-x:first-child .cell:first-child::after,
    .why-choose-img::after{
        width: 130px;
        height: 130px;        
    }
    
    
}
