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

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

ul {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
}

:root {
    /* Colors */
	--text: #444;
	--dark-blue: #033C5A;
	--light-blue: #0073AA;
	--accent-yellow: #FFD400;
	--accent-yellow-alt: #b89900;
	--accent-buff: #AA9868;
	--accent-utility-buff: #E3DCCC;
	--accent-hover-buff: #d9d0bb;
	--white: #fff;
	--black: #000;
}

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

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

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

/* Shadows */

.xs-shadow {
	box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25);
}

/* Negative margins */

.xs-negative-margin {
	margin-top: -6rem;
}

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

/*******************************************
:--- Fonts ---:
*******************************************/

/* Liberator */
@font-face {
    font-family: 'Liberator';
    src: local('Liberator'),
        url('../fonts/liberator.woff2') format('woff2'),
        url('../fonts/liberator.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

.font-liberator {
	font-family: 'Liberator', sans-serif !important;
}

/* Gibson */
.font-gibson {
	font-family: canada-type-gibson, sans-serif;
}

/* Adobe Caslon Pro */
.font-caslon {
	font-family: adobe-caslon-pro, serif;
}

.marketing-text {
	font-size: 1.375rem;
}

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

/* Backgrounds */

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

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

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

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

.bg-accent-utility-buff {
	background-color: var(--accent-utility-buff) !important;
}

/* Text */

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

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

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

.txt-yellow {
	color: var(--accent-yellow) !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;
}

/*******************************************
:--- Chat ---:
*******************************************/

.live-chat {
	cursor:pointer; 
}