html {
    font-size: 16px;
}

body {
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    font-size: 1em;
    line-height: 1.6; 
    font-optical-sizing: auto;
    color: #222; 
    font-style: normal;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #fafafa;
}

a {
    text-decoration: none;
    
}


/* .region-content img {
    border-radius: 10px;
} */


h1, h2, h3, h4, h5, h6 {
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 0.75em;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1 { font-size: 48px; letter-spacing: 0.01em; } /* Large, attention-grabbing */
h2 { font-size: 30px; } /* Clear section title */
h3 { font-size: 24px; } /* Subsection heading */
h4 { font-size: 20px; } /* Smaller headings */
h5 { font-size: 18px; } /* Secondary headings */
h6 { font-size: 16px; } /* Smallest heading */

p {
    line-height: 1.7;
    margin-bottom: 1.25rem;
}

a {
    color: #000;
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

a:hover {
    color: #f7931b; 
}
.text-aprimary {
    color: #0b1141;
}
.btn-inspire {
    margin: 0;
    padding: 0;
    padding: 10px 20px;
    text-transform: uppercase;
    border: solid 1px #000;
    border-radius: 0;
}

.btn-inspire:hover {
    background: #000;
    color: #fff;
}

.btn-inspire-dark {
    margin: 0;
    padding: 0;
    padding: 10px 20px;
    text-transform: uppercase;
    border: solid 1px #eee;
    border-radius: 0;
    color: #fff;
}

.btn-inspire-dark:hover {
    background: #eee;
    color: #000;
}

.btn-default {
    margin: 0;
    padding: 0;
    padding: 10px 20px;
    text-transform: uppercase;
    border: solid 1px #000;
    border-radius: 0;
}

.btn-default:hover {
    background: #000;
    color: #fff;
}
#precontent a { color: #fff;}
#precontent , 
.breadcrumb-item + .breadcrumb-item::before { color: #eee; }
#precontent {
    padding: 20px;
    background: #3d003c;
    margin-bottom: 50px;
    color: #ccc;
}



#block-wakisa-main-navigation .navbar-nav a{
    font-weight: 600;
    color: #3d003c;
    font-size: 1.1rem;
}
#block-wakisa-main-navigation .navbar-nav a:hover{
    color: #f8941d;
}








/* footer */

.footer_bottom {
    background: #3E003C; 
    color: #fff;
    padding: 80px 0 30px 0;
}
#block-wakisa-footercopyright {
    font-size: 0.9rem;
    color: #ccc;
    margin: 20px 0 40px 0;
    padding: 20px 0 0 0;
    border-top: solid 1px rgba(255, 255, 255, 0.05);
}
#block-wakisa-footercopyright a {
    color: #fff;
}
/* Social Hub Styling */
.social-hub {
  padding: 0;
  margin: 0;
}

.social-hub li {
  display: inline-block;
  margin: 0 8px;
}

.social-hub a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  background-color: #3d003c; /* Wakisa purple */
  color: #fff;
  border-radius: 50%;
  font-size: 1.2rem;
  text-decoration: none;
  transition: all 0.3s ease;
}

.social-hub a:hover {
  background-color: #fff;
  color: #3d003c;
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.social-hub i {
  line-height: 1;
}

/* Contact card */
.contact-card {
  --wakisa: #3d003c;
  --logo-url: url('../images/wakisa-logo.png');
  position: relative;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 6px 24px rgba(0,0,0,.06);
  padding-top: 3.25rem;    
  margin-top: 40px;        
  overflow: visible;      
  transition: transform .25s ease, box-shadow .25s ease;
}
.contact-card::after{
  content:"";
  position:absolute; inset:0;
  background: var(--logo-url) center right/60% no-repeat;
  opacity:.06;
  border-radius: inherit;   
  pointer-events:none;
}

.contact-icon{
  position:absolute;
  top: 0;                   
  left: 50%;
  transform: translate(-50%, -50%); 
  width: 72px; height: 72px;
  border-radius: 50%;
  background: var(--wakisa);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size: 1.6rem;
  border: 6px solid #fff;   
  box-shadow: 0 6px 16px rgba(0,0,0,.2);
  z-index: 2;
}

.contact-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(0,0,0,.12);
}



/* front page */
.path-frontpage #precontent {
   display: none;  
}
.main_header .container-fluid {
  padding: 0;
  border-top: solid 2px #3d003c;
}

