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

@font-face {
	font-family: 'UniformCondensedBold-Regular';
	src: url(../fonts/UniformCondensedBold-Regular/font.woff2) format('woff2'),
		url(../fonts/UniformCondensedBold-Regular/font.woff) format('woff');
	font-display: swap;
}

@font-face {
	font-family: 'UniformUltra-Regular';
	src: url(../fonts/UniformUltra-Regular/font.woff2) format('woff2'),
		url(../fonts/UniformUltra-Regular/font.woff) format('woff');
	font-display: swap;
}

@font-face {
	font-family: 'UniformBold-Regular';
	src: url(../fonts/UniformBold-Regular/font.woff2) format('woff2'),
		url(../fonts/UniformBold-Regular/font.woff) format('woff');
	font-display: swap;
}

@font-face {
	font-family: 'UniformBlack-Regular';
	src: url(../fonts/UniformBlack-Regular/font.woff2) format('woff2'),
		url(../fonts/UniformBlack-Regular/font.woff) format('woff');
	font-display: swap;
}

@font-face {
	font-family: 'UniformMedium-Regular';
	src: url(../fonts/UniformMedium-Regular/font.woff2) format('woff2'),
		url(../fonts/UniformMedium-Regular/font.woff) format('woff');
	font-display: swap;
}

@font-face {
	font-family: 'UniformExtraCondensedBlack-Regular';
	src: url(../fonts/UniformExtraCondensedBlack-Regular/font.woff2) format('woff2'),
		url(../fonts/UniformExtraCondensedBlack-Regular/font.woff) format('woff');
	font-display: swap;
}

@font-face {
	font-family: 'UniformItalic-Med';
	src: url(../fonts/UniformItalic-Med/font.woff2) format('woff2'),
		url(../fonts/UniformItalic-Med/font.woff) format('woff');
	font-display: swap;
}

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

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

ul {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
}

:root {
	/* Colors */
	--text: #151515;
	--black: #000;
	--gray: #f0f0f0;
	--dark-gray: #d8dade;
	--white: #fff;

	/* Pace Colors - Primary */
	--pace-navy: #002D72;
	--pace-blue: #428ACB;
	--pace-gold: #FFB81C;
	--pace-navy-hover: #062261;
	--pace-blue-hover: #0771B2;
	--pace-gold-hover: #E6AA00;

	/* Pace Colors - Secondary */
	--pace-light-blue: #009CDE;
	--pace-red-orange: #F85957;
	--pace-purple: #A43BA7;
	--pace-mint-green: #71CC98;
	--pace-red-orange-hover: #C32D0A;
	--pace-mint-green-hover: #77A400;

	/* Pace Colors - Web */
	--pace-web-blue: #0036a1;
	--pace-web-light-blue: #4780B5;
	--pace-web-blue-hover: #002a75;

	/* Fonts */
	--uniform-condensed-bold: 'UniformCondensedBold-Regular', sans-serif;
	--uniform-ultra: 'UniformUltra-Regular', sans-serif;
	--uniform-bold: 'UniformBold-Regular', sans-serif;
	--uniform-black: 'UniformBlack-Regular', sans-serif;
	--uniform-medium: 'UniformMedium-Regular', sans-serif;
	--uniform-extra-condensed-black: 'UniformExtraCondensedBlack-Regular', sans-serif;
	--uniform-italic-medium: 'UniformItalic-Med', sans-serif;
}

::-moz-selection {
    background: var(--pace-gold);
    color: var(--text);
}

::selection {
    background: var(--pace-gold);
    color: var(--text);
}

* {
    text-rendering: optimizeLegibility;
    outline: none!important;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-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;
}

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

/* Text */
.text-navy {
	color: var(--pace-navy) !important;
}

.text-blue {
	color: var(--pace-blue) !important;
}

.text-gold {
	color: var(--pace-gold) !important;
}

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

.text-red-orange {
	color: var(--pace-red-orange) !important;
}

.text-purple {
	color: var(--pace-purple) !important;
}

.text-mint-green {
	color: var(--pace-mint-green) !important;
}

.text-web-blue {
	color: var(--pace-web-blue) !important;
}

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

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

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

/* Background */
.bg-navy {
	background-color: var(--pace-navy) !important;
}

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

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

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

.bg-red-orange {
	background-color: var(--pace-red-orange) !important;
}

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

.bg-mint-green {
	background-color: var(--pace-mint-green) !important;
}

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

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

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

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

.bg-slant-blue {
	background: linear-gradient(120deg, var(--pace-navy) 50%, var(--pace-web-blue) 50%);
}

.bg-slant-gray {
	background: linear-gradient(120deg, var(--gray) 50%, var(--dark-gray) 50%);
}

/*******************************************
:--- Font Size ---:
*******************************************/

.fs-18 {
	font-size: 1.125rem;
}

/*******************************************
:--- Box Shadow ---:
*******************************************/

.box-shadow {
    box-shadow: 0px 2px 4px rgba(0, 0, 0, .08) !important;
}

.no-box-shadow {
    box-shadow: none !important;
}

/*******************************************
:--- Border ---:
*******************************************/

.border-top-navy {
	border-top: 1px solid var(--pace-navy);	
}

.border-gold {
	border: 1px solid var(--pace-gold);	
}

/*******************************************
:--- Padding ---:
*******************************************/

.p-2rem {
	padding: 2rem !important;
}

/*******************************************
:--- Image Offset ---:
*******************************************/

.img-offset {
    position: relative;
}

.img-offset::before {
    position: absolute;
    content: '';
    display: block;
    width: calc(100% - 50%);
    height: calc(100% - 1.563rem);
    top: -1.563rem;
    left: -1.563rem;
}

