/*******************************************
:--- 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;

    /* TexWes Colors */
	--primary-blue: #002460;
	--primary-yellow: #fed000;
	--secondary-blue: #004b8d;
	--secondary-medium-blue: #0072bc;
	--secondary-light-blue: #5c8ab9;
	--secondary-lightest-blue: #e4f4fc;
	--secondary-light-gray: #ccc;
	--secondary-cool-gray: #666;
	--secondary-black: #1a1a1a;

    /* Fonts */
    --Oswald: "Oswald", sans-serif;
    --Arial: "Arial", sans-serif;
	--Adobe-Caslon-Pro: "adobe-caslon-pro", serif;
}

::-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;
}

body {
	font-family: var(--Arial);
	background: #fff;
	color: var(--secondary-black);
	font-size: 1rem;
	line-height: 26px;
}

/*******************************************
:--- 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;
}

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

/* Backgrounds */

.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;
}

hr.light-gray {
	border-color: var(--secondary-light-gray);
}

/*******************************************
:--- 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;
}