#swiper-d8ywvv3y7ni {
  width: 100%;
  height: auto;
  
}
.views-field-field-slider-photo {
  position: relative;
  overflow: hidden;
}
.views-field-field-slider-photo::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%; 
  background: linear-gradient(
    to right,
    rgba(61, 0, 60, 1) 0%,   
    rgba(61, 0, 60, 0.8) 30%,  
    rgba(61, 0, 60, 0.5) 60%,  
    rgba(61, 0, 60, 0) 100%    
  );
  z-index: 1;
  pointer-events: none;
}


#swiper-d8ywvv3y7ni .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

#swiper-d8ywvv3y7ni .swiper-slide img {
  width: 100%;
  height: auto;
  object-fit: cover; /* change to 'contain' if you don’t want cropping */
  display: block;
}
#block-wakisa-views-block-slider-hp-block-1 .swiper-slide .img-fluid { 
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}
.views-field-field-slider-detail {
  position: absolute;
  bottom: 20px;
  left: 20px;
  z-index: 2;
  color: #fff;
  width: 50%;
}
.views-field-field-slider-detail h3 {
  font-size: 2.5rem;
  font-weight: 200;
  margin-bottom: 10px;

}
.views-field-field-slider-detail h5 {
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 20px;
  color: #f8941d;
}
.views-field-field-slider-detail a {
  display: inline-block;
  padding: 10px 20px;
  background: transparent;
  color: #f8941d;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  border-bottom: solid 1px #eee;
}

.node-11 #content_first {
  position: relative;
  padding: 140px 0 40px;
  /* background: rgba(248, 148, 29, 0.2); */
  background: #fff ;
  
}

/* .node-11 #content_first > * { position: relative; z-index: 2; overflow: hidden;}

.node-11 #content_first::before {
  content: "";
  position: absolute; inset: 0;
  z-index: 1; pointer-events: none;
    background:
    radial-gradient(900px 500px at 12% 30%, rgba(248, 148, 29,0.30), transparent 60%),
    radial-gradient(700px 400px at 68% 65%, rgba(248, 148, 29,0.20), transparent 60%);
  mix-blend-mode: multiply;
}

.node-11 #content_first::after {
  content: "";
  position: absolute;
  width: 80%;
  height: 80%;
  left: -20%;
  top: 0%;
  z-index: 1;                 
  pointer-events: none;
  margin-bottom: 20px;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.10) 0 20%, rgba(248, 148, 29,0.40) 20% 55%, transparent 60%);
  filter: blur(30px);
  opacity: 0.9;
  animation: wakisaBlobMove 14s ease-in-out infinite alternate;
  will-change: transform;
}

@keyframes wakisaBlobMove {
  0%   { transform: translate(-6%, -4%) scale(1.05) rotate(0.001deg); }
  50%  { transform: translate(8%, 6%)   scale(1.10) rotate(0.001deg); }
  100% { transform: translate(-10%, 3%)  scale(1.02) rotate(0.001deg); }
}

@media (prefers-reduced-motion: reduce) {
  .node-11 #content_first::after { animation: none; }
} */

.node-11 #content_first h3 {
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 10px 0;
}
.node-11 #content_second {
    padding: 100px 0 80px 0;
    background:rgba(248,148,29,0.2);
    
}

#block-wakisa-frontabout .paragraph--id--68 {
  padding: 0 20px;
}
#block-wakisa-homewhyweexist img,
.paragraph--id--72 iframe,
#block-wakisa-frontabout .paragraph--id--84 img {
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

#block-wakisa-homewhyweexist h3 {
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 10px 0;
}

.node-11 #content_third {
    padding: 80px 0;
    background: #fff;
    
}
#block-wakisa-frontnewsletter h3 {
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 10px 0;
}
#block-wakisa-frontnewsletter img{
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* get involved page */
.node-10 #precontent {
    padding: 150px 0 100px 0;
    background: 
        linear-gradient(to right, #3d003c 0%, rgba(61, 0, 60, 0) 100%), 
        url(../images/getinvolved.jpg) no-repeat center center / cover;     
}
.node-10 #content_second {
    /* background: #f8941d; */
    background: rgba(248, 148, 29, 0.2);
    padding: 80px 0;
    margin: 40px 0 0 0;
}
.node-10 #content_third {
    padding: 80px 0;
    background: #fff;
}

.paragraph--id--11 {
    padding-right: 10%;
}
.paragraph--id--11 h3{
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 10px 0;
}
#block-wakisa-getinvolvedothersupport h3 {
    font-weight: 400;
    font-size: 1.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 0 0 10px 0;
    color: #3d003c;    
}
#block-wakisa-getinvolvedothersupport .paragraph--id--17 h3 {
    margin: 20px 0 10px 0;
}



