/*******************************************
:--- Defaults ---:
*******************************************/

div,
article,
section,
header,
footer,
main,
nav,
li {
	position: relative;
}

ul {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
}

:root {
    /* Colors */
	--text: #242424;
	--primary: #273469;
    --primary-dark: #1E2749;
    --primary-light: #606B95;
	--secondary: #98D2EB;
	--secondary-light: #E1F2FE;
	--tertiary: #d0cfeb;
	--tertiary-dark: #232245;
	--dark: #242424;
	--light-grey: #f8f8f8;
	--dark-grey: #404748;
	--white: #fff;
    /* Fonts */
	--IvyPresto-Headline: "ivypresto-headline", serif;
    --IvyPresto-Text: "ivypresto-text", serif;
	--IvyStyle-Sans: "ivystyle-sans", sans-serif;
    /* Add font variables here */
	--primary-red: #ba0c2f;
	--secondary-green: #215732;
	--dark-red: #ba0c2f;
	--coral: #ff6d6a;
	--gold: #f1b434;
	--dark-green: #13322b;
	--teal: #007d8a;
	--mint: #b5e3d8;
	--gray: #d9d9d9;
	--warm-gray: #d7d2cb;
	--warm-gray-screen: #faf7ef;
	--black: #000;
}

::-moz-selection {
	background: var(--secondary);
	color: var(--white);
}

::selection {
	background: var(--primary-light);
	color: var(--white);
}

* {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/*******************************************
:--- Accessibility ---:
*******************************************/

a:focus-visible {
	outline: 2px solid;

}

.skipnav {
	background: #fff;
	clip: rect(0 0 0 0);
	color: #000;
	display: block;
	left: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	position: absolute; 
	text-decoration: none;	
	text-align: center;
	top: 0;
	width: auto;
}

.skipnav:focus {
	clip: auto;
	height: auto;
	margin: 0;
	outline: none;
	overflow: visible;
	position: absolute;
	width: 100%;
	z-index: 100;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.no-gutters>.col, .no-gutters>[class*=col-] {
    padding-right: 0;
    padding-left: 0;
}

.vertical-line {
	border-left: 1px solid var(--coral);
	padding-left: 30px;
    margin-left: 20px;
}

/*******************************************
:--- Color ---:
*******************************************/

/* Backgrounds */

.bg-primary-red {
	background-color: var(--primary-red) !important;
	color: #fff;
}

.bg-warm-gray {
	background-color: var(--warm-gray) !important;
	color: var(--dark-green);
}

.bg-warm-gray-screen {
	background-color: var(--warm-gray-screen) !important;
	color: var(--primary-red);
}

.bg-dark {
	background-color: var(--dark) !important;
}

.bg-primary {
	background-color: var(--primary) !important;
}

.bg-primary-dark {
	background-color: var(--primary-dark) !important;
}

.bg-primary-light {
	background-color: var(--primary-light) !important;
}

.bg-secondary {
	background-color: var(--secondary) !important;
}

.bg-secondary-light {
	background-color: var(--secondary-light) !important;
}

.bg-tertiary {
	background-color: var(--tertiary) !important;
}

.bg-tertiary-dark {
	background-color: var(--tertiary-dark) !important;
}

.bg-dark-grey {
	background-color: var(--dark-grey) !important;
}

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

/* Text */

.txt-dark {
	color: var(--dark) !important;
}

.txt-white {
	color: var(--white) !important;
}

/*******************************************
:--- Bootstrap Overrides ---:
*******************************************/

/* Alerts */

.alert {
	border: none;
	border-radius: 0;
	margin-bottom: 0;
	padding-right: 1rem;
}

.alert-primary {
    --bs-alert-color: #fff;
    --bs-alert-bg: #0C8346;
    --bs-alert-border-color: #01341A;
}

.alert-primary .alert-link {
	color: #fff;
}

.alert .btn-close {
	border-radius: 0;
}

.alert .btn-close:focus {
	box-shadow: none;
	outline: 2px solid;
	outline-offset: -2px;
}

/*******************************************
:--- Structural and Helpers ---:
*******************************************/

.overflow-y {
	overflow-y: hidden;
}

.inner {
	position: relative;
}

.group:after {
	display: block;
	height: 0;
	clear: both;
	content: ".";
	visibility: hidden;
	/* For clearing */
}

.table-fixed {
	table-layout: fixed;
}

.offset-img {
	margin-top: -4.5rem;
}

@media (max-width: 991px) {

}

@media (max-width: 640px) {
	.row > * {
		padding-left: 25px;
		padding-right: 25px;
	}
}
