/* General Reset */
body {
    margin: 0;
    padding: 0;
    font-family: "Aktiv Grotesk";
    max-width: 100%;
    overflow-x: hidden;
}
input[type="text"], 
input[type="email"], 
input[type="url"], 
input[type="password"], 
input[type="search"], 
input[type="number"], 
input[type="tel"], 
input[type="range"], 
input[type="date"], 
input[type="month"],
 input[type="week"], 
 input[type="time"], 
 input[type="datetime"], 
 input[type="datetime-local"], 
 input[type="color"], 
 textarea {
    color: var(--Gray-400, #98A2B3);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.bg_grey,
.two-columns-section.bg_grey  { background-color: #f4f5fa; border-radius: 10px;}
.bg_gradiant_purple { background: linear-gradient(90deg, #653392 0%, #3f0077 44%, #1d3c94 100%); }
.two-columns-section.bg_pastel,
.bg_pastel {
    background-image: url(/wp-content/themes/diabetesireland/images/background.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.min-width-350 p{
    min-width: 350px;
}

.min-width-350 p .button{
    max-width: 250px;
}

.bg_purple {background-color:#3f0077;}

.bg_lightblue {background-color:#CCE9F3;}

.text_white {
    color: #fff;
}

.text_white .column-content p {
    color: #fff;
}

.two-columns-section.bg_grey,
.two-columns-section.bg_pastel { padding-top: 50px; }

a {
    text-decoration: none;
	color: #3F0077;
	font-weight: bold;
}
p { 
	margin: 0;
	padding: 0;
}
.max-w-5xl {
	max-width:1200px;
}

.mx-auto {
	margin: auto;
}
li {
    font-size: 16px;
	color: var(--Gray-800, #1D2939);
	line-height: 24px;
}

section.one-column-section .cta-buttons {
    display: flex;
    justify-content: flex-start;
}

/*.page-id-816 section.one-column-section .cta-buttons{
    justify-content: flex-start;
}

.page-id-892 section.one-column-section .cta-buttons {
    display: flex;
    justify-content: flex-start;
}*/

/* Header Section Background (Image) */
.header-section {
    background-image: url('/wp-content/themes/diabetesireland/images/background.png');
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 24px; 
}

/* Header Navigation (White Background) */
.header-navigation {
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0px 0px 30px rgba(36, 0, 68, 0.05);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  padding: 20px 32px;
  margin: 0 24px;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.site-branding {
    flex-grow: 1;
    flex-shrink: 0;
    max-width: 20%;
    overflow: hidden;
    white-space: nowrap;
    margin: 0 auto;
}

.main-navigation {
    flex-grow: 1;
    margin: 0 16px;
}

.search-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; /* Circle diameter */
  height: 40px;
  border-radius: 1000px; /* Ensures a perfect circle */
  border: 1px solid var(--Gray-300, #D0D5DD); /* Border around the circle */
  cursor: pointer; /* Indicates it's clickable */
  transition: background-color 0.3s ease; /* Optional hover effect */
  border-radius: 1000px;
  border: 1px solid var(--Gray-300, #D0D5DD);
}

/* Hover effect: Purple background */
.search-icon:hover {
  background-color: #3F0077; 
}

/* Target the SVG path for default stroke color */
.search-icon svg path {
  stroke: var(--Purple-500, #3F0077); /* Default stroke color */
  transition: stroke 0.3s ease; /* Smooth color change on hover */
}

/* Hover: Change stroke to white */
.search-icon:hover svg path {
  stroke: white; /* As in the SVG code you provided */
}



.donate-button, .member-button {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 48px;
    padding: 16px;
    font-family: "Aktiv Grotesk", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none;
    justify-content: center;
}

.column-content .donate-button, 
.column-content .member-button {
    margin-top: 16px;
}

.donate-button {
    border-radius: 100px;
    border: 1px solid var(--Purple-500, #3F0077);
    color: var(--Purple-500, #3F0077);
}

.member-button {
    border-radius: 100px;
    background: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
    color: #FFF;
}


/* Page Banner in the header
--------------------------------------------- */

.page-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between; /* Ensure space between text and image */
    flex-wrap: wrap;
	padding: 24px;
}

.page-header .header-content {
    display: flex;
    align-items: center;
    width: 100%;
	padding: 0 32px 0 80px;
}

.page-header .text-content h1 {
	max-width: fit-content;
}

.page-header .text-content h2{
    color: #3f0077;
}

.page-header .text-content p {
    flex: 0 0 30%; 
    padding-right: 30px; /* Add some space between text and image */
}

.page-header .image-content {
    flex: 0 0 70%; /* Set the width of image content to 70% */
    display: flex;
    justify-content: flex-end; /* Align the image to the right */
}

.page-header .text-content h1 span{
    border-radius: 8px;
    display: flex;
    margin-bottom: 8px;
	max-width: fit-content;
}

.page-header .image-content img {
    display: block;
    width: 768px;
    max-width: 100%;
    height: auto;
    max-height: 450px;
    object-fit: cover;
    border-radius: 5px;
}

.cta-buttons {
    display: flex;
    gap: 10px;
	padding-top:16px;
}

.cta-no_padding .cta-buttons{
    padding-top: 0;
}

/* Base Container Styles */
.header-section cta-buttons {
    display: grid;
    gap: 10px;
    width: 100%;
    padding-top: 16px; /* Kept from your screenshot */
}

/* Ensure all buttons center their text and fill their slot */
.header-section .cta-button {
    display: flex;
    justify-content: center; /* Centers text/icon */
    align-items: center;
    width: 100%; /* Forces button to fill the grid cell */
    text-align: center;
    box-sizing: border-box; 
}

/* --- SCENARIO 1: 1 Button --- */
/* Full width, single column */
.header-section .cta-buttons.count-1 {
    display: flex;
    flex-wrap: wrap;
}

/* --- SCENARIO 2: 2 Buttons --- */
/* Side by side (50% / 50%) */
.header-section .cta-buttons.count-2 {
    display: flex;
}

/* --- SCENARIO 3: 3 Buttons --- */
/* 2 on top, 1 on bottom full width */
.header-section .cta-buttons.count-3 {
    display: flex;
    flex-wrap: wrap;
}

/* This targets the 3rd button (the last one) and forces it to span 2 columns */
.header-section .cta-buttons.count-3 a:last-child {
    grid-column: span 2; 
}

/* Mobile Fallback: Stack everything on small screens */
@media (max-width: 768px) {
    .header-section .cta-buttons.count-2,
    .header-section .cta-buttons.count-3 {
        grid-template-columns: 1fr; /* Force 1 column on mobile */
    }
    
    .header-section .cta-buttons.count-3 a:last-child {
        grid-column: auto; /* Reset the span */
    }
}

section.one-column-section.mt{
    margin-top: 56px;
}

section.one-column-section h2 {
    padding-bottom: 15px;
	color: var(--Purple-500, #3F0077);
}

section.one-column-section p{
    max-width: 1200px;
}

section.one-column-section h3 a{
    color: var(--Gray-800, #1D2939);
}

section.one-column-section .cta-buttons {
    padding-top: 32px;
}



a.cta-button.purple {
    max-width: fit-content;
    border-radius: 100px;
    background: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
    padding: 16px 32px;
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none;
}

a.cta-button.purple:first-child{
    margin-left: 0;
}

a.cta-button.transparent_purple_border {
    border-radius: 100px;
    border: 1px solid var(--Purple-500, #3F0077);
    padding: 16px 24px;
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none;
}

a.cta-button.purple img{
    margin-right: 12px;
}

.content_text li {
    padding-bottom: 10px;
}
/* Content Image Section */
.content_image_section {
    padding: 64px 96px;
    overflow: hidden;
}

.content_image_section .container {
    padding: 56px 48px 56px 56px;
	border-radius: 16px;
}

.content_image_section .container.bg_grey{
    padding: 56px 48px;
}

.content_image_wrapper {
  display: flex;
  align-items: stretch;  
  gap: 40px;
}

@media (max-width: 991px) {

    .content_image_wrapper {
        margin: 24px 0;
        margin-bottom: 8px;
    }

}

.content_text,
.content_image {
  flex: 1;
}

.content_image {
  text-align: center;
}

.hide_image .content_image{
    display: none;
}

.content_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

.img-max-height .content_image img {
    object-position: top;
    max-height: 450px;
}

.jc-center .content_text{
    justify-content: center;
}

.image_width_auto .content_image{
    display: flex;
    justify-content: center;
    align-items: center;
}

.image_width_auto .content_image img {
  width: auto;
}

.content_text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.key_points {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Two columns */
    gap: 10px;
    list-style: none;
    padding: 0;
}

.key_points li {
    padding: 10px;
    border-radius: 100px;
    text-align: left;
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
	gap: 8px;
    display: flex;
    flex-wrap: nowrap;
	align-items: center;
}

.ctas {
    margin-top: 20px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ctas .cta_button {
    padding: 10px 20px;
    border-radius: 5px;
    background: #007BFF;
    color: #fff;
    text-decoration: none;
}

h2.content_heading {
    color: var(--Purple-500, #3F0077);
    font-family: "Aktiv Grotesk";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 32px;
    margin-bottom: 0;
}

.content_description {
    color: var(--Gray-700, #344054);
    font-family: "Aktiv Grotesk";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
}

.content_description p a{
    display: inline-block;
    margin: 16px 0;
}

/*How can we help block */
.how_can_we_help_block {
    min-height: 178px;
    background: linear-gradient(90deg, #653392 0%, #3F0077 44%, #1D3C94 100%);
}

.help_layout {
    display: flex;
    gap: 32px;
    align-items: center;
    padding: 32px 56px;
}

.section_heading_wrapper {
    flex: 1 0 20%; /* Occupies 20% of the width */
    max-width: 200px; /* Optional: Add a max width for the heading column */
}

.help_layout .section_heading {
    color: var(--Orange-400, #F9B462);
    font-family: "Aktiv Grotesk";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 32px;
}

.help_grid {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    flex: 1 0 80%; /* Occupies the remaining width */
}

.help_box {
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    flex: 1 0 calc(20% - 16px);
    align-self: stretch;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    padding: 16px 16px 16px 24px;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    align-self: stretch;
}

.help_box .icon {
    max-width: 70px;
    height: auto;
}

a.help_link {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-family: "Aktiv Grotesk";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px;
    color: #fff;
}

.help_link .arrow_icon {
    max-width: 24px;
    height: auto;
}

.help_box:hover {
  background: #F9B462;
  border-color: transparent;
  box-shadow: 0 0 0 4px rgba(249, 180, 98, 0.4);
}


.icon-hover { display: none; }
.help_box:hover .icon-normal { display: none; }
.help_box:hover .icon-hover { display: inline; }

.help_box:hover a.help_link {
    color: #000; 
}

/* Upcoming Events Block */
.upcoming_events_block {
    padding: 56px 56px 72px 56px;
}

.upcoming_events_block .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.upcoming_events_block .header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.upcoming_events_block .header-left .icon {
    display: inline-block;
    background: #EC008C;
    padding: 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
	border: 4px solid var(--Purple-10, #F5F2F8);
}

.upcoming_events_block .header-left h2 {
    color: var(--Blue-500, #1D3C94);
    font-family: "Aktiv Grotesk";
    font-size: 30px;
    font-style: normal;
    font-weight: 300;
    line-height: 38px;
}

.upcoming_events_block .header-right .view-all {
    text-decoration: none;
    color: #653392;
    font-weight: bold;
    font-size: 14px;
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.event-item {
    display: flex;
    border-radius: 8px;
    background: var(--Turquoise-50, #D9F2F1);
    display: flex;
    padding: 24px;
    align-items: flex-start;
    gap: 16px;
    flex: 1 0 0;
}

.event-item:hover {
    background: #fff;
    box-shadow: inset 0 0 0 4px var(--Turquoise-300, #4DC1C1);
}

.event-image img {
    max-width: 100px;
    height: auto;
    border-radius: 8px;
}

.event-details {
    flex: 1;
}

.event-title {
    margin: 0;
    font-size: 16px;
    font-weight: bold;
    color: #333;
}

.event-title a {
    text-decoration: none;
    color: var(--Purple-500, #3F0077);
    font-family: "Aktiv Grotesk";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
}

.event-date, .event-location {
    margin: 5px 0;
    color: var(--Gray-600, #475467);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

p.event-type {
    border-radius: 100px;
    background: var(--Turquoise-100, #B2E5E4);
    align-content: center;
    display: flex;
    padding: 4px 12px;
    justify-content: flex-start;
    gap: 8px;
    max-width: 75px;
    color: var(--Gray-800, #1D2939);
    font-family: "Aktiv Grotesk";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
}

/*4 Columns Block*/
.four-columns-block {
    display: flex;
    padding: 56px;
    align-items: center;
    gap: 24px;
    align-self: stretch;
    background: var(--Light-Blue-100, #CCE9F3);
}
.four-columns-block .container {
	display: flex;
    width: 100%;
    gap: 24px;
    align-items: center;
    justify-content: center;
}

.four-columns-block .section-heading {
	color: var(--Blue-500, #1D3C94);

	/* Display sm/Light */
	font-family: "Aktiv Grotesk";
	font-size: 30px;
	font-style: normal;
	font-weight: 300;
	line-height: 38px; /* 126.667% */
}

.four-columns-block .grid {
    display: flex;
    gap: 16px;
    flex: 0 0 80%;    
    justify-content: center;
}

/* To center the text on the image */
.four-columns-block .grid-item .image-wrapper {
    position: relative;
}

.four-columns-block .grid-item .image-wrapper img {
    width: 100%;
    object-fit: cover;
}

/* Text overlay centered in the image */
.four-columns-block .grid-item .text-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white; /* Change text color if needed */
    font-size: 1.2rem; /* Adjust the size as needed */
    text-align: center;
    font-weight: bold;	
	display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.heading-wrapper {
    max-width: 20%;
}

@media (max-width: 1080px) {

    .heading-wrapper {
        max-width: fit-content;
    }

}

.four-columns-block .grid-item .text-overlay h3 {
    color: #FFF;
    font-family: "Aktiv Grotesk";
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    line-height: 21px;
	border-radius: 100px;
	background: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
    padding: 16px 16px;
}

.four-columns-block .grid-item .text-overlay h3:hover {
    box-shadow: inset 0 0 0 4px var(--Turquoise-300, #4DC1C1);
}

/*** Support Us**/
.support-us-banner {
    background: linear-gradient(90deg, #653392 0%, #3F0077 44%, #1D3C94 100%);
    display: flex;
    padding: 40px 56px 56px 56px;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    align-self: stretch;
}

.support-us-banner .section-heading {
	color: var(--Orange-400, #F9B462);
    font-family: "Aktiv Grotesk";
    font-size: 30px;
    font-style: normal;
    font-weight: 300;
    line-height: 38px;
}
.items-container {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping if there are more items */
    justify-content: center;
    gap: 20px;
}

.item {
    display: flex;
    align-items: center;
    gap: 16px; /* Space between the icon and text+arrow */
}

/* Icon Circle */
.icon-circle {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 4px solid var(--Purple-300, #794DA0);
    background: var(--Turquoise-100, #B2E5E4);
    box-sizing: border-box;
}

/* Icon Inside Circle */
.item-icon {
    width: 24px;
    height: 24px;
    object-fit: cover;
}


/* Text and SVG Arrow */
.item-link {
    display: flex;
    align-items: center;
    gap: 8px; /* Space between the text and the arrow */
    color: var(--Base-White, #FFF);
    font-family: "Aktiv Grotesk", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px;
    text-decoration: none;
	padding: 16px;
}
.item-link:hover {
    background: #b2e5e4;
    padding: 16px;
    border-radius: 100px;
    color: var(--Purple-500, #3F0077);
}

/* SVG Arrow Styling */
.item-link svg {
    flex-shrink: 0;
}
.item-link:hover svg path {
    stroke: var(--Purple-500, #3F0077);
}
/***** Contaact Us Block */
/* Main Contact Us Footer Block */
.contact-us-footer-block {
    background-image: url('/wp-content/themes/diabetesireland/images/contact_us_background.png'); /* Background image only */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; /* Ensure the image covers the entire block */
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 88px 56px 88px;
    gap: 32px;
    align-self: stretch;
}

/* Block Title */
.block-title {
    color: var(--Purple-500, #3F0077);
    font-family: "Aktiv Grotesk", sans-serif;
    font-size: 30px;
    font-style: normal;
    font-weight: 300;
    line-height: 38px; /* 126.667% */
    text-align: center;
    margin: 0;
}

.contact-blocks-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columns */
    gap: 24px; /* Space between the blocks */
    width: 100%; /* Stretch across the container */
}

/* Individual Contact Block */
.contact-block {
	background: #fff;
    padding: 24px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 16px; /* Space between the contact details */
}

/* Contact Block Heading */
span.contact-block-heading {
    color: var(--Purple-500, #3F0077);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
}

/* Contact Details */
.contact-detail {
    display: flex;
    align-items: center;
    gap: 12px; /* Space between the icon and the text */
}
.contact-detail a:hover {
    text-decoration: underline;
    text-decoration-color: #EC008C;
	text-decoration-thickness:2px;
}
/* Contact Icons */
.contact-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* Contact Detail Text */
.contact-detail span, .contact-detail a {
    color: var(--Purple-500, #3F0077);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
	text-decoration: none;
}

span.address_field p {
	color: var(--Gray-800, #1D2939);

	/* Text sm/Regular */
	font-family: "Aktiv Grotesk";
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	margin: 0;
	padding-left: 32px;
}

a.contact-link {
    color: var(--Purple-500, #3F0077);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none;
    margin: 0;
    padding-left: 32px;
}

a.contact-link:hover {
    text-decoration: underline;
    text-decoration-color: #EC008C;
	text-decoration-thickness:2px;
}

/*Subpage Contact Footer Block*/
.contact-us-footer-block.subpage {
    background: none;
    align-items: flex-start;
}

.contact-us-footer-block .block-title {
    width: 100%;
    max-width: 1560px;
    margin: 0 auto;
    text-align: left;
}

.subpage .contact-block {
    border-radius: 8px;
    border: 4px solid var(--Light-Blue-200, #B2DDEE);
}


/* Footer General Styles */
.site-footer {
    background: linear-gradient(313deg, #1D3C94 24.08%, #3F0077 63%);
    padding: 72px 88px;
    color: #fff;
}

/* Footer Container - 4 Columns */
.footer-container {
    display: flex;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}

.footer-widget {
    flex: 1 1 calc(25% - 32px); /* 4 columns with spacing */
    min-width: 200px;
}

/* Footer Logo */
.footer-logo img {
    max-width: 160px;
    height: auto;
}

/* Footer Socials */
.footer-socials {
    display: flex;
    gap: 16px;
    margin: 16px 0;
}

.social-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--Turquoise-300, #4DC1C1);
}

.social-icon:hover {
    background-color: #F9B462;
}

.social-icon img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* Footer Text */
.footer-text {
	color: var(--Base-White, #FFF);

	/* Text xs/Regular */
	font-family: "Aktiv Grotesk";
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 18px; /* 150% */
}

/* Footer Headings */
.footer-heading {
    color: var(--Orange-400, #F9B462);
    font-family: 'Aktiv Grotesk Light';
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 32px;
    margin-bottom: 16px;
}

/* Footer Links */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 8px;
}

.footer-links a {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s;
}

.footer-links a:hover {
    text-decoration: underline;
    text-decoration-color: #EC008C;
	text-decoration-thickness:2px;
}

.footer-copyright-container {
    display: flex;
    padding: 24px 56px;
    justify-content: space-between;
    align-items: center;
    background: var(--Purple-10, #F5F2F8);
    align-self: stretch;
}

p.copyright-text {
    color: var(--Gray-600, #475467);
    font-family: "Aktiv Grotesk";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px;
	display: flex;
	gap: 16px;
}

.footer-copyright {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
p.copyright-text a {
    text-decoration: none;
    color: var(--Gray-600, #475467);
}

p.copyright-text a:hover {
    text-decoration: underline;
    text-decoration-color: #EC008C;
    text-decoration-thickness: 2px;
}

.copyright-right p {
	color: var(--Gray-600, #475467);
	/* Text xs/Regular */
	font-family: "Aktiv Grotesk";
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 18px; /* 150% */
}

.copyright-right a {
    color: var(--Gray-600, #475467);
    text-decoration: none;
}

.copyright-right a:hover {
    text-decoration: underline;
    text-decoration-color: #EC008C;
    text-decoration-thickness: 2px;
}


/* News------*/
.news-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 56px 72px;
    gap: 16px;
    align-self: stretch;
}

.news-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%; /* Ensure the header takes full width */
    margin-bottom: 16px; /* Adjust the space between header and news items */
}

.news-header .news-heading {
	color: var(--Blue-500, #1D3C94);

	/* Display sm/Light */
	font-family: "Aktiv Grotesk";
	font-size: 30px;
	font-style: normal;
	font-weight: 300;
	line-height: 38px; /* 126.667% */
}

.view-all-news {
	text-transform: none;
    display: flex;
    align-items: center;
    color: var(--Purple-500, #3F0077);

	/* Text sm / Bold */
	font-family: "Aktiv Grotesk";
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: 20px; /* 142.857% */
}

.view-all-news:hover {
    text-decoration: underline;
}

.news-content {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    width: 100%; /* Ensure the content takes full width */
}

.news-item {
    width: calc(33.333% - 20px);
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    background: var(--Blue-50, #F4F5FA);
}

.news-item:hover {
    border: solid 4px var(--Turquoise-300, #4DC1C1);
}

.news-image img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    object-position: center center;	
    border-radius: 8px 8px 0 0;
}

.news-details {
    padding: 24px;
}

.news-date {
    color: var(--Gray-700, #344054);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}
.news-read-time {
    color: var(--Gray-500, #667085);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.news-title {
    font-size: 18px;
    font-weight: bold;
    margin-top: 10px;
}

.news-title a {
	color: var(--Purple-500, #3F0077);
	font-family: "Aktiv Grotesk";
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 24px;
	text-decoration: none;
}


/*Stories*/
.stories-container {
	position: relative; 
	padding-bottom: 200px;
	padding: 72px 96px;
	background-image: url('/wp-content/themes/diabetesireland/images/stories_gradient_background.svg');
	background-repeat: no-repeat;
	background-repeat: no-repeat;
    background-size: cover;
}

.heading-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 32px;
}

.stories-container .heading-container {
    padding-right: 0;
}

.heading-container h2 {
	color: var(--Blue-500, #1D3C94);
    font-family: 'Aktiv Grotesk Light';
	font-size: 36px;
	font-style: normal;
	font-weight: 300;
	line-height: 0;
	letter-spacing: -0.72px;
}

.background-image-section {
	height: 740px;
	background-size: cover;
	background-position: center top;
	border-radius: 12px;
	position: relative;
	z-index: 1;
	margin-top: 16px;
}

.story-thumbnail {
    max-width: 368px;
	background: white;
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 20px;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05);
	margin-right: 16px;
}

.story-button {
	display: flex;
	max-width: 138px;
	padding: 10px 24px;
	background: var(--Purple-400, #653392);
	color: #fff;
	border-radius: 100px;
	text-decoration: none;
	font-family: "Aktiv Grotesk";
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	line-height: 18px; /* 150% */
	    flex-wrap: nowrap;
}

.story-button:hover {
    background: #1D3C94;
}

.story-slider button {
    background-color: transparent;
    width: 48px;
}

.story-slider button.slick-disabled{
    display: none;
}

.slider_overlap_container{
    display: flex;
    height: 100%;
    align-items: end;
    position: relative;
}

.story-slider{
    position: static !Important;
}

.slider-overlap {
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 2;
}

.story-content p{
	color: var(--Gray-600, #475467);
	font-family: "Aktiv Grotesk";
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px; /* 142.857% */
	margin: 0 0 8px;
}

a.view-all-desktop {
    color: var(--Purple-500, #3F0077);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    text-decoration: none;
    line-height: 20px;
	display: flex;
    align-items: center;
	padding:16px;
}
a.view-all-desktop:hover {
    background: #B2DDEE;
    border-radius: 100px;
    padding: 16px;
}

a.view-all-mobile {
    display:none;
}
/* Dots container */
.slick-dots {
    position: absolute;
    bottom: -64px !important; /* Adjust as needed */
    width: 100%;
    text-align: center;
    padding: 0;
    margin: 0;
    list-style: none;
	right: 96px;
}

/* Default (non-active) dot */
.slick-dots li button.custom-dot {
    width: 14px;
    height: 14px;
    border-radius: 100px;
    border: 2px solid var(--Blue-500, #1D3C94)!important;
    background: transparent !important;
    cursor: pointer;
    transition: background 0.3s ease;
}

/* Active dot */
.slick-dots li.slick-active button.custom-dot {
    background: var(--Blue-500, #1D3C94)!important;
}
.slick-dots li button:before {
	content:'' !important;
}

.story-slider .slick-next:before, 
.story-slider .slick-prev:before{
    display: none;
}

/*Icons and Effects */
.arrow-purple::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M3.33331 8H12.6666M12.6666 8L7.99998 3.33333M12.6666 8L7.99998 12.6667" stroke="%233F0077" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;
  background-size: contain;
  display: flex;
  align-items: center;
}

.arrow-white::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M3.33337 8.00001H12.6667M12.6667 8.00001L8.00004 3.33334M12.6667 8.00001L8.00004 12.6667" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;  background-size: contain;
  display: flex;
  align-items: center;
}

.tick-green::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 6px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M13.3333 4L5.99996 11.3333L2.66663 8" stroke="%23429187" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;
  background-size: contain;
}

a.cta-button.purple:hover {
     box-shadow: inset 0 0 0 4px var(--Turquoise-300, #4DC1C1); 
}

a.member-button:hover, 
a.cta-button.transparent_purple_border:hover, a.donate-button:hover {
     box-shadow: inset 0 0 0 4px var(--Turquoise-300, #4DC1C1); 
	 border: 1px solid #4DC1C1;
}


/* FAQ Component Styles */
.faq-section {
    align-items: stretch;
    align-self: stretch;
    display: flex;
    padding: 80px 256px;
    flex-direction: column;
    overflow: hidden;
    font-family: Aktiv Grotesk, -apple-system, Roboto, Helvetica, sans-serif;
    color: #3f0077;
    font-weight: 700;
    justify-content: start;
    background-color: #f5f2f8;
    min-height: fit-content;
}

.faq-header {
    margin-bottom: 16px;
}

.faq-header .main-title{
    text-align: left;
    margin-bottom: 24px;
}

.main-title {
    color: #3f0077;
    font-size: 30px;
    line-height: 1;
    margin: 0;
    font-weight: 700;
}
.subtitle {
    color: #344054;
    font-size: 24px;
    font-weight: 300;
    line-height: 32px;
    margin: 16px 0 0 0;
}

.description {
    color: #344054;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    margin: 16px 0 0 0;
}
.faq-content {
    width: 100%;
}

.faq-list {
    width: 100%;
}
.faq-item {
    border-radius: 8px;
    margin-top: 16px;
    width: 100%;
    padding: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: #fff;
    border: 4px solid transparent;
    outline: none;
}

/*.faq-item:hover {
    box-shadow: 0 4px 12px rgba(63, 0, 119, 0.1);
}*/

.faq-item[aria-expanded="true"] {
    border: 4px solid #00a7a6;
}

.faq-question-header {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 40px;
    font-size: 18px;
    line-height: 1;
    justify-content: space-between;
    flex-wrap: wrap;
}
.question-text {
    color: var(--Purple-500, #3F0077);

	/* Text lg/Bold */
	font-family: "Aktiv Grotesk";
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 24px; /* 133.333% */
    align-self: stretch;
    margin: auto 0;
    flex: 1;
}

.expand-icon {
    align-self: stretch;
    margin: auto 0;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
    color: #3f0077;
}

.expand-icon.rotated {
    transform: rotate(180deg);
}

.faq-answer {
	color: var(--Gray-700, #344054);

	/* Text md/Regular */
	font-family: "Aktiv Grotesk";
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px; /* 137.5% */
    margin-top: 16px;
    display: none;
}

.faq-answer.visible {
    display: block;
}

.answer-footer {
    align-self: start;
    display: flex;
    margin-top: 8px;
    padding-top: 2px;
    flex-direction: column;
    align-items: stretch;
    font-size: 14px;
    line-height: 1;
    justify-content: center;
}

.read-more-link {
    color: #3f0077;
    display: flex;
    gap: 4px;
    cursor: pointer;
    text-decoration: none;
    border: none;
    background: none;
    padding: 0;
    font-size: 14px;
    font-family: inherit;
    font-weight: 700;
}

.read-more-link:hover {
    text-decoration: underline;
}

.more-questions-section {
    align-self: start;
    margin-top: 32px;
    font-size: 14px;
    color: #fff;
    line-height: 1;
}

.more-questions-btn {
    border-radius: 100px;
    display: flex;
    min-height: 52px;
    padding: 14px 24px;
    align-items: center;
    gap: 8px;
    justify-content: center;
    background: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    font-weight: 700;
	max-width: 335px;
	text-decoration: none;
}

/*.more-questions-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(63, 0, 119, 0.3);
}
*/

.more-questions-btn:hover {
    box-shadow: inset 0 0 0 4px var(--Turquoise-300, #4DC1C1);
}

.more-questions-btn:focus {
    outline: 2px solid #3f0077;
    outline-offset: 2px;
}
.button-icon {
    align-self: stretch;
    margin: auto 0;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

/* Screen reader only content */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Focus management */
.faq-item:focus-visible {
    outline: 2px solid #3f0077;
    outline-offset: 2px;
}

/* Animation for smooth expand/collapse */
.faq-answer {
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
    max-height: 0;
    opacity: 0;
}

.faq-answer.visible {
    max-height: 500px;
    opacity: 1;
}

/**Subpage FAQS*/
section.faq-section.no-background {
    background-color: #fff;
    padding: 56px 160px;
	min-height: fit-content;
}
section.faq-section.no-background .faq-item {
    max-width: 100%;
	background: var(--Light-Blue-50, #E5F4F9);
}

section.faq-section.no-background .faq-item:hover {
    background: var(--Light-Blue-50, #B2E5E4);
}

p.faqs-first-par {
    color: var(--Gray-700, #344054);
    font-family: 'Aktiv Grotesk Light';
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    padding: 16px 0;
    line-height: 32px;
}

.faqs-second-par p {
    display: block;
    color: var(--Gray-700, #344054);
    font-family: "Aktiv Grotesk";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    margin-bottom: 16px;
}

/*Get in touch */

.contact_form .container {
    border-radius: 16px;
    background: var(--Blue-50, #F4F5FA);
}

.contact_form h2.content_heading {
    color: var(--Blue-500, #1D3C94);
    font-family: "Aktiv Grotesk";
    font-size: 30px;
    font-style: normal;
    font-weight: 300;
    line-height: 38px;
}
.column-description {
    color: var(--Gray-800, #1D2939);
    font-family: "Aktiv Grotesk";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;

}

section.one-column-section.contact_form {
    padding-bottom: 56px;
}

input#gform_submit_button_2 {
    border-radius: 100px;
    background: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
    color: #FFF;
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    margin-top: 16px;
}

.contact_form p {
    color: var(--Gray-800, #1D2939);
    font-family: "Aktiv Grotesk";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
	padding-bottom:16px;
}



/*News Listing*/
/* Reset and base styles */

/* Main container */
.listing-container {
    display: flex;
    padding: 56px 72px 72px 72px;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    background-color: #fff;
}

/* Filters and search section - NO CHANGES NEEDED */
.filters-search-section {
    display: flex;
    padding-bottom: 16px;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.filters-container {
    display: flex;
    align-items: center;
    gap: 16px;
}

.filter-label {
    color: #344054;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}

.filter-pills {
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-pill {
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    color: #3f0077;
    height: 36px;
    padding: 8px 16px;
    gap: 8px;
    border-radius: 100px;
    background-color: #e8ebf4;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.filter-pill.active {
    color: #344054;
    border: 2px solid #653392;
    background-color: transparent;
}

.filter-pill:hover {
    background-color: #d4d9e8;
}


/* Search container - NO CHANGES NEEDED */
.search-container {
    display: flex;
    align-items: center;
}

.search-input-wrapper {
    display: flex;
    width: 296px;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.input-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    width: 100%;
}

.input-field {
    display: flex;
    height: 52px;
    padding: 12px 16px;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    border-radius: 100px 0px 0px 100px;
    border-top: 1px solid #667085;
    border-bottom: 1px solid #667085;
    border-left: 1px solid #667085;
    border-right: none;
    gap: 8px;
}


.search-input {
    flex: 1;
    border: none;
    outline: none;
    color: #344054;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    background: transparent;
}

.search-input::placeholder {
    color: #98a2b3;
}

.search-button {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    height: 52px;
    padding: 16px 24px;
    gap: 8px;
    border-radius: 0px 100px 100px 0px;
    background: linear-gradient(90deg, #653392 17.5%, #1d3c94 93%);
    border: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.search-button:hover {
    opacity: 0.9;
}


/* --- CSS ADAPTED --- */
/* Blog items section */
.blog-items-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
}

.blog-items-section .section-title{
    color: var(--Purple-500, #3F0077);
}

/* Replaced .blog-row with .blog-grid using CSS Grid */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 100%;
}

.blog-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-radius: 8px;
    background-color: #f4f5fa;
    overflow: hidden;
    /* This ensures cards in the same row have the same height */
    height: 100%;
}

.blog-card:hover{
    background-color: #D9F2F1;
}

/* --- THE REST OF THE BLOG STYLES MATCH THE PHP STRUCTURE --- */
.blog-image {
    display: flex;
    height: 232px;
    padding: 24px 0px;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

/* Make the image itself a clickable link area */
.blog-image-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.blog-tag {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
    padding: 4px 12px;
    gap: 4px;
    border-radius: 0px 100px 100px 0px;
    /* z-index needed to appear above the image link overlay */
    position: relative;
    z-index: 1;
}

.news-tag {
    background-color: #3f0077;
}

.event-tag {
    background: linear-gradient(90deg, #00a7a6 0%, #1d3c94 100%);
}
.story-tag {
    background: #233b94;
}
p.blog-excerpt {
    color: var(--Gray-700, #344054);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}
.blog-content {
    display: flex;
    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    /* Flex-grow allows content to fill space, pushing button to bottom */
    flex-grow: 1;
}

.blog-date {
    color: #344054;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}

.blog-title {
    width: 100%;
    color: #3f0077;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    margin: 0;
}

.blog-title a:hover {
    text-decoration: underline;
}

.blog-description {
    width: 100%;
    color: #344054;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    margin: 0;
}

.blog-button-wrapper {
    display: flex;
    padding-top: 8px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    /* Pushes this to the bottom of the flex container */
    margin-top: auto;
}
span.button-text-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.read-more-button {
    display: flex;
    height: 38px;
    padding: 16px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    background: linear-gradient(90deg, #653392 17.5%, #1d3c94 93%);
    border: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.read-more-button:hover {
    opacity: 0.9;
}

.button-arrow {
    width: 9px;
    height: 9px;
    flex-shrink: 0;
    color: white;
	display: inline-block;
}

.button-text {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
}

/* --- CSS ADAPTED --- */
/* Pagination section - Rewritten to target the ul > li structure */
.pagination-section {
    display: flex;
    padding-top: 24px;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.pagination-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
}

.pagination-item {
    display: inline-block;
}

/* Base style for all pagination elements */
.page-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: none;
    background: none;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
}

/* Styles for the "Back" and "Next" buttons */
.page-link.prev,
.page-link.next {
    gap: 4px;
}

.page-link.prev {
    padding: 4px 8px 4px 4px;
}

.page-link.next {
    padding: 4px 4px 4px 10px;
}

.page-link:hover {
    opacity: 0.7;
}

.page-link .pagination-icon {
    width: 8px;
    height: 16px;
    flex-shrink: 0;
	margin: 10px;
}

/* Color for the navigation text */
.page-link.prev .nav-text {
    color: #344054;
}

.page-link.next .nav-text {
    color: #3f0077;
}

/* For disabled prev/next links */
span.page-link.prev .nav-text,
span.page-link.next .nav-text {
    color: #d0d5dd;
}
span.page-link.prev,
span.page-link.next {
    cursor: default;
    opacity: 0.6;
}


/* Styles for the page numbers */
.page-link:not(.prev):not(.next) {
    width: 48px;
    height: 48px;
    border-radius: 100px;
    color: #344054;
}

.page-link:not(.prev):not(.next):hover {
    background-color: #f0f0f0;
    opacity: 1;
}

/* Style for the active/current page number */
.page-link.active {
    color: #3f0077;
    font-weight: 700;
    background-color: #e8ebf4;
}

/* Style for the ellipsis (...) */
.page-link.dots {
    color: #3f0077;
    cursor: default;
    width: 24px;
}
.page-link.dots:hover {
    background-color: transparent;
    opacity: 1;
}

/*Team Page*/
.team-section {
    padding: 56px 20px;
    max-width: 1560px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.section-header {
    width: 100%;
    font-family: Aktiv Grotesk, -apple-system, Roboto, Helvetica, sans-serif;
    z-index: 1;
}

.section-title {
    color: #1d3c94;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
    margin: 0;
}

.section-description {
    color: #344054;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    margin: 8px 0 0 0;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 24px;
    margin-top: 32px;
    width: 100%;
}

.team-member {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.member-image {
    border-radius: 8px;
    width: 100%;
    overflow: hidden;
}

.member-photo {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 0.82;
    object-fit: cover;
    object-position: center;
}

.member-info {
    margin-top: 16px;
    width: 174px;
    max-width: 100%;
    font-family: Aktiv Grotesk, -apple-system, Roboto, Helvetica, sans-serif;
    color: #344054;
}

.member-name {
    color: #344054;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    margin: 0;
}

.member-title {
    color: #344054;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    margin: 4px 0 0 0;
}

.placeholder-image {
    padding: 65px 7px 0 7px;
    justify-content: flex-end;
    align-items: stretch;
    border-radius: 8px;
    display: flex;
    width: 100%;
    flex-direction: column;
    overflow: hidden;
    background-color: #e8ebf4;
}

.placeholder-circle-top {
    background-color: #d2d8ea;
    border-radius: 50%;
    align-self: center;
    display: flex;
    width: 110px;
    flex-shrink: 0;
    height: 110px;
}

.placeholder-circle-bottom {
    background-color: #d2d8ea;
    border-radius: 50%;
    display: flex;
    margin-top: 16px;
    flex-shrink: 0;
    height: 129px;
}

/* Focus styles for accessibility */
.team-member:focus-within {
    outline: 2px solid #1d3c94;
    outline-offset: 2px;
}

.member-photo:focus {
    outline: 2px solid #1d3c94;
    outline-offset: 2px;
}

/* Ensure proper contrast and readability */
.member-name,
.member-title {
    text-rendering: optimizeLegibility;
}


/* 2 Columns Text*/
.two-columns-section {
    max-width: none;
    margin: 0 auto;
    display: flex;
    padding: 64px 160px 64px 160px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 24px;
    align-self: stretch;
    position: relative;
    font-family: "Aktiv Grotesk", sans-serif;
    background-color: #fff;
}

.section-title {
    align-self: stretch;
    color: #3f0077;
    font-family: "Aktiv Grotesk", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 32px;
    position: relative;
    margin: 0;
}

.section-subtitle {
    align-self: stretch;
    color: #475467;
    font-family: "Aktiv Grotesk", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    position: relative;
    margin: 0;
}

.columns-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 56px;
    align-self: stretch;
    position: relative;
}

.column-content {
    flex: 1 0 0;
    color: #344054;
    font-family: "Aktiv Grotesk", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    position: relative;
}

.column-content ul{
    margin: 0;
}

section.one-column-section p a:hover{
    text-decoration: underline;
}

.column-content ul li a:hover{
    text-decoration: underline;
}

/* Resource Page */
.page-id-287 .page-header .container {
	display:none;
}

.hero-container {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    padding: 80px;
    overflow: hidden;
}


.hero-background-image {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.hero-content {
    position: relative;
    display: flex;
    width: 100%;
    padding: 0 80px;
    align-items: center;	
    gap: 40px 72px;
    justify-content: space-between;
    flex-wrap: wrap;
}


.hero-text-container {
    border-radius: 8px;
    align-self: stretch;
    display: flex;
    min-width: 240px;
    margin: auto 0;
    flex-direction: column;
    align-items: stretch;
    font-weight: 700;
    justify-content: start;
    width: 528px;
}


.breadcrumb-navigation {
    align-self: start;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #475467;
    justify-content: start;
}

.breadcrumb-item {
    align-self: stretch;
    margin: auto 0;
}

.breadcrumb-separator {
    aspect-ratio: 1;
    object-fit: contain;
    object-position: center;
    width: 16px;
    align-self: stretch;
    margin: auto 0;
    flex-shrink: 0;
}

.current-page {
    color: #667085;
    font-weight: 400;
    align-self: stretch;
    margin: auto 0;
}

.hero-title {
    color: #3f0077;
    font-size: 48px;
    line-height: 1;
    letter-spacing: -0.96px;
    margin-top: 8px;
    margin-bottom: 0;
}

.hero-description {
    color: #1d2939;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    margin-top: 8px;
    margin-bottom: 0;
}

/* Resource Items Section */
.resource-items-section {
    display: flex;
    margin-top: 16px;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    justify-content: start;
}

.resource-items-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 100%;
}
/* Resource Item */
.resource-item {
    border-radius: 8px;
    min-width: 240px;
    overflow: hidden;
    background-color: #f4f5fa;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.resource-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.resource-image-container {
    display: flex;
    flex-direction: column;
    position: relative;
    aspect-ratio: 1.565;
    min-height: 232px;
    width: 100%;
    padding: 24px 0 182px;
    align-items: start;
    gap: 10px;
    overflow: hidden;
    font-size: 12px;
    color: #fff;
    font-weight: 700;
    justify-content: start;
}
.resource-image {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.resource-tag {
    position: relative;
    align-self: stretch;
    border-radius: 0px 100px 100px 0px;
    padding: 4px 12px;
    gap: 4px;
    overflow: hidden;
    z-index: 1;
}

.tag-type-1 {
    background-color: #3f0077;
    color: #fff;
}

.tag-type-2 {
    background: linear-gradient(90deg, #00a7a6 0%, #1d3c94 100%);
    color: #fff;
}

.tag-type-3 {
    background-color: #b2e5e4;
    color: #004b4a;
}

.tag-type-4 {
    background-color: #f9b462;
    color: #000;
}

.tag-type-5 {
    background-color: #b2ddee;
    color: #1d3c94;
}

/* Resource Content */
.resource-content {
    display: flex;
    width: 100%;
    padding: 24px;
    flex-direction: column;
    align-items: stretch;
    font-size: 14px;
    color: #344054;
    font-weight: 400;
    justify-content: start;
}

.resource-date {
    color: #344054;
    align-self: start;
    gap: 8px;
    line-height: 1;
}

.resource-title {
    color: #3f0077;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    margin: 8px 0;
}

.resource-description {
    color: #344054;
    line-height: 20px;
    margin: 8px 0;
}

.resource-button-wrapper {
    align-self: start;
    margin-top: 8px;
    padding-top: 8px;
    font-size: 12px;
    color: #fff;
    font-weight: 700;
}

.resource-button {
    border-radius: 100px;
    display: flex;
    min-height: 38px;
    padding: 10px 16px;
    align-items: center;
    gap: 8px;
    justify-content: center;
    background-color: #3f0077;
    color: #fff;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.resource-button:hover {
    background-color: #2d0055;
}

.resource-button:focus {
    outline: 2px solid #653392;
    outline-offset: 2px;
}
.resource-listing {
    padding: 56px 72px 72px 72px;
}

.research-search-container {
    box-shadow: 0px 0px 30px rgba(63, 0, 119, 0.12);
    align-self: stretch;
    display: flex;
    margin: auto 0;
    align-items: stretch;
    font-size: 14px;
    line-height: 1;
    justify-content: start;
    flex-wrap: wrap;
}
.research-search-input-wrapper {
    min-width: 240px;
    color: #98a2b3;
    font-weight: 400;
    flex: 1;
    flex-shrink: 1;
    flex-basis: 48px;
	box-shadow: 0px 0px 30px rgba(63, 0, 119, 0.12);
}
.research-input-container {
    width: 100%;
    flex: 1;
}

.research-input-field-container {
    justify-content: space-between;
    align-items: center;
    border-radius: 4px 0px 0px 4px;
    background-color: #fff;
    display: flex;
    width: 100%;
    padding: 12px 16px;
    flex: 1;
    height: 100%;
}

.research-input-content {
    align-self: stretch;
    display: flex;
    min-width: 240px;
    margin: auto 0;
    width: 100%;
    align-items: center;
    gap: 8px;
    justify-content: start;
    flex: 1;
    flex-shrink: 1;
    flex-basis: 0%;
}

.research-search-icon {
    aspect-ratio: 1;
    object-fit: contain;
    object-position: center;
    width: 24px;
    align-self: stretch;
    margin: auto 0;
    flex-shrink: 0;
}

.research-search-input {
    align-self: stretch;
    margin: auto 0;
    flex: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    border: none;
    outline: none;
    background: transparent;
    color: #98a2b3;
    font-size: 14px;
    font-weight: 400;
    font-family: inherit;
}

.research-search-input::placeholder {
    color: #98a2b3;
}

.research-search-input:focus {
    color: #1d2939;
}

.research-search-button {
    align-self: stretch;
    border-radius: 0px 100px 100px 0px;
    padding: 18px 24px;
    gap: 8px;
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
    height: 100%;
    border: none;
    background: linear-gradient(135deg, #3f0077 0%, #5a0099 100%);
    cursor: pointer;
    font-size: 14px;
    font-family: inherit;
    transition: background 0.2s ease;
	box-shadow: 0px 0px 30px rgba(63, 0, 119, 0.12);
}

.research-search-button:hover {
    background: linear-gradient(135deg, #350066 0%, #4a0088 100%);
}

.research-search-button:focus {
    outline: 2px solid #3f0077;
    outline-offset: 2px;
}
.research-input-content input.research-search-input {
    border: none;
}

/* Filters Section */
.research-filters-section {
    width: 100%;
    padding-bottom: 16px;
}

.research-filter-controls {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 40px 100px;
    font-size: 14px;
    line-height: 1;
    justify-content: space-between;
    flex-wrap: wrap;
}

.research-filter-group {
    align-self: stretch;
    display: flex;
    min-width: 240px;
    margin: auto 0;
    align-items: center;
    gap: 16px;
    justify-content: start;
    flex-wrap: wrap;
}

.research-filter-label {
    color: #344054;
    font-weight: 400;
    align-self: stretch;
    margin: auto 0;
}

.research-filter-pills {
    align-self: stretch;
    display: flex;
    min-width: 240px;
    margin: auto 0;
    align-items: center;
    gap: 8px;
    color: #3f0077;
    font-weight: 500;
    justify-content: start;
    flex-wrap: wrap;
}

.research-filter-pill {
    color: #3f0077;
    border-radius: 100px;
    align-self: stretch;
    margin: auto 0;
    min-height: 36px;
    padding: 8px 16px;
    background-color: #e8ebf4;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.research-filter-pill.active {
    color: #344054;
    border: 2px solid var(--Gradient-Purple-1, #653392);
    background-color: transparent;
}

.research-filter-pill:hover {
    opacity: 0.8;
}

.research-filter-pill:focus {
    outline: 2px solid #653392;
    outline-offset: 2px;
}
/* Sort Controls */
.research-sort-controls {
    align-self: stretch;
    display: flex;
    margin: auto 0;
    align-items: center;
    gap: 16px;
    font-weight: 400;
    justify-content: start;
}

.research-sort-label {
    color: #344054;
    align-self: stretch;
    margin: auto 0;
}

.research-dropdown-wrapper {
    position: relative;
    align-self: stretch;
    margin: auto 0;
    color: #98a2b3;
    white-space: nowrap;
    width: 160px;
}

.research-sort-dropdown {
    width: 100%;
    justify-content: space-between;
    align-items: center;
    border-radius: 4px;
    border: 1px solid var(--Gray-500, #667085);
    display: flex;
    min-height: 52px;
    padding: 14px 16px;
    color: #98a2b3;
    background-color: transparent;
    appearance: none;
    cursor: pointer;
}

.research-sort-dropdown:focus {
    outline: 2px solid #653392;
    outline-offset: 2px;
}

.research-dropdown-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    aspect-ratio: 1;
    object-fit: contain;
    object-position: center;
    width: 24px;
    pointer-events: none;
}
/* Pagination */
.pagination {
    align-self: center;
    display: flex;
    margin-top: 48px;
    align-items: center;
    gap: 32px;
    font-size: 16px;
    color: #3f0077;
    font-weight: 500;
    white-space: nowrap;
    line-height: 1;
    justify-content: center;
    flex-wrap: wrap;
}

.pagination-nav {
    align-self: stretch;
    display: flex;
    margin: auto 0;
    padding: 4px 8px 4px 4px;
    align-items: center;
    gap: 4px;
    color: #3f0077;
    justify-content: start;
    background: none;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.pagination-nav:hover:not(.disabled) {
    opacity: 0.8;
}

.pagination-nav:focus {
    outline: 2px solid #653392;
    outline-offset: 2px;
}

.pagination-nav.disabled {
    color: #d0d5dd;
    cursor: not-allowed;
}

.pagination-icon {
    aspect-ratio: 1;
    object-fit: contain;
    object-position: center;
    width: 32px;
    align-self: stretch;
    margin: auto 0;
    flex-shrink: 0;
}

.pagination-text {
    align-self: stretch;
    margin: auto 0;
}

.pagination-numbers {
    align-self: stretch;
    display: flex;
    min-width: 240px;
    margin: auto 0;
    align-items: center;
    gap: 8px;
    justify-content: start;
}

.pagination-number {
    color: #3f0077;
    border-radius: 100px;
    align-self: stretch;
    margin: auto 0;
    min-height: 48px;
    width: 48px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
}

.pagination-number:hover:not(.disabled) {
    background-color: #f0f0f0;
}

.pagination-number:focus {
    outline: 2px solid #653392;
    outline-offset: 2px;
}

.pagination-number.disabled {
    color: #d0d5dd;
    cursor: not-allowed;
}

.pagination-ellipsis {
    color: #3f0077;
    align-self: stretch;
    margin: auto 0;
    padding: 4px 0;
    width: 24px;
    text-align: center;
}
/*Header*/
p.phone-number {
    padding-right: 0 !important;
	color: var(--Purple-500, #3F0077);

	/* Display xs/Bold */
	font-family: "Aktiv Grotesk";
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 32px; /* 133.333% */
}

.call-info {
    display: flex;
    align-items: center;
    gap: 16px;
    border-radius: 8px;
    background: var(--Base-White, #FFF);
    justify-content: flex-start;
    max-width: fit-content;
    padding: 16px;
    margin-top: 32px;
}

.icon-container {
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    border: 4px solid var(--Turquoise-50, #d9f2f1);
    display: flex;
    min-height: 40px;
    gap: 8px;
    width: 40px;
    height: 40px;
    background-color: #b2e5e4;
    flex-shrink: 0;
}

.call-icon {
    width: 20px;
    height: 20px;
}

.call-label {
    color: var(--Gray-800, #1D2939);

	/* Text md/Bold */
	font-family: "Aktiv Grotesk";
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 22px; /* 137.5% */
}



.no-space {
    padding: 0 !important;
}

.padding-top-56 {
	padding-top: 56px;
}


/* Fundraising Page */
.fundraising-listing {
    display: flex;
    padding: 0 72px 72px 72px;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
    background-color: #fff;
}

/* Header section */
.listing-header {
    width: 100%;
}

.main-title {
    width: 100%;
    color: #3f0077;
    text-align: center;
    font-family: "Aktiv Grotesk", sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 38px;
}

/* Content and image Gallery Section */
.strategy-vision-section {
    display: flex;
    padding: 64px 96px 64px 0;
    align-items: center;
    gap: 56px;
    align-self: stretch;
    position: relative;
    font-family: "Aktiv Grotesk", sans-serif;
    background-color: #fff;
}

/* Images Container */
.images-container {
    display: flex;
    width: 640px;
    height: 512px;
    align-items: flex-start;
    gap: 16px;
    position: relative;
}

/* Main Image */
.main-image-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1 0 0;
    align-self: stretch;
    position: relative;
    overflow: hidden;
    background-color: #f9fafb;
}

.main-image {
    width: 912px;
    height: 512px;
    position: absolute;
    top: 0;
    object-fit: cover;
}

/* Side Images Container */
.side-images-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
    flex: 1 0 0;
    align-self: stretch;
    position: relative;
}

/* Top Image */
.top-image-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 1 0 0;
    align-self: stretch;
    border-radius: 0 8px 0 0;
    position: relative;
    overflow: hidden;
    background-color: #f9fafb;
}

.top-image {
    width: 537px;
    height: 262px;
    position: absolute;
    left: 0;
    top: -12px;
    object-fit: cover;
}

/* Bottom Image */
.bottom-image-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 1 0 0;
    align-self: stretch;
    border-radius: 0 0 8px 0;
    position: relative;
    overflow: hidden;
    background-color: #f9fafb;
}

.bottom-image {
    width: 466px;
    height: 279px;
    position: absolute;
    left: 0;
    top: -12px;
    object-fit: cover;
}

/* Content Section */
.content-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex: 1 0 0;
    position: relative;
}

/* Section Heading */
.strategy-section-heading {
    align-self: stretch;
    color: #3f0077;
    position: relative;
    font: 700 30px/38px "Aktiv Grotesk", sans-serif;
    margin: 0;
}

/* Section Description */
.strategy-section-description {
    align-self: stretch;
    color: #344054;
    position: relative;
    font: 400 16px/22px "Aktiv Grotesk", sans-serif;
    margin: 0;
}
/* Button Container */
.strategy-button-container {
    display: flex;
    padding-top: 16px;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
    position: relative;
}

/* CTA Button */
.strategy-cta-button {
    display: flex;
    height: 52px;
    padding: 16px 24px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    border: 1px solid #3f0077;
    position: relative;
    cursor: pointer;
    background: transparent;
    transition: all 0.2s ease-in-out;
}

.strategy-cta-button:hover {
    background-color: #3f0077;
}

.strategy-cta-button:hover .button-text {
    color: #fff;
}

.strategy-cta-button:focus {
    outline: 2px solid #3f0077;
    outline-offset: 2px;
}

.strategy-cta-button:focus:not(:focus-visible) {
    outline: none;
}

.strategy-cta-button:focus-visible {
    outline: 2px solid #3f0077;
    outline-offset: 2px;
}

/* Button Text */
.strategy-button-text {
    color: #3f0077;
    position: relative;
    font: 700 14px/20px "Aktiv Grotesk", sans-serif;
    transition: color 0.2s ease-in-out;
}

/* Accessibility Improvements */
@media (prefers-reduced-motion: reduce) {
    .strategy-cta-button,
    .strategy-button-text {
        transition: none;
    }
}

/* Focus management for keyboard navigation */
.strategy-cta-button:focus-visible {
    box-shadow: 0 0 0 3px rgba(63, 0, 119, 0.3);
}

/* How We Help Section Styles */
.how-we-help-section {
    display: flex;
    padding: 72px 128px;
    justify-content: center;
    align-items: flex-start;
    gap: 72px;
    align-self: stretch;
    background: linear-gradient(90deg, #653392 0%, #3f0077 44%, #1d3c94 100%);
    position: relative;
}

.content-wrapper {
    display: flex;
    width: 100%;
    max-width: 1200px;
    gap: 72px;
    align-items: flex-start;
}

/* Section Header Styles */
.how-we-help-section-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    position: relative;
    max-width: 300px;
}

.section-title {
    color: #f9b462;
    position: relative;
    font: 300 30px/38px "Aktiv Grotesk", sans-serif;
    margin: 0;
}

.sub-donate-button {
    display: flex;
    height: 56px;
    padding: 16px 32px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    position: relative;
    cursor: pointer;
    background-color: #fff;
    border: none;
    transition: all 0.2s ease;
}

.sub-donate-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.sub-donate-button:focus {
    outline: 2px solid #f9b462;
    outline-offset: 2px;
}

.sub-donate-icon {
    width: 24px;
    height: 21px;
    flex-shrink: 0;
    fill: #3f0077;
}

.sub-button-text {
    color: #3f0077;
    position: relative;
    font: 700 16px/22px "Aktiv Grotesk", sans-serif;
}

/* Services Grid Styles */
.services-grid {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 56px;
    flex: 1 0 0;
    position: relative;
}

.services-row {
    display: flex;
    align-items: center;
    gap: 48px;
    align-self: stretch;
    position: relative;
}

/* Service Item Styles */
.service-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex: 1 0 0;
    position: relative;
}

.service-icon {
    display: flex;
    width: 56px;
    height: 56px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 100px;
    border: 4px solid #794da0;
    position: relative;
    background-color: #3f0077;
    flex-shrink: 0;
}

.service-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    flex: 1 0 0;
    position: relative;
}

/* Service Link Styles */
.service-link {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    border-radius: 100px;
    position: relative;
}

.service-link-anchor {
    display: flex;
    align-items: center;
    gap: 4px;
    position: relative;
    text-decoration: none;
    transition: all 0.2s ease;
}

.service-link-anchor:hover {
    transform: translateX(4px);
}

.service-link-anchor:focus {
    outline: 2px solid #f9b462;
    outline-offset: 2px;
    border-radius: 4px;
}

.service-title {
    color: #fff;
    position: relative;
    font: 700 16px/22px "Aktiv Grotesk", sans-serif;
}

.arrow-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    position: relative;
    transition: transform 0.2s ease;
}

.service-link-anchor:hover .arrow-icon {
    transform: translateX(4px);
}

.service-underline {
    text-decoration-line: underline;
    width: 1px;
    height: 1px;
    position: relative;
    background-color: #b2e5e4;
}

.service-description {
    align-self: stretch;
    color: #fff;
    position: relative;
    font: 400 16px/22px "Aktiv Grotesk", sans-serif;
    margin: 0;
}

/* Accessibility Enhancements */
@media (prefers-reduced-motion: reduce) {
    .sub-donate-button,
    .service-link-anchor,
    .arrow-icon {
        transition: none;
    }

    .sub-donate-button:hover {
        transform: none;
    }

    .service-link-anchor:hover {
        transform: none;
    }

    .service-link-anchor:hover .arrow-icon {
        transform: none;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .service-icon {
        border-width: 3px;
    }

    .sub-donate-button:focus,
    .service-link-anchor:focus {
        outline-width: 3px;
    }
}
/* Focus visible for better keyboard navigation */
.sub-donate-button:focus-visible,
.service-link-anchor:focus-visible {
    outline: 2px solid #f9b462;
    outline-offset: 2px;
}


/*Testimonial Section */

.testimonial-section {
  display: flex;
  padding: 64px 128px;
  align-items: center;
  gap: 56px;
  align-self: stretch;
  position: relative;
  background-color: #FFF;
}

.testimonial-image-container {
  min-height: 450px;
  position: relative;
  overflow: hidden;
  margin: 0;
}

.foreground-image {
  width: 892px;
  height: 470px;
  flex-shrink: 0;
  position: absolute;
  left: -178px;
  top: 0px;
}

.testimonial-content {
  display: flex;
  padding-right: 32px;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  flex: 1 0 0;
  position: relative;
}

.testimonial-quote {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
  position: relative;
  margin: 0;
}

.quote-mark-container {
  display: flex;
  width: 42px;
  justify-content: center;
  align-items: center;
  position: relative;
}

.quote-mark {
  width: 42px;
  height: 59px;
  flex-shrink: 0;
  color: #00A7A6;
  letter-spacing: -1.84px;
  position: absolute;
  left: 0px;
  top: -24px;
  font: 700 92px/90px 'Aktiv Grotesk',sans-serif;
}

.quote-text {
  flex: 1 0 0;
  letter-spacing: -0.72px;
  background: linear-gradient(90deg, #653392 11.5%, #1D3C94 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  font: 700 36px/44px 'Aktiv Grotesk',sans-serif;
  margin: 0;
}


.testimonial-details {
  display: flex;
  padding-left: 48px;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  align-self: stretch;
  position: relative;
}

.quote-body-container {
  display: flex;
  height: 96px;
  align-items: flex-start;
  gap: 16px;
  align-self: stretch;
  position: relative;
}

.quote-border {
  width: 2px;
  align-self: stretch;
  position: relative;
  background-color: #653392;
}

.quote-body {
  flex: 1 0 0;
  color: #344054;
  position: relative;
  font: 400 18px/24px 'Aktiv Grotesk',sans-serif;
  margin: 0;
}

.author-info {
  width: 488px;
  color: #344054;
  position: relative;
  font: 700 14px/20px 'Aktiv Grotesk',sans-serif;
  font-style: normal;
}

.company-logo {
  width: 187px;
  height: 70px;
  position: relative;
}

/*Timeline*/
.timeline-section {
    display: flex;
    width: 100%;
    padding: 56px 32px 88px 32px;
    flex-direction: column;
    align-items: center;
    gap: 48px;
    border-bottom: 8px solid #fff;
    font-family: "Aktiv Grotesk", -apple-system, Roboto, Helvetica, sans-serif;
    background-color: #f4f5fa;
}

@media (max-width: 991px) {
    .timeline-section {
        padding: 40px 24px 60px 24px;
        gap: 32px;
    }
}

@media (max-width: 640px) {
    .timeline-section {
        padding: 32px 16px 48px 16px;
        gap: 24px;
    }
}

.timeline-header {
    display: flex;
    padding: 0px 128px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
    max-width: 1216px;
}

@media (max-width: 991px) {
    .timeline-header {
        padding: 0px 64px;
        gap: 12px;
    }
}

@media (max-width: 640px) {
    .timeline-header {
        padding: 0px 16px;
        gap: 8px;
    }
}

.timeline-title {
    width: 100%;
    color: #3f0077;
    font-size: 30px;
    font-weight: 700;
    line-height: 38px;
    margin: 0;
}

@media (max-width: 991px) {
    .timeline-title {
        font-size: 26px;
        line-height: 34px;
    }
}

@media (max-width: 640px) {
    .timeline-title {
        font-size: 22px;
        line-height: 28px;
    }
}

.timeline-description {
    width: 100%;
    color: #475467;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    margin: 0;
}

@media (max-width: 991px) {
    .timeline-description {
        font-size: 18px;
        line-height: 24px;
    }
}

@media (max-width: 640px) {
    .timeline-description {
        font-size: 16px;
        line-height: 22px;
    }
}

.timeline-subdescription {
    width: 100%;
    color: #344054;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    margin: 0;
}

@media (max-width: 991px) {
    .timeline-subdescription {
        font-size: 15px;
        line-height: 20px;
    }
}

@media (max-width: 640px) {
    .timeline-subdescription {
        font-size: 14px;
        line-height: 18px;
    }
}

.timeline-content {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    position: relative;
    width: 100%;
    max-width: 1116px;
}

@media (max-width: 991px) {
    .timeline-content {
        flex-direction: column;
        gap: 24px;
        align-items: center;
    }
}

.timeline-column {
    display: flex;
    width: 500px;
    flex-direction: column;
    position: relative;
}

@media (max-width: 991px) {
    .timeline-column {
        width: 100%;
        max-width: 500px;
        position: static;
    }
}

.timeline-card {
    display: flex;
    width: 500px;
    padding: 32px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    border-radius: 8px;
    background-color: #fff;
    position: absolute;
}

@media (max-width: 991px) {
    .timeline-card {
        position: static;
        margin-bottom: 24px;
        top: auto;
    }
}

@media (max-width: 640px) {
    .timeline-card {
        width: 100%;
        padding: 24px;
        gap: 6px;
    }
}

.timeline-card-first {
    top: 0px;
}

.timeline-card-second {
    top: 510px;
}

.timeline-card-third {
    top: 252px;
}

.timeline-card-fourth {
    top: 770px;
}

.card-headline {
    width: 100%;
    color: #1d3c94;
    font-size: 20px;
    font-weight: 700;
    line-height: 26px;
    margin: 0;
}

@media (max-width: 640px) {
    .card-headline {
        font-size: 18px;
        line-height: 24px;
    }
}

.card-description {
    width: 100%;
    color: #1d2939;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    margin: 0;
}

@media (max-width: 640px) {
    .card-description {
        font-size: 15px;
        line-height: 20px;
    }
}

.card-button-wrapper {
    display: flex;
    padding-top: 8px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.timeline-button {
    display: flex;
    height: 52px;
    padding: 16px 24px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    background: linear-gradient(90deg, #653392 17.5%, #1d3c94 93%);
    cursor: pointer;
    border: none;
    transition: opacity 0.2s ease;
}

.timeline-button:hover {
    opacity: 0.9;
}

.timeline-button:focus {
    outline: 2px solid #1d3c94;
    outline-offset: 2px;
}

@media (max-width: 640px) {
    .timeline-button {
        height: 48px;
        padding: 14px 20px;
    }
}

.button-text {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    margin: 0;
}

@media (max-width: 640px) {
    .button-text {
        font-size: 13px;
        line-height: 18px;
    }
}

.timeline-track {
    width: 100px;
    position: relative;
    height: 1026px;
}

@media (max-width: 991px) {
    .timeline-track {
        width: 100%;
        height: auto;
        order: 2;
		display: none;
    }
}

.timeline-line {
    width: 1px;
    height: 779px;
    position: absolute;
    left: 51px;
    top: 43px;
    background-color: #d9cce4;
}

.timeline-event {
    display: inline-flex;
    width: 24px;
    height: 24px;
    border-radius: 1000px;
    background: linear-gradient(90deg, #653392 11.5%, #1d3c94 100%);
    position: absolute;
    left: 39px;
}

@media (max-width: 991px) {
    .timeline-event {
        position: static;
        margin: 12px auto;
        left: auto;
    }
}

.timeline-event-first {
    top: 24px;
}

.timeline-event-second {
    top: 284px;
}

.timeline-event-third {
    top: 534px;
}

.timeline-event-fourth {
    top: 800px;
}
section.one-column-section {
    overflow: hidden;
}

section.one-column-section.mb-56{
    margin-bottom: 56px;
}

.one-column-section .container {
    width: 100%;
    max-width: 100%;
    padding: 56px 48px 56px 56px;
}

.anchor-section .container {
    width: 100%;
    max-width: 100%;
    padding: 48px;
}


section.anchor-section {
    width: 100%;
    max-width: 1560px;
    margin: 0 auto;
    border-radius: 10px;
}

/*Blog*/
/* === CSS for Blog Post Header === */

.blog-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: Aktiv Grotesk, -apple-system, Roboto, Helvetica, sans-serif;
  font-weight: 700;
  justify-content: flex-start;
  padding: 40px 192px 0px 192px;
}
.entry-content {
	  padding: 40px 192px 0px 192px;

}

@media (max-width: 991px) {
  .blog-header {
    padding: 0 20px;
  }
}

.navigation-section {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  justify-content: flex-start;
}

.back-to-blog-button {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  border: 1px solid #3F0077;
  min-height: 38px;
  gap: 8px;
  color: var(--purple-500);
  padding: 10px 16px;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.back-to-blog-button:hover {
  background-color: var(--purple-500);
  color: var(--base-white);
}

.back-to-blog-button:hover > .back-button-text{
    color: #fff;
}

.back-to-blog-button:hover > .back-icon {
    color: #fff;
}

.back-to-blog-button:focus {
  outline: 2px solid var(--purple-500);
  outline-offset: 2px;
}

.back-icon {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  stroke: #3F0077;
  color:#3F0077;
}

.back-button-text {
  color: #3F0077;
  font-weight: 700;
}

.breadcrumb-navigation {
  flex: 1;
}

.breadcrumb-list {
  display: flex;
  min-width: 240px;
  align-items: center;
  gap: 4px;
  color: var(--gray-600);
  justify-content: flex-start;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Styling for Yoast/Rank Math breadcrumbs */
.breadcrumb-list li {
  display: flex;
  align-items: center;
  gap: 4px;
}
.breadcrumb-list li::after {
  content: "/"; /* Separator */
  color: var(--gray-500);
  margin: 0 4px;
}
.breadcrumb-list li:last-child::after {
  display: none;
}
.breadcrumb-list a {
  color: var(--gray-600);
  text-decoration: none;
  font-weight: 700;
  font-size: 12px;
}
.breadcrumb-list a:hover {
  text-decoration: underline;
}
.breadcrumb-list span { /* Current item */
  color: var(--gray-500);
  font-weight: 400;
  font-size: 12px;
}


.article-title {
  color: #3F0077;
  font-size: 48px;
  line-height: 1;
  letter-spacing: -0.96px;
  align-self: stretch;
  margin: 16px 0 0 0;
  font-weight: 700;
}

@media (max-width: 991px) {
  .article-title {
    max-width: 100%;
    font-size: 40px;
  }
}

.article-metadata {
  display: flex;
  margin-top: 16px;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--gray-600);
  font-weight: 400;
  justify-content: flex-start;
  flex-wrap: wrap;
}

@media (max-width: 991px) {
  .article-metadata {
    max-width: 100%;
  }
}

.news-tag {
  display: flex;
  align-items: center;
  border-radius: 100px;
  gap: 4px;
  overflow: hidden;
  font-size: 12px;
  color: var(--base-white);
  font-weight: 700;
  white-space: nowrap;
  justify-content: flex-start;
  background-color: var(--purple-500);
  padding: 4px 12px;
}

@media (max-width: 991px) {
  .news-tag {
    white-space: initial;
  }
}

.tag-text {
  color: var(--base-white);
}

.metadata-item {
  color: var(--gray-600);
  line-height: 1;
  display: flex;
  gap: 4px;
}

.metadata-label {
  font-weight: 700;
}

.metadata-value {
  font-weight: 400;
}

.metadata-separator {
  border-radius: 100px;
  display: flex;
  width: 6px;
  flex-shrink: 0;
  height: 6px;
  background-color: var(--gray-500);
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
  .back-to-blog-button {
    transition: none;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .back-to-blog-button {
    border-width: 2px;
  }

  .breadcrumb-list a:focus,
  .back-to-blog-button:focus {
    outline-width: 3px;
  }
}

/* Focus management for keyboard navigation */
.back-to-blog-button:focus-visible,
.breadcrumb-list a:focus-visible {
  outline: 2px solid var(--purple-500);
  outline-offset: 2px;
}

/* Ensure proper touch targets on mobile */
@media (max-width: 991px) {
  .back-to-blog-button {
    min-height: 44px;
    padding: 12px 16px;
  }

  .breadcrumb-list a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 4px 0;
  }
}

/* === CSS for Author/Share/Navigation Section === */

.author-section {
  justify-content: center;
  align-items: stretch;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: var(--base-white, #fff);
  padding: 40px 192px;
}

@media (max-width: 991px) {
  .author-section {
    padding: 40px 20px;
  }
}

.author-content {
  border-top: 1px solid var(--gray-300, #d0d5dd);
  border-bottom: 1px solid var(--gray-300, #d0d5dd);
  display: flex;
  width: 100%;
  gap: 40px;
  flex-wrap: wrap;
  padding: 16px 0;
}

@media (max-width: 991px) {
  .author-content {
    max-width: 100%;
  }
}

.author-info-container {
  justify-content: space-between;
  align-items: center;
  display: flex;
  width: 100%;
  gap: 40px;
  flex-wrap: wrap;
}

.author-profile {
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: flex-start;
  margin: auto 0;
  font: 14px/1 Aktiv Grotesk, -apple-system, Roboto, Helvetica, sans-serif;
}

.author-avatar {
  aspect-ratio: 1;
  object-fit: cover; /* Changed to cover for better fitting */
  width: 48px;
  height: 48px;
  align-self: stretch;
  flex-shrink: 0;
  margin: auto 0;
  border-radius: 50%;
}

.author-text {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  margin: auto 0;
}

.published-label {
  color: var(--gray-700, #344054);
  font-weight: 400;
  margin: 0;
}

.author-name {
  color: var(--purple-400, #653392);
  font-weight: 700;
  margin: 0;
}

.social-share-section {
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: flex-start;
  margin: auto 0;
}

.share-label {
  color: var(--gray-700, #344054);
  align-self: stretch;
  margin: auto 0;
  font: 400 14px/1 Aktiv Grotesk, -apple-system, Roboto, Helvetica, sans-serif;
}

.social-icons {
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: flex-start;
  margin: auto 0;
}

.social-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  text-decoration: none;
  transition: transform 0.2s ease;
  border-radius: 50%;
}

.social-link:hover {
  transform: scale(1.1);
}

.social-link:focus {
  outline: 2px solid var(--purple-400, #653392);
  outline-offset: 2px;
}

.facebook-link {
  background-color: var(--blue-500, #1d3c94);
  padding: 0 7px;
}

.social-icon-image {
  width: 12px;
  align-self: center;
}

.social-icon-standalone {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 40px;
  height: 40px;
}

.article-navigation {
  display: flex;
  margin-top: 16px;
  width: 100%;
  align-items: start;
  gap: 40px;
  color: var(--purple-500, #3f0077);
  justify-content: space-between;
  flex-wrap: wrap;
  font: 500 14px/1 Aktiv Grotesk, -apple-system, Roboto, Helvetica, sans-serif;
}

@media (max-width: 991px) {
  .article-navigation {
    max-width: 100%;
  }
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 8px; /* Increased gap for better spacing */
  justify-content: start;
  text-decoration: none;
  color: var(--purple-500, #3f0077);
  transition: color 0.2s ease;
  padding: 4px;
}

.nav-link:hover {
  color: var(--purple-400, #653392);
}

.nav-link:focus {
  outline: 2px solid var(--purple-500, #3f0077);
  outline-offset: 2px;
  border-radius: 4px;
}

.nav-icon {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 24px;
  height: 24px;
  align-self: stretch;
  flex-shrink: 0;
  margin: auto 0;
  stroke: currentColor;
}

.nav-text {
  color: inherit;
  align-self: stretch;
  margin: auto 0;
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
  .social-link,
  .nav-link {
    transition: none;
  }

  .social-link:hover {
    transform: none;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .author-content {
    border-top: 2px solid;
    border-bottom: 2px solid;
  }

  .social-link:focus,
  .nav-link:focus {
    outline-width: 3px;
  }
}

/* Focus visible for better keyboard navigation */
.social-link:focus-visible,
.nav-link:focus-visible {
  outline: 2px solid var(--purple-500, #3f0077);
  outline-offset: 2px;
}

.search_bar_container {
    display: none; /* JS sets to flex */
    align-items: center;
    gap: 10px;
    margin-top: 1rem;
}

.search-form {
    display: flex;
    align-items: center;
    border: 1px solid #d0d5dd;
    border-radius: 1000px;
    padding: 0 16px;
    background-color: #fff;
}

.search-input {
    flex: 1;
    border: none;
    outline: none;
    padding: 12px;
}

.search-submit {
    background: none;
    border: none;
    cursor: pointer;
}

.close_search {
    font-size: 24px;
    color: #3F0077;
    cursor: pointer;
}


/* --- SEARCH RESULTS STYLING MATCHING NEWS --- */
.listing-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 56px 72px 72px;
	background-color: #fff;
}

span.donate-button-text {
    color: var(--Purple-500, #3F0077);
    font-family: "Aktiv Grotesk";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px;
}

::marker {
    color: var(--Blue-500, #1D3C94);
}

.nospace {
    gap: 0;
}

time.event-date.event-date-right {
    margin: 5px -88px;
}

time.event-date.event-date-left {
    margin: 5px 40px;
}

.story-thumbnail:hover {
    box-shadow: inset 0 0 0 4px var(--Turquoise-300, #4DC1C1);
}

nav.rank-math-breadcrumb a {
    color: var(--Gray-600, #475467);
    font-family: "Aktiv Grotesk";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
}
nav.rank-math-breadcrumb .last {
    color: var(--Gray-500, #667085);
    font-family: "Aktiv Grotesk";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px;
}

span.separator {
    background-image: url(/wp-content/themes/diabetesireland/images/breadcrumb-arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    color: transparent;
    font-family: "Aktiv Grotesk";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
    margin: 0 10px;
}

/* Main newsletter container */
.newsletter-container {
    display: flex;
    padding: 56px;
    justify-content: center;
    align-items: center;
    gap: 40px;
    align-self: stretch;
    border-radius: 8px;
    background: linear-gradient(90deg, #00a7a6 0%, #1d3c94 100%);
    position: relative;
	margin: 0 32px 48px 32px;
}

/* Newsletter header */
.newsletter-header {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    position: relative;
}

.icon-wrapper {
    display: flex;
    padding-top: 4px;
    align-items: center;
    gap: 8px;
    position: relative;
}

.mail-icon-container {
    display: flex;
    width: 32px;
    height: 32px;
    justify-content: center;
    align-items: center;
    position: relative;
}

.mail-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.newsletter-title {
    color: #fff;
    position: relative;
    margin: 0;
	font-family: "Aktiv Grotesk";
	font-size: 30px;
	font-style: normal;
	font-weight: 300;
	line-height: 38px; 
}

/* Form styles */
.newsletter-form {
    display: flex;
    width: 608px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    position: relative;
}
input#input_1_1 {
    color: var(--Gray-400, #98A2B3);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
	height: 52px;
	border-radius: 4px;
	border:none;
}
input#input_1_5 {
    color: var(--Gray-400, #98A2B3);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
	height: 52px;
	border-radius: 4px 0 0 4px;
	border:none;
}
label#label_1_4_1 {
    color: var(--Base-White, #FFF);
    font-family: "Aktiv Grotesk";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
}
label#label_1_4_1 a {
    color: #FFF;
    text-decoration: underline;
}

input#choice_1_4_1 {
    border-radius: 4px;
    border: 1px solid #FFF;
    background: none;
}
input#choice_1_4_1::before {
    color:#FFF;
}

input#gform_submit_button_1:hover {
    color: #3F0077;
    background: var(--Orange-400, #F9B462);
}

input#input_1_1:focus,input#input_1_3:focus {
    border: 1px solid var(--Turquoise-500, #00A7A6) !important;
    background: var(--Turquoise-50, #D9F2F1) !important;
}

.gform-footer.gform_footer.top_label {
    margin: 0 -1px;
    height: 52px;
}
input#gform_submit_button_1 {
    border-radius: 0 100px 100px 0;
    background: var(--Turquoise-100, #B2E5E4);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    color: var(--Purple-500, #3F0077);

/* Text sm / Bold */
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
    align-self: stretch;
}
form#gform_1 {
    display: flex;
}
/* Responsive design */
@media (max-width: 991px) {
    .newsletter-container {
        padding: 40px;
        gap: 30px;
        height: auto;
        flex-direction: column;
    }

    .newsletter-title {
        font-size: 26px;
        line-height: 34px;
        text-align: center;
    }

    .newsletter-form {
        width: 100%;
        max-width: 500px;
    }
}

@media (max-width: 640px) {
    .newsletter-container {
        padding: 24px;
        gap: 20px;
    }

    .newsletter-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px;
    }

    .newsletter-title {
        font-size: 22px;
        line-height: 28px;
    }

    .newsletter-form {
        width: 100%;
    }
}



/* Form container (targets your .lead-form__styled) */
.lead-form__styled {
    display: flex;
    width: 100%;
    max-width: 480px;
    padding: 24px 32px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border-radius: 8px;
    background-color: #fff;
}

@media (max-width: 640px) {
    .lead-form__styled {
        padding: 16px 20px;
    }
}

/* Form title */
.form-title {
    align-self: stretch;
    color: #3f0077;
    font: 700 30px/38px "Aktiv Grotesk", sans-serif;
}

@media (max-width: 640px) {
    .form-title {
        font-size: 24px;
        line-height: 32px;
    }
}

/* Fieldsets and sections (targets .form-group) */
.form-group {
    border: none;
    padding: 0;
    margin: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.section-label {
    color: #344054;
    font: 400 14px/20px "Aktiv Grotesk", sans-serif;
    margin-bottom: 4px;
}

/* Donation type buttons */
.donation-type-buttons {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
}

@media (max-width: 640px) {
    .donation-type-buttons {
        flex-direction: column;
    }
}

.donation-type-button {
    display: flex;
    height: 52px;
    padding: 16px 32px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex: 1;
    border-radius: 8px;
    border: 1px solid #d0d5dd;
    background: #fff;
    color: #344054;
    font: 700 16px/22px "Aktiv Grotesk", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.donation-type-button:hover {
    border-color: #3f0077;
    background: #f9fafb;
}

.donation-type-button:focus {
    outline: 2px solid #3f0077;
    outline-offset: 2px;
}

.donation-type-button.selected {
    border-color: #3f0077;
    background: #3f0077;
    color: #fff;
}

/* Amount buttons */
.amount-buttons {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
    flex-wrap: wrap;
}

@media (max-width: 640px) {
    .amount-buttons {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
}

.amount-button {
    display: flex;
    height: 52px;
    padding: 16px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex: 1 0 0;
    border-radius: 8px;
    border: 1px solid #d0d5dd;
    background: #fff;
    color: #344054;
    font: 700 16px/22px "Aktiv Grotesk", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.amount-button:hover {
    border-color: #3f0077;
    background: #f9fafb;
}

.amount-button:focus {
    outline: 2px solid #3f0077;
    outline-offset: 2px;
}

.amount-button.selected {
    border-color: #3f0077;
    background: #3f0077;
    color: #fff;
}

/* Info text (targets .form-note where applicable) */
.info-text {
    color: #344054;
    font: 400 12px/18px "Aktiv Grotesk", sans-serif;
}

/* Custom amount */
.custom-amount-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    align-self: stretch;
}

.custom-amount-input {
    display: flex;
    padding: 12px 16px;
    align-items: center;
    gap: 8px;
    flex: 1 0 0;
    align-self: stretch;
    border-radius: 4px;
    border: 1px solid #667085;
    background: #fff;
}

.currency-symbol {
    color: #667085;
    font: 400 14px/20px "Aktiv Grotesk", sans-serif;
}

.custom-amount-field {
    border: none;
    background: transparent;
    color: #1d2939;
    font: 400 14px/20px "Aktiv Grotesk", sans-serif;
    width: 100%;
}

.custom-amount-field:focus {
    outline: none;
}

.custom-amount-input:focus-within {
    border-color: #3f0077;
    box-shadow: 0 0 0 3px rgba(63, 0, 119, 0.1);
}

.custom-amount-field::placeholder {
    color: #667085;
}

/* Form fields */
.form-field {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
}

.field-label {
    flex: 1 0 0;
    color: #1d2939;
    font: 400 12px/18px "Aktiv Grotesk", sans-serif;
    margin-bottom: 4px;
}

.form-input {
    display: flex;
    height: 52px;
    padding: 12px 16px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    border-radius: 4px;
    border: 1px solid #667085;
    background: #fff;
    color: #1d2939;
    font: 400 14px/20px "Aktiv Grotesk", sans-serif;
    width: 100%;
}

.form-input:focus {
    outline: none;
    border-color: #3f0077;
    box-shadow: 0 0 0 3px rgba(63, 0, 119, 0.1);
}

.form-input::placeholder {
    color: #667085;
}

/* Impact message (targets .donation-note) */
.impact-message {
    display: flex;
    padding: 8px 16px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    border-radius: 8px;
    background-color: #b2e5e4;
    margin: 0;
}

.impact-text {
    flex: 1 0 0;
    color: #1d2939;
    font: 400 16px/22px "Aktiv Grotesk", sans-serif;
}

/* Submit section */
.submit-section {
    display: flex;
    padding-top: 8px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
}

.submit-button {
    display: flex;
    height: 52px;
    padding: 16px 32px;
    justify-content: center;
    align-items: center;
    gap: 16px;
    align-self: stretch;
    border-radius: 100px;
    border: 1px solid #3f0077;
    color: #3f0077;
    background: transparent;
    cursor: pointer;
    font: 700 16px/22px "Aktiv Grotesk", sans-serif;
    transition: all 0.2s ease;
}

.submit-button:hover {
    background: #3f0077;
    color: #fff;
}

.submit-button:focus {
    outline: 2px solid #3f0077;
    outline-offset: 2px;
}

@media (max-width: 640px) {
    .submit-button {
        padding: 14px 24px;
    }
}

/* Alternative donations (targets last .form-note) */
.alternative-donations {
    display: flex;
    padding-top: 8px;
    align-items: center;
    gap: 4px;
}

.alternatives-title {
    color: #344054;
    font: 400 14px/20px "Aktiv Grotesk", sans-serif;
    margin-right: 8px;
}

.alternative-link {
    display: flex;
    padding: 4px 8px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2px;
    border-radius: 4px;
    color: #1d3c94;
    text-decoration: underline;
    font: 700 14px/20px "Aktiv Grotesk", sans-serif;
    transition: background-color 0.2s ease;
}

.alternative-link:hover {
    background-color: #f0f0f0;
}

.alternative-link:focus {
    outline: 2px solid #1d3c94;
    outline-offset: 2px;
}

/* Hero section (if you add it outside the form) */
.hero-section {
    display: flex;
    align-items: center;
    flex: 1 0 0;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}

@media (max-width: 991px) {
    .hero-section {
        height: 400px;
        margin-top: 24px;
    }
}

@media (max-width: 640px) {
    .hero-section {
        height: 300px;
    }
}

.hero-image {
    width: 1101px;
    height: 734px;
    position: absolute;
    left: -355px;
    top: -62px;
    object-fit: cover;
}

@media (max-width: 991px) {
    .hero-image {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: relative;
    }
}

/* Focus management for better accessibility */
button:focus-visible,
input:focus-visible {
    outline: 2px solid #3f0077;
    outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .donation-type-button,
    .amount-button {
        border-width: 2px;
    }

    .form-input,
    .custom-amount-input {
        border-width: 2px;
    }
}






/* Donate Page*/
/* CSS Variables for consistent theming */

/* Accessibility helper */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Main layout */
.donation-content {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  justify-content: center;
  flex-wrap: wrap;
  padding: 32px 64px 72px;
}

@media (max-width: 991px) {
  .donation-content {
    padding: 0 20px;
  }
}

/* Donation form container */
.donation-form-container {
  align-items: stretch;
  border-radius: 8px;
  display: flex;
  min-width: 240px;
  flex-direction: column;
  justify-content: flex-start;
  width: 480px;
  background-color: var(--base-white);
  padding: 24px 32px;
}

.donation-hero-image {
    max-width: 480px;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    flex: 1;
}

.donation-note {
    border-radius: 8px;
    background: var(--Turquoise-50, #D9F2F1);
    display: flex;
    padding: 16px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 4px;
    align-self: stretch;
}

p.form-note-ways {
    border-radius: 8px;
    border: 1px solid var(--Gray-300, #D0D5DD);
    padding: 16px;
}

@media (max-width: 991px) {
  .donation-form-container {
    max-width: 100%;
    padding: 0 20px;
  }
}

/* Main title */
.donation-title {
  color: var(--purple-500);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 16px;
}

/* Form styles */
.donation-form {
  width: 100%;
}

/* Fieldset and legend styles */
fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

.section-label {
  color: var(--gray-700);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 4px;
  display: block;
}

/* Donation type section */
.donation-type-section {
  margin-bottom: 16px;
  width: 289px;
  max-width: 100%;
}

.donation-type-buttons {
  display: flex;
  width: 100%;
  max-width: 289px;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1;
  justify-content: flex-start;
}

@media (max-width: 991px) {
  .donation-type-buttons {
    white-space: initial;
  }
}

.donation-type-btn {
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  border: 1px solid var(--purple-500);
  display: flex;
  min-height: 52px;
  gap: 8px;
  color: var(--purple-500);
  width: 128px;
  padding: 15px 32px;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  transition: all 0.2s ease;
}

@media (max-width: 991px) {
  .donation-type-btn {
    white-space: initial;
    padding: 0 20px;
  }
}

.donation-type-btn:hover {
  background-color: var(--purple-500);
  color: var(--base-white);
}

.donation-type-btn:focus {
  outline: 2px solid var(--purple-500);
  outline-offset: 2px;
}

.donation-type-btn.selected {
  background-color: var(--purple-500);
  color: var(--base-white);
}

/* Info section */
.donation-info {
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  display: flex;
  margin-bottom: 16px;
  width: 100%;
  gap: 8px;
  font-size: 12px;
  color: var(--gray-700);
  font-weight: 400;
  background-color: var(--blue-100);
  padding: 8px 16px;
}

.info-text {
  color: var(--gray-700);
  align-self: stretch;
  flex: 1;
  margin: auto 0;
}

/* Amount section */
.amount-section {
  margin-bottom: 16px;
  width: 100%;
  white-space: nowrap;
}

@media (max-width: 991px) {
  .amount-section {
    white-space: initial;
  }
}

.amount-buttons {
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  color: var(--purple-500);
  font-weight: 700;
  line-height: 1;
  justify-content: flex-start;
}

@media (max-width: 991px) {
  .amount-buttons {
    white-space: initial;
  }
}

.amount-btn {
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  border: 1px solid var(--purple-500);
  display: flex;
  min-height: 52px;
  gap: 8px;
  flex: 1;
  padding: 15px 16px;
  background: transparent;
  color: var(--purple-500);
  cursor: pointer;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  transition: all 0.2s ease;
}

@media (max-width: 991px) {
  .amount-btn {
    white-space: initial;
  }
}

.amount-btn:hover {
  background-color: var(--purple-500);
  color: var(--base-white);
}

.amount-btn:focus {
  outline: 2px solid var(--purple-500);
  outline-offset: 2px;
}

.amount-btn.selected {
  background-color: var(--purple-500);
  color: var(--base-white);
}

/* Custom amount section */
.custom-amount-section {
  margin-bottom: 16px;
  min-height: 52px;
  width: 100%;
  font-size: 16px;
  color: var(--gray-500);
  font-weight: 400;
  line-height: 1;
}

.custom-amount-input {
  width: 100%;
  justify-content: space-between;
  align-items: center;
  border-radius: 4px;
  border: 1px solid var(--gray-500);
  display: flex;
  min-height: 52px;
  padding: 12px 16px;
  font-family: inherit;
  font-size: 16px;
  color: var(--gray-500);
  background: var(--base-white);
}

.custom-amount-input:focus {
  outline: 2px solid var(--purple-500);
  outline-offset: 2px;
  border-color: var(--purple-500);
}

/* Personal info section */
.personal-info-section {
  margin-bottom: 16px;
  width: 100%;
  font-weight: 400;
}

.form-field {
  width: 100%;
  margin-bottom: 8px;
}

.form-field:first-child {
  margin-bottom: 8px;
}

.field-label {
  display: flex;
  width: 100%;
  align-items: center;
  font-size: 12px;
  color: var(--gray-800);
  justify-content: space-between;
  margin-bottom: 4px;
}

.form-input {
  width: 100%;
  font-size: 14px;
  color: var(--gray-500);
  line-height: 1;
  justify-content: space-between;
  align-items: center;
  border-radius: 4px;
  border: 1px solid var(--gray-500);
  display: flex;
  min-height: 52px;
  padding: 16px;
  font-family: inherit;
  background: var(--base-white);
}

.form-input:focus {
  outline: 2px solid var(--purple-500);
  outline-offset: 2px;
  border-color: var(--purple-500);
}

/* Impact message */
.impact-message {
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  display: flex;
  margin-bottom: 16px;
  width: 100%;
  gap: 8px;
  font-size: 16px;
  color: var(--gray-800);
  font-weight: 400;
  line-height: 1;
  background-color: var(--turquoise-100);
  padding: 8px 16px;
}

.impact-text {
  color: var(--gray-800);
  align-self: stretch;
  flex: 1;
  margin: auto 0;
}

/* Submit section */
.submit-section {
  margin-bottom: 16px;
  width: 100%;
  padding-top: 8px;
  font-size: 16px;
  color: var(--purple-500);
  font-weight: 700;
  line-height: 1;
}

.submit-btn {
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  border: 1px solid var(--purple-500);
  display: flex;
  min-height: 52px;
  width: 100%;
  gap: 16px;
  padding: 15px 32px;
  background: transparent;
  color: var(--purple-500);
  cursor: pointer;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  transition: all 0.2s ease;
}

@media (max-width: 991px) {
  .submit-btn {
    padding: 0 20px;
  }
}

.submit-btn:hover {
  background-color: var(--purple-500);
  color: var(--base-white);
}

.submit-btn:focus {
  outline: 2px solid var(--purple-500);
  outline-offset: 2px;
}

/* Alternative methods */
.alternative-methods {
  align-self: flex-start;
  display: flex;
  padding-top: 8px;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  color: var(--blue-500);
  font-weight: 700;
  line-height: 1;
  justify-content: flex-start;
}

.alternative-label {
  color: var(--gray-700);
  font-weight: 500;
  align-self: stretch;
  margin: auto 0;
}

.alternative-link {
  border-radius: 4px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  white-space: nowrap;
  text-decoration: underline;
  justify-content: center;
  margin: auto 0;
  padding: 4px 8px;
  color: var(--blue-500);
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  transition: color 0.2s ease;
}

@media (max-width: 991px) {
  .alternative-link {
    white-space: initial;
  }
}

.alternative-link:hover {
  color: var(--purple-500);
}

.alternative-link:focus {
  outline: 2px solid var(--purple-500);
  outline-offset: 2px;
}

/* Hero section */
.hero-section {
  border-radius: 8px;
  min-width: 240px;
  overflow: hidden;
  flex: 1;
  flex-basis: 64px;
}

@media (max-width: 991px) {
  .hero-section {
    max-width: 100%;
  }
}

.hero-image {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 100%;
  height: auto;
}

@media (max-width: 991px) {
  .hero-image {
    max-width: 100%;
  }
}




.page-id-225 main#primary, 
.page-id-1111 main, 
.page-id-1113 main
/*.page-id-231 main*/  {
    background-image: url(/wp-content/themes/diabetesireland/images/background.png);
    background-repeat: no-repeat;
    background-size: cover;
}
.pb-0 {
		padding-bottom: 0 !important;
	}

	.pt-0 {
		padding-top: 0 !important;
	}
@media (min-width: 1024px) {
	
	.inline_padding {
		padding: 56px 48px 56px 56px !important;
	}

    .slider-overlap{
        padding-left: 32px;
    }

}

.single-column-keypoints .key_points {
    display: flex;
    flex-direction: column;
}

/* Root Variables (These were missing - added from previous context) */
:root {
	--purple-500: #3f0077; /* Example purple - adjust as needed */
	--gray-500: #6b7280;
	--gray-700: #374151;
	--gray-800: #1f2937;
	--base-white: #ffffff;
	--turquoise-100: #d1fae5;
	--blue-500: #3b82f6;
	/* Add more variables if your original CSS had them */
}

/* Accessibility helper */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Main layout container for form and image */
.donation-content {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding: 32px 64px 72px;
	max-width: 1200px; /* Adjust as needed for your site */
	margin: 0 auto;
}

/* Form styles */
.lead-form__styled {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 480px;
	background-color: var(--base-white);
	padding: 24px 32px;
	border-radius: 8px;
	flex: 1; /* Allows it to grow/shrink in flex layout */
	gap: 16px;
}

@media (max-width: 991px) {
	.lead-form__styled {
		max-width: 100%;
		padding: 20px;
	}
}

.lead-form__styled h1 {
	color: var(--purple-500);
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 0;
}

/* Hero image styles */
.donation-hero-image {
	max-width: 480px;
	width: 100%;
	border-radius: 8px;
	overflow: hidden;
	flex: 1; /* Allows it to grow/shrink in flex layout */
}

.donation-hero-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover; /* Ensures it fills nicely without distortion */
}

@media (max-width: 991px) {
	.donation-hero-image {
		max-width: 100%;
	}
}

/* Fieldset and legend styles */
.form-group {
	border: none;
	padding: 0;
}

.form-group legend {
	color: var(--gray-700);
	font-size: 14px;
	font-weight: 400;
	display: block;
}

/* Donation type and amount buttons */
.donation-type-buttons,
.amount-buttons {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
}
label.amount-button {
		color: var(--Purple-500, #3F0077) !important;
		font-size: 16px !important;
		font-style: normal;
		font-weight: 700 !important;
		line-height: 22px !important;
}

label.amount-button:hover,
label.amount-button.active{
    background: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
    color: #fff !important;
}

.donation-type-button,
.amount-button {
	justify-content: center;
	align-items: center;
	border-radius: 8px;
	border: 1px solid var(--purple-500);
	display: flex;
	min-height: 52px;
	gap: 8px;
	padding: 15px 32px;
	background: transparent;
	color: var(--purple-500);
	cursor: pointer;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	transition: all 0.2s ease;
	text-align: center;
}

@media (max-width: 991px) {
	.donation-type-button,
	.amount-button {
		padding: 0 20px;
	}
}

.donation-type-button:hover,
.amount-button:hover {
	background-color: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
	color: var(--base-white);
}

.donation-type-button:focus,
.amount-button:focus {
	outline: 2px solid var(--purple-500);
	outline-offset: 2px;
}

.donation-type-button.selected,
.amount-button.selected {
	background: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
	color: var(--base-white);
}

label.donation-type-button {
		color: var(--Purple-500, #3F0077) !important;
		font-size: 16px !important;
		font-style: normal;
		font-weight: 700 !important;
		line-height: 22px !important;
}

label.donation-type-button.selected {
		color: #fff !important;
}

/* Custom amount */
.custom-amount-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	margin-top: 8px;
	width: 100%;
}

.custom-amount-wrapper input {
	width: 100%;
	font-size: 14px;
	color: var(--gray-500);
	line-height: 1;
	border-radius: 4px;
	border: 1px solid var(--gray-500);
	min-height: 52px;
	padding: 16px 16px 16px 32px; /* Extra left padding for currency symbol if needed */
	font-family: inherit;
	background: var(--base-white);
}

.custom-amount-wrapper input:focus {
	outline: 2px solid var(--purple-500);
	outline-offset: 2px;
	border-color: var(--purple-500);
}

/* Form notes and other text */
.form-note {
	color: #344054;
	font-size: 12px;
	font-style: normal;
	line-height: 18px;
	font-weight: 400;
	border-radius: 8px;
	background: var(--Blue-100, #E8EBF4);
	padding: 8px 16px;
	width: 100%;
	margin-top: 16px;
}

p.form-note-ways {
    color: var(--Gray-700, #344054);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    border: 0 none;
    display: flex;
    align-items: center;
}

p.form-note-ways a {
    display: block;
    color: var(--Blue-500, #1D3C94);
    font-family: "Aktiv Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    margin: 5px 0;
    text-decoration: underline;
    position: relative;
}

p.form-note-ways a::before {
  content: "";
  margin-right: 6px;
}


.donation-note {
	justify-content: flex-start;
	align-items: flex-start;
	border-radius: 8px;
	display: flex;
	margin-bottom: 16px;
	width: 100%;
	gap: 8px;
	font-size: 16px;
	color: var(--gray-800);
	font-weight: 400;
	line-height: 1;
	background-color: var(--turquoise-100);
	padding: 8px 16px;
}

/* Personal info fields */
.form-group label {
	display: block;
	color: var(--Gray-800, #1D2939);
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 18px; /* 150% */
}

.form-group input[type="text"],
.form-group input[type="email"] {
	width: 100%;
	font-size: 14px;
	color: var(--gray-500);
	line-height: 1;
	border-radius: 4px;
	border: 1px solid var(--gray-500);
	min-height: 52px;
	padding: 16px;
	font-family: inherit;
	background: var(--base-white);
}

.form-group input:focus {
	outline: 2px solid var(--purple-500);
	outline-offset: 2px;
	border-color: var(--purple-500);
}

/* Submit button */
.form-group button[type="submit"] {
	justify-content: center;
	align-items: center;
	border-radius: 100px;
	border: 1px solid var(--purple-500);
	display: flex;
	min-height: 52px;
	width: 100%;
	gap: 16px;
	padding: 15px 32px;
	background: transparent;
	color: var(--purple-500);
	cursor: pointer;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	transition: all 0.2s ease;
}

@media (max-width: 991px) {
	.form-group button[type="submit"] {
		padding: 0 20px;
	}
}

.form-group button[type="submit"]:hover {
	background-color: var(--purple-500);
	color: var(--base-white);
}

.form-group button[type="submit"]:focus {
	outline: 2px solid var(--purple-500);
	outline-offset: 2px;
}

/* Other ways to donate */
.form-note a {
	color: var(--blue-500);
	text-decoration: underline;
	transition: color 0.2s ease;
}

.form-note a:hover {
	color: var(--purple-500);
}

.page-id-166 main {
		background-image: url(/wp-content/themes/diabetesireland/images/background.png);
		background-repeat: no-repeat;
		background-size: cover;
}


@media (max-width: 991px) {
	.donation-content {
		flex-direction: column-reverse;
		padding: 20px;
		gap: 20px;
	}
	.donation-type-buttons, .amount-buttons {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;    
		flex-direction: row;
	}
	.donation-type-button, .amount-button {
			justify-content: center;
			align-items: center;
			text-align: center;
			align-content: center;
	}
}









/* Memberships Pages - Panos CSS */

/* CTA BUTTON */



.existing_vs_new {
    display: flex;
    justify-content: flex-start;
    background: var(--Blue-100, #E8EBF4);
    padding: 8px 16px;
    border-radius: 8px;
    border: 1px solid var(--Blue-200, #D2D8EA);
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.existing_vs_new .label{
    display: flex;
    align-items: center;
    margin-right: 32px;
}

.existing_vs_new label {
    display: flex;
    align-items: center;
    margin-top: 8px;
    margin-right: 24px;
    margin-bottom: 8px;
}

.existing_vs_new input[type="radio"] {
    width: 24px;
    height: 24px;
    margin-right: 8px;
}











@media (max-width: 767px) {


    .membership_form fieldset label {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }

}







@media (max-width: 767px) {

    .contact-block {
        border-bottom: 1px solid #e0e0e0;
        padding: 12px 0;
    }

   .contact-block .contact-detail:first-child {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        cursor: pointer;
        position: relative;
        padding-right: 32px;
    }

    .contact-block .contact-detail:first-child::after {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%) rotate(0deg);
        width: 24px;
        height: 24px;
        background-image: url('https://diabetes.matrix-test.com/wp-content/themes/diabetesireland/images/accordion-arrow.svg');
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        transition: transform 0.25s ease;
    }

    .contact-block.open .contact-detail:first-child::after {
        transform: translateY(-50%) rotate(180deg);
    }
}


@media (max-width: 767px) {

    .membership_form fieldset label {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }

}



label[for="terms"] {
    display: flex;              /* 1. Enables flexible layout */
    align-items: center;        /* 2. Vertically centers checkbox with text */
    gap: 8px;                   /* 4. Adds a small space between checkbox and text */
    text-align: center;         /* 5. Ensures multi-line text stays centered */
    width: 100%;                /* 6. Ensures it takes full width to center properly */
}


label[for="00NRz000001d0Md"]{
  display: flex;
  align-items: center;
  padding-top:15px;
}

section.how-we-help-section.white_icon .service-icon {
    background-color: #fff;
}

.center_items .service-item {
	align-items: center;
}

.center_items .content-wrapper {
	align-items: center;
}

/* --- Sub-Filters (Dropdown & Checkbox) --- */
.events-sub-filters {
    padding-top: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    animation: fadeIn 0.3s ease-in-out;
}

.event-filter-select {
    padding: 10px 36px 10px 16px;
    border: 1px solid #D0D5DD;
    border-radius: 8px;
    color: #344054;
    background-color: #fff;
    font-size: 14px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23344054' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    cursor: pointer;
    min-width: 180px;
}

.sub-filter-checkboxes label {
    font-size: 14px;
    color: #344054;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.sub-filter-checkboxes input[type="checkbox"] {
    width: 16px;
    height: 16px;
    border: 1px solid #D0D5DD;
    border-radius: 4px;
    cursor: pointer;
    accent-color: #3F0077;
}

div#events-extra-filters {
    gap: 15px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.contact_form h2.gform_title {
    color: var(--Blue-500, #1D3C94);
    font-family: "Aktiv Grotesk";
    font-size: 30px;
    font-style: normal;
    font-weight: 300;
    line-height: 38px;
}
.contact_form .gform-footer.gform_footer.top_label {
    margin-top: 15px;
}
.contact_form input#gform_submit_button_5 {
    border-radius: 100px;
    background: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
    width: 100%;
}

section.anchor-section {
    margin: 0 auto;
}

section.two-columns-section li {
    font-size: 16px;
	    padding-bottom: 10px;
}
section.one-column-section li {
    font-size: 16px;
	    padding-bottom: 10px;
}



/* Global Style */
@media screen and (min-width: 1440px) {


    .header-navigation,
    .help_layout,
    .four-columns-block .container{
        max-width: 1560px;
        margin: 0 auto;
        justify-content: space-around;
    }

    .page-header .container{
        max-width: 1560px;
        margin: 0 auto;
        justify-content: space-around;
    }

    .page-header .header-content{
        padding: 0;
    }

    .upcoming_events_block {
        max-width: 1560px;
        max-width: 1200px;
        padding: 56px 0;
        margin: 0 auto;
    }

    .content_image_section .container {
        max-width: 1560px;
        padding: 56px 0px;
        margin: 0 auto;
    }

    .content_image_section_inner.has_bg {
        max-width: 1560px;
        padding: 0 56px;
        border-radius: 10px;
        margin: 0 auto;
    }

    .stories-container{
        max-width: 1560px;
        margin: 0 auto;
    }

    .news-block {
        width: 1560px;
        max-width: calc(100% - 112px);
        padding: 56px 0;
        margin: 0 auto;
    }

    .newsletter-container{
        max-width: 1560px;
        margin: 0 auto;
        margin-bottom: 48px;
    }

    .contact-blocks-container{
        max-width: 1560px;
        margin: 0px auto;
    }

    .strategy-vision-section{
        max-width: 1560px;
        margin: 0px auto;
    }

    .two-columns-section .content_heading,
    .two-columns-section .section-subtitle,
    .two-columns-section .columns-wrapper{
        max-width: 1560px;
        margin: 0px auto;
    }

    .faq-section .faq-header,
    .faq-section .faq-content{
        max-width: 1560px;
        margin: 0px auto;
        margin-left: 0;
    }

    .resource-listing{
        max-width: 1560px;
        margin: 0px auto;
    }

    .one-column-section{
        width: 100%;
        max-width: 1560px;
        padding: 56px 0 !important;
        margin: 0 auto;
        border-radius: 10px;
    }

    .one-column-section.pt-0{
        padding-top: 0 !important;
    }

     .one-column-section.pt-28{
        padding-top: 28px !important;
    }

    .one-column-section.pb-0{
        padding-bottom: 0 !important;
    }

    .page-id-816 .one-column-section{
        padding: 28px 0 !important;
    }

    .two-columns-section{
        max-width: 1560px;
        margin: 0px auto;
    }


    .blog-items-section {
        max-width: 1560px;
        margin: 0 auto;
    }

    .single main{
        max-width: 1560px;
        margin: 0px auto;
    }

    .page-header .header-content {
        max-width: 1560px;
        margin: 0 auto;
        justify-content: space-between;
    }

    .filters-search-section {
        max-width: 1560px;
        margin: 0 auto;
    }


    .footer-container{
        max-width: 1560px;
        margin: 0px auto;
    }

    .footer-copyright-container{
        max-width: 1560px;
        margin: 0 auto;
    }


    .page-id-287 .hero-content {
        max-width: 1560px;
        padding: 0;
        margin: 0 auto;
    }

    .page-id-287 .resource-listing {
        max-width: 1560px;
        padding: 56px 0;
        margin: 0px auto;
    }


}












/* ✅ AMENDED: removed .page-id-* targeting.
   Form styling is now scoped to the shortcode form ID: #donation_form
   (and the page section wrapper .membership_form where relevant)
*/

/* Optional: keep this if you still need to hide sidebar on these pages.
   If you want to remove ALL page-id usage, delete this block. */
.page-id-228 .widget-area, .page-id-166 .widget-area,
.page-id-225 .widget-area, .page-id-231 .widget-area {
  display: none;
}

/* CTA button (scope to membership section, not page id) */
.membership_form a.cta-button.purple {
  display: flex;
  align-items: center;
  border-radius: 100px;
  background: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
  padding: 16px 32px;
  font-family: "Aktiv Grotesk";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  text-decoration: none;
}

.membership_form a.cta-button.purple img {
  margin-right: 10px;
}

/* GENERAL COLUMN CONTENT (if you want this only on pages that have the form, keep it scoped like this) */
.membership_form .column-content p {
  width: 90%;
  max-width: 896px;
  color: var(--Gray-700, #344054);
  font-family: "Aktiv Grotesk";
  font-size: 24px;
  font-style: normal;
  font-weight: 300;
  line-height: 32px;
  margin: 0 auto;
}

/* ONE COLUMN SECTION */
/*.one-column-section .container {
  padding-bottom: 0;
}*/

/* IMAGE SECTION */
/*.content_image_section {
  padding-top: 0;
  padding-bottom: 8px;
}*/

/* SHORT DESCRIPTION */
.short_description {
  color: var(--Gray-600, #475467);
  font-family: "Aktiv Grotesk";
  font-size: 20px;
  font-style: normal;
  font-weight: 300;
  line-height: 26px;
}

.content_description p {
    color: var(--Gray-700, #344054);
    font-family: "Aktiv Grotesk";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    margin-bottom: 16px;
}

/* TWO COLUMNS SECTION */
.two-columns-section .columns-wrapper {
  max-width: 1000px;
  margin: 0 auto;
}

.two-columns-section .column-content p {
  color: var(--Gray-700, #344054);
  font-family: "Aktiv Grotesk";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  width: 90%;
  max-width: 500px;
  margin: 0 auto;
}

.two-columns-section .column-content p:last-child{
    margin-bottom: 32px;
}

/* =========================
   MEMBERSHIP FORM (scoped)
   ========================= */

/* Outer section container */
.membership_form {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  border-radius: 16px;
  margin: 64px 0;
}

/* Inner container */
.container.membership_form {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  border-radius: 16px;
  background: var(--Blue-50, #F4F5FA);
  width: max-content;
  padding: 56px 72px;
  margin: 0px auto;
}

.membership_form h1 {
  color: var(--Blue-500, #1D3C94);
  font-family: "Aktiv Grotesk";
  font-size: 30px;
  font-style: normal;
  font-weight: 300;
  line-height: 38px;
  margin-top: 0;
}

.membership_form .column-content p {
  color: var(--Gray-800, #1D2939);
  font-family: "Aktiv Grotesk";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  margin: 0;
  margin-bottom: 16px;
}

.membership_form .notice {
  color: var(--Gray-800, #1D2939);
  font-family: "Aktiv Grotesk";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  margin-bottom: 16px;

  background: var(--Turquoise-50, #D9F2F1);
  padding: 16px;
  border-radius: 8px;
  border: 1px solid var(--Turquoise-500, #00A7A6);
}


/* Post Type Flexiblock*/

.post-flexi h3 {
    color: var(--Gray-700, #344054);
    font-family: "Aktiv Grotesk";
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 32px;
}

.two-columns-section.post-flexi {
   width: 100%;
        max-width: 1560px;
        padding: 56px 0;
        margin: 0 auto;
        border-radius: 10px;
}

.two-columns-section.post-flexi .column-content p {
    padding-bottom: 12px;
}

.two-columns-section.post-flexi .content_heading, 
.two-columns-section.post-flexi .section-subtitle, 
.two-columns-section.post-flexi .columns-wrapper {
        max-width: 1560px;
        margin: 0px;
    }

.two-columns-section.post-flexi .column-content p {
    margin: 0;
}

.one-column-section.post-flexi .container {
    padding: 0;
}


/* ✅ FORM GROUPS – now based on the shared form ID */
#donation_form .form-group {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-bottom: 16px;
}

#donation_form  .salesformForm_donation .form-group {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 0px;
}

#donation_form .form-group .col {
  width: 100%;
}

#donation_form .form-group label {
  color: var(--Gray-800, #1D2939);
  font-family: "Aktiv Grotesk";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  margin-bottom: 8px;
}

/* INPUT FIELDS */
#donation_form input[type="text"],
#donation_form input[type="email"],
#donation_form input[type="date"] {
  display: flex;
  height: 52px;
  padding: 12px 16px;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  border-radius: 4px;
  border: 1px solid var(--Gray-500, #667085);
  background: var(--Base-White, #FFF);
  width: 100%;
}

/* SELECT */
#donation_form select {
  width: 100%;
  min-height: 50px;
  border: 1px solid #667085;
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('../images/select-arrow.svg');
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 22px;
  padding-left: 16px;
  padding-right: 40px;
}

#donation_form select:hover {
  cursor: pointer;
}

/* SUBMIT */
#donation_form input[type="submit"] {
  display: flex;
  width: 100%;
  height: 52px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  align-self: stretch;
  background: linear-gradient(90deg, #653392 17.5%, #1D3C94 93%);
  color: #FFF;
  font-family: "Aktiv Grotesk";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  padding: 16px 32px;
  border-radius: 100px;
  margin-top: 16px;
}

#donation_form input[type="submit"]:hover {
  cursor: pointer;
  box-shadow: inset 0 0 0 4px var(--Turquoise-300, #4DC1C1);
  border: 1px solid #4DC1C1;
}

#donation_form input[type="checkbox"] {
  width: 32px;
  height: 32px;
  margin-right: 8px;
}

#donation_form textarea {
  border: 1px solid var(--Gray-500, #667085);
}

/* =========================
   Responsive
   ========================= */

@media screen and (min-width: 1440px) {
  .membership_form {
    max-width: 1560px;
    padding: 0;
    margin: 64px auto;
  }
}

@media (max-width: 1200px) {
  .membership_form {
    max-width: fit-content;
  }
}

@media (max-width: 828px) {
  .membership_form {
    width: 100%;
    max-width: -webkit-fill-available;
    padding: 24px;
    margin: 24px;
  }
}

@media (max-width: 767px) {
  .membership_form {
    padding: 0;
  }

  .membership_form h1 {
    font-size: 24px;
    line-height: 32px;
  }

  #donation_form .form-group {
    flex-direction: column;
  }

  .container.membership_form {
    padding: 24px;
    margin: 0;
  }

  .membership_form .column-content p {
    width: 100%;
    max-width: 100%;
    font-size: 20px;
    line-height: 26px;
    margin-left: 0;
    margin-bottom: 8px;
  }

  .two-columns-section .column-content p {
    margin-left: 0;
  }
}

.content_description h2.content_heading {
    padding-bottom: 10px;
}


.campaign {
    padding-top: 0 !important;
}

/*.campaign .container{
    max-width: 1100px;
}*/

/*.pt-0.campaign .container {
    max-width: 1100px;
    padding-top: 0;
}
*/
.campaign h3{
    color: var(--Gray-700, #344054);
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 32px;
    margin-bottom: 32px;
}

.campaign h3 strong{
    color: var(--Purple-500, #3F0077);
    font-family: "Aktiv Grotesk";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 32px; 
}

.campaign p{
    padding-bottom: 15px;
}

.campaign img{
    display: block;
    margin: 32px 0;
}

.campaign iframe{
    width: 100%;
}

.campaign li h3{
    margin-bottom: 7.5px;
}

.campaign .cta-buttons{
    padding-top: 0 !important;
}