/* what we do */
.node-7 #precontent {
    padding: 150px 0 100px 0;
    background:
    linear-gradient(to right, #3d003c 0%, rgba(61, 0, 60, 0) 100%), 
     url(../images/whatwedo.jpg) no-repeat center center / cover;

}
#block-wakisa-financialsupport img {
    border-radius: 1rem;
}
#block-wakisa-getinvolvedothersupport img {
    border-radius: 1rem;
}
.node-7 #content_third {
    padding: 80px 0;
    background: #fff;
}
#block-wakisa-whatwedohowwedoit img {
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

#block-wakisa-whatwedohowwedoit img:hover {
    transform: scale(1.03);
    box-shadow: 0 12px 32px rgba(0,0,0,0.25);
}
.paragraph--id--3 h3{
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 10px 0;
}
.whatwedointrocard {
    padding: 60px 40px;
    background: #f8941d;
    /* background: rgba(248, 148, 29, 0.2); */
    border-radius: 1rem;
    box-shadow: 0 6px 24px rgba(0,0,0,0.15);
    margin: 30px 0;
    font-weight: 300;
    font-size: 1.8rem;
}

.card.card--large-top {
    padding: 30px 20px;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 6px 24px rgba(0,0,0,0.15);
    margin: 30px 0;
    min-height: 350px;
}
h2.cardtitle .field--name-bp-card-title {
    font-weight: 300;
    font-size: 1rem;
    margin-bottom: 20px;
}


.equal-cards .card { height: 100%; }

.card-elevated {
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.card-elevated:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0,0,0,.12);
}
.card-outline {
  box-shadow: none;
  border: 1px solid rgba(0,0,0,.08);
}
.card-outline:hover {
  border-color: rgba(0,0,0,.12);
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}
.card-body { padding: 1.25rem 1.25rem 1.5rem; }
.momo svg {
  height: 40px;
}




/* who we are page */
.node-6 #precontent {
    padding: 150px 0 100px 0;
    background:
    linear-gradient(to right, #3d003c 0%, rgba(61, 0, 60, 0) 100%), 
     url(../images/whoweare2.jpg) no-repeat center center / cover;
}           
.paragraph--id--56 h3 {
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 10px 0;
}

.paragraph--id--58 img {
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.node-6 #content_second {
    padding: 80px 0;
    /* background: #f7931b; */
    background: rgba(248, 148, 29, 0.2);
    margin: 80px 0 0 0;
}
.viewsreference--view-title {
    display: none;
}
.node-6 #content_fourth {
    padding: 80px 0;
    background: #fff;
}   
#block-wakisa-whowearestaff h3 {
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 10px 0;
}
#block-wakisa-whowearestaff img {
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.team-member {
  background: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.team-member:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.team-member__image-wrapper {
  background: #fff;
}

.team-member__image-inner img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.75rem 0.75rem 0 0; /* top corners rounded */
}

.team-member__name {
  font-size: 1.1rem;
}

.team-member__designation {
  font-size: 0.9rem;
}
.paragraph--id--64  {
  padding: 10px 0 0 0;
}
.paragraph--id--64 img {
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
.paragraph--id--61 img {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}

/* impact page */
.node-9 #precontent {
    padding: 150px 0 100px 0;
    background:
    linear-gradient(to right, #3d003c 0%, rgba(61, 0, 60, 0) 100%), 
     url(../images/impact.jpg) no-repeat center center / cover;

}
.paragraph--id--38 {
  padding-top: 2rem;
}
.node-9 #content_second {
    padding: 80px 0;
    background: #3d003c;
    margin: 40px 0 0 0;
    color: #fff;
}
#block-wakisa-impactstats h3 {
    text-align: center;
    margin: 40px 0 20px 0;
    font-weight: 300;
    font-size: 2.5rem;
    line-height: 1.2;
}
#block-wakisa-impactstats  .paragraph--type--bp-stat {
    margin: 20px 0 15px 0;
    padding: 20px 0 15px 0;
    border-bottom: dotted 1px rgba(255,255,255,0.2);
}
#block-wakisa-impactstats  .paragraph--type--bp-stat .statistic-header {
    color: #f7931b;
}
.paragraph--id--25 h3 {
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 10px 0;
}
.node-9 #content_third {
    padding: 80px 0;
    background: #fff;
}
.paragraph--id--37 h3 {
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 10px 0;
}