.img-offset-lg::before {
    position: absolute;
    content: '';
    display: block;
    width: calc(100% - 50%);
    height: calc(100% - 1.875rem);
    top: -1.875rem;
    left: -1.875rem;
}

.img-offset.yellow::before,
.img-offset-lg.yellow::before {
    background-color: var(--pace-gold);
}

.img-offset.blue::before,
.img-offset-lg.blue::before {
    background-color: var(--pace-blue);
}

.img-offset.dark-blue::before,
.img-offset-lg.dark-blue::before {
    background-color: var(--pace-web-light-blue);
}

.img-offset.darker-blue::before,
.img-offset-lg.darker-blue::before {
    background-color: var(--pace-navy);
}

.img-offset img,
.img-offset-lg img {
    position: relative;
    width: 100%;
}

/*******************************************
:--- Button - Styles ---:
*******************************************/

.btn {
    border-radius: 0;
    color: var(--white);
    font-family: var(--uniform-bold);
    font-weight: normal;
    padding: 20px;
    text-transform: uppercase;
    line-height: 1.125rem;
}

.btn:hover,
.btn:active,
.btn:focus {
    color: var(--white);
}

.btn-primary {
    background-color: var(--pace-navy);
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    transition: background-position .35s ease !important;
    background-image: linear-gradient(120deg, var(--pace-navy), var(--pace-navy) 50%, var(--pace-web-blue) 50%, var(--pace-web-blue));
    background-repeat: no-repeat;
    background-position: 22rem 0;
    background-size: 100%;
    border: none;
	text-decoration: none !important;
    text-transform: capitalize;
    font-size: 0.938rem;
    padding: 21px 20px;
}

.btn-primary:hover {
    background-color: var(--pace-navy);
    border-color: var(--pace-navy);
    -webkit-transition: background-position .35s ease;
    transition: background-position .35s ease;
    background-position: 0 0;
}

.btn-primary.disabled,
.btn-primary:disabled {
    color: var(--white);
    background-color: var(--pace-navy);
    background-position: 10.3125rem 0;
    border-color: var(--pace-navy);
}

.btn-primary::after {
    display: inline-block;
    width: 0;
    height: 11px;
    border-top: 0.344rem solid transparent;
    border-bottom: 0.344rem solid transparent;
    border-left: 0.438rem solid var(--white);
    content: '';
    margin-left: 0.938rem;
}

.btn-secondary {
	color: var(--pace-navy);
    background-color: var(--pace-gold);
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    transition: background-position .35s ease !important;
    background-image: linear-gradient(120deg, var(--pace-gold), var(--pace-gold) 50%, var(--pace-gold-hover) 50%, var(--pace-gold-hover));
    background-repeat: no-repeat;
    background-position: 22rem 0;
    background-size: 100%;
    border: none;
	text-decoration: none !important;
    text-transform: capitalize;
    font-size: 0.938rem;
    padding: 21px 20px;
}

.btn-secondary:hover {
	color: var(--pace-navy);
    background-color: var(--pace-gold);
    border-color: var(--pace-gold);
    -webkit-transition: background-position .35s ease;
    transition: background-position .35s ease;
    background-position: 0 0;
}

.btn-secondary::after {
    display: inline-block;
    width: 0;
    height: 11px;
    border-top: 0.344rem solid transparent;
    border-bottom: 0.344rem solid transparent;
    border-left: 0.438rem solid var(--pace-navy);
    content: '';
    margin-left: 0.938rem;
}

.btn-text {
    color: var(--pace-navy);
    padding: 0;
    text-align: left;
    text-transform: capitalize;
}

.btn-text:hover,
.btn-text:focus,
.btn-text:active {
    color: var(--pace-web-blue);
}

.btn-text::after {
    display: inline-block;
    width: 0;
    height: 11px;
    border-top: 0.344rem solid transparent;
    border-bottom: 0.344rem solid transparent;
    border-left: 0.438rem solid var(--pace-navy);
    content: '';
    margin-left: 0.938rem;
}

.btn-text:hover::after,
.btn-text:focus::after,
.btn-text:active::after {
    border-left: 0.438rem solid var(--pace-web-blue);
}

.btn-text.gold {
    color: var(--pace-gold);
}

.btn-text.gold:hover::after,
.btn-text.gold::after {
    color: var(--pace-gold);
    border-left-color: var(--pace-gold);
}

.btn-text.gold:hover {
    color: var(--white);
}

.btn-link {
    color: var(--pace-navy);
	font-family: var(--uniform-medium);
    padding: 0;
    text-align: left;
	text-transform: none;
	vertical-align: baseline;
}

.btn-link:hover,
.btn-link:focus,
.btn-link:active {
    color: var(--pace-navy);
	text-decoration: none;
}

.btn-gold {
    background-color: var(--pace-gold);
}

.btn-gold:hover {
    background-color: var(--pace-gold-hover);
}

.btn-mint-green {
    background-color: var(--pace-mint-green);
}

.btn-mint-green:hover {
    background-color: var(--pace-mint-green-hover);
}

.btn-blue {
    background-color: var(--pace-blue);
}

.btn-blue:hover {
    background-color: var(--pace-blue-hover);
}

.btn-navy {
    background-color: var(--pace-navy);
}

.btn-navy:hover {
    background-color: var(--pace-navy-hover);
}

.btn-red-orange {
    background-color: var(--pace-red-orange);
}

.btn-red-orange:hover {
    background-color: var(--pace-red-orange-hover);
}

.btn-block {
	width: 100%;
}

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

@media (min-width: 1200px) {
	.w-80 {
		width: 80% !important;
	}
}