  :root {
    --light-blue: #298FC2;

    --dark-blue: #002F6C;
    
    --grey: #54555A; 

    --white: #FFFFFF;
	
	--light-grey: #c8c8c8;
}
.asap {
    font-family: 'Asap', sans-serif;
}

.fira {
    font-family: 'Fira Sans', sans-serif;
}

.light-blue {
    color: var(--light-blue);
}

.dark-blue {
    color: var(--dark-blue);
}

.grey {
    color: var(--grey);
}

.white {
    color: var(--white);
}

.dark-blue-link {
	color: var(--dark-blue);
	text-decoration: none;
}

.dark-blue-link:hover {
	color: var(--light-blue);
	text-decoration: underline;
}

.light-blue-link {
	color: var(--light-blue);
	text-decoration: none;
}

.light-blue-link:hover {
	color: var(--dark-blue);
	text-decoration: underline;
}

.left-accent-blue {
    border-left: 1px solid var(--light-blue);
}

.left-accent-dark-blue {
    border-left: 1px solid var(--dark-blue);
}

.light-blue-border {
    border: 5px solid var(--light-blue);
}

.dark-blue-border {
    border: 5px solid var(--dark-blue);
}

.custom-rounded-card {
    border-radius: 25px;
    border-top-left-radius: 64px;
    border-bottom-right-radius: 64px;
}
.cost-card{
	border-radius: 25px;
	margin-top: -7rem;
}
.cost-dark-blue-border {
	border-left: 5px solid var(--dark-blue);
}
.cost-light-blue-border {
	border-left: 5px solid var(--light-blue);
}
.bg-program-blue {
    background-color: var(--light-blue)
}

.bg-program-dark-blue {
    background-color: var(--dark-blue);
}

.bg-program-dark-blue a,
.bg-program-dark-blue a:hover,
.bg-program-dark-blue a:visited {
    color: var(--white);
}

.bg-program-white {
    background-color: var(--white);
}

.bg-grey {
	background-color: var(--light-grey);
}

.btn-outline-darkblue {
	color: var(--dark-blue);
	border-color: var(--dark-blue);
	background-color: transparent;
	font-weight: 400;
	text-align: center;
	vertical-align: middle;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	line-height: 1.5;
	border-radius: 0.375rem;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-outline-darkblue:hover {
	color: #fff;
	background-color: var(--dark-blue);
	border-color: var(--dark-blue);
}

.btn-white {
    color: var(--dark-blue);
    border-color: var(--dark-blue);
    border-width: 2px;
    border-style: solid;
    background-color: transparent;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    padding: 0.375rem 0.75rem;
    line-height: 1.5;
    border-radius: 0.375rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    text-decoration: none;
    box-shadow: none;
	margin-bottom: 1rem;
}
.btn-white:hover {
    color: #fff;
    background-color: var(--dark-blue);
    border-color: var(--dark-blue);
    text-decoration: none;
    box-shadow: none;
}
.btn-white:focus,
.btn-white:active {
    box-shadow: none;
    text-decoration: none;
}

.btn-dark-blue {
    background-color: var(--dark-blue);
    color: var(--white);
    border: 2px solid var(--dark-blue);
    border-radius: 0.375rem;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    padding: 0.375rem 0.75rem;
    line-height: 1.5;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    text-decoration: none;
    box-shadow: none;
	margin-bottom: 1rem;
}
.btn-dark-blue:hover {
    background-color: var(--white);
    color: var(--dark-blue);
    text-decoration: none;
    box-shadow: none;
}
.btn-dark-blue:focus,
.btn-dark-blue:active {
    box-shadow: none;
    text-decoration: none;
}
.nunito {
  font-family: 'Nunito Sans', sans-serif;
}
.program-card {
    height: 200px;
	transition: outline 0.1s;
	border-radius: 10px;
    overflow: hidden;
}
.program-card img {
    object-fit: cover;
}
.program-card .caption {
    background-color: color-mix(in srgb, var(--dark-blue) 85%, transparent);
}
.program-card h4 {
	font-size: 1rem;
}
.program-card p {
	font-size: 1rem;
	line-height: 1.2;
}
.program-card:hover {
    outline: 3px solid var(--light-blue);
}

@media (min-width: 1080px) {
    .program-goals {
        margin-top: -8.6rem;
    }
}

/* Responsive accent styling */
@media (max-width: 767.98px) {
    .left-accent-blue {
        border-left: none;
        border-top: 1px solid var(--light-blue);
        padding-left: 0;
        padding-top: 1rem;
        margin-top: 1rem;
    }
    .left-accent-dark-blue {
        border-left: none;
        border-top: 1px solid var(--dark-blue);
        padding-left: 0;
        padding-top: 1rem;
        margin-top: 1rem;
    }
	.left-accent-blue-small {
                border-left: none;
                border-top: 1px solid var(--light-blue);
                padding-left: 0;
                padding-top: 1rem;
                margin-top: 1rem;
	}
	.cost-card{
		border-radius: 25px;
		margin-top: -1rem;
	}
	.cost-dark-blue-border {
		border-top: 5px solid var(--dark-blue);
		border-left: 0;
	}
	.cost-light-blue-border {
		border-top: 5px solid var(--light-blue);
		border-left: 0;
	}
}