/* what we do how we do it */
/* .node-8 #precontent {
    padding: 150px 0 100px 0;
    background:
    linear-gradient(to right, #3d003c 0%, rgba(61, 0, 60, 0) 100%), 
     url(../images/howwedoit.jpg) no-repeat center center / cover;

}
.node-8 #content_third {
    padding: 80px 0;
    background: #fff;
} */


/* 20 year celebration page */

.node-24 #precontent {
    padding: 150px 0 100px 0;
    background: 
        linear-gradient(to right, #3d003c 0%, rgba(61, 0, 60, 0) 100%), 
        url(../images/contact.jpg) no-repeat center center / cover;     
}


.node-24 #content_third {
    padding: 180px 0;
    /* background: #f7931b; */
    background: rgba(248, 148, 29, 0.2);
    margin: -50px 0 0 0;
}
.node-24 #block-wakisa-content {
    padding: 80px 0 100px 0;
}
.node-24 #block-wakisa-content img {
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.paragraph--id--87 {
  padding: 0 40px 0 40px;
}
.paragraph--id--87 h2 {
  color: #f7931b;
  font-size: 3em;
  margin-top: 0;
  font-weight: 300;
  line-height: 1.1;
}
.node-24 #content_fourth {
    padding: 80px 0;
    /* background: #f7931b; */
    background: #fff;

}
.node-24 #content_fifth {
    padding: 80px 0;
    /* background: #f7931b; */
    background: #eee;

}
.paragraph--id--93 h3,
.paragraph--id--96 h3 {
  font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 30px 0;
}
.paragraph--id--96  {
  border-radius: 2rem;
  background: #3d003c;
  color: #eee;
  padding: 30px 0 30px 0;
}



/* contact page */
.node-5 #precontent {
    padding: 150px 0 100px 0;
    background: 
        linear-gradient(to right, #3d003c 0%, rgba(61, 0, 60, 0) 100%), 
        url(../images/contact.jpg) no-repeat center center / cover;     
}


.map_responsive {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  /* aspect-ratio: 16 / 9; */
  height: 250px;
  overflow: hidden;
  border-radius: 12px;          
  box-shadow: 0 6px 20px rgba(0,0,0,.08); 
  background: #f5f5f5;           
}

@supports not (aspect-ratio: 1 / 1) {
  .map_responsive {
    height: 0;
    padding-bottom: 56.25%;  
  }
}

.map_responsive iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;      
  display: block;
}
.paragraph--id--9 h3{
    font-weight: 300;
    font-size: 2.5rem;
    margin-bottom: 1rem;   
    line-height: 1.2; 
    margin: 30px 0 10px 0;
}


/* blog page */
.news-teaser__image-wrapper {
  overflow: hidden;
  transition: all 0.3s ease;
}

.news-teaser__image-inner img {
  transition: transform 0.3s ease;
}
.news-teaser__category {
  font-size: 0.8em;
  text-transform: uppercase;
  font-weight: 600;
  position: relative;
}
.news-teaser__category::before {
  content: "";
  position: absolute;
  top: 50%;
  left:-25px;
  width: 20px;
  height: 2px;
  

}

.news-teaser:hover .news-teaser__image-inner img {
  transform: scale(1.05);
}

.news-teaser__title {
  transition: transform 0.3s ease;
}

.news-teaser:hover .news-teaser__title {
  transform: translateY(3px);
}




/* utility */
.btn-nav-donate {
    padding: 10px 25px !important;
    background: #f8941d;
    color: #3d003c;
    border-radius: 25px;
    margin-left: 10px;
    display: inline-block;
}

.btn-wakisa-dark {
    padding: 10px 25px !important;
    background: #3d003c;
    color: #fff;
    border-radius: 25px;
    margin-left: 10px;
    display: inline-block;
} 
.lead {

}
.field--name-field-media-oembed-video iframe {
  width: 100% !important;
  height: auto;
  aspect-ratio: 16 / 9;   /* change if you need 4:3, 9:16, etc. */
  display: block;
  border: 0;
}



@media (min-width: 992px) {
    .navbar-brand img {
        height: 80px;
    }
    .map_responsive { aspect-ratio: 21 / 9; }
}

@media (max-width: 575.98px){
  .contact-icon{ width:60px; height:60px; border-width:4px; font-size:1.3rem; }
  .contact-card{ padding-top: 2.75rem; margin-top: 32px; }
}


