@import url(//fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap);
:root {
    --body-font-family: "Mulish", sans-serif;
    --body-font-size: 15px;
    --body-font-weight: 400;
    --body-line-height: 1.4;
    --body-color: #333333;
    --body-bg: #FFFFFF;

    --heading-font-family: "Mulish", sans-serif;
    --heading-color: #003da6;

    --link-color: #0A6AE6;
    --link-decoration: none;
    --link-hover-color: #6f42c1;
    --link-hover-decoration: underline;

    --primary: #003da6;
    --secondary: #002159;
    --complementary: #0043c6;
    --default: #0095c8;
    --accent: #f2a900;

    --eventCategory1: var(--primary);
    --eventCategory2: var(--accent);
    --eventCategory3: var(--default);
    --eventCategory4: #26aca3;
    --eventCategory5: #DB6E00;

    --primary-rgb: 0, 61, 166;
    --secondary-rgb: 0, 33, 89;
    --complementary-rgb: 0, 67, 198;
    --default-rgb: 0, 149, 200;
    --accent-rgb: 242, 169, 0;

    --success: #5cb85c;
    --info: #d9edf7;
    --warning: #FFFF00;
    --danger: #ad2222;

    --success-rgb: 92,184,92;
    --info-rgb: 217,237,247;
    --warning-rgb: 255,255,0;
    --danger-rgb: 173,34,34;

    --btn-border-width: 1px;
    --btn-border-style: solid;
    --btn-border-radius: 0;
    --btn-padding: 10px 15px 10px 15px;
    --btn-font-weight: 500;
    --btn-font-size: 16px;
    --btn-text-transform: none;

    --border-radius: 0.375rem;
    --border-radius-sm: 0.25rem;
    --border-radius-lg: 0.5rem;
    --border-radius-xl: 1rem;
    --border-radius-xxl: 2rem;
    --border-radius-2xl: var(--border-radius-xxl);
    --border-radius-pill: 50rem;
    --box-shadow: 0 0.5rem 1rem rgba(33,33,33,0.15);
    --box-shadow-sm: 0 0.125rem 0.25rem rgba(33,33,33,0.075);
    --box-shadow-lg: 0 1rem 3rem rgba(33,33,33,0.175);
    --box-shadow-inset: inset 0 1px 2px rgba(33,33,33,0.075);

}

/*Begin Basic Styles*/

body {
    font-family: var(--body-font-family);
    font-optical-sizing: auto;
    font-weight: var(--body-font-weight);
    font-style: normal;
    font-size: var(--body-font-size);
    line-height: var(--body-line-height);
    color: var(--body-color);
    background-color: var(--body-bg);
}

h1, span.custom-heading-1 {
    font-family: var(--heading-font-family);
    font-weight: 800;
    letter-spacing: 1px;
    color: var(--heading-color);
    font-size: 40px;
    margin: 20px 0px 20px 0px;
}

h2, span.custom-heading-2 {
    font-family: var(--heading-font-family);
    font-weight: 700;
    letter-spacing: 1px;
    font-size: 30px;
    margin: 20px 0px 20px 0px;
}

h3, span.custom-heading-3 {
    font-family: var(--heading-font-family);
    font-weight: 700;
    letter-spacing: 1px;
    font-size: 25px;
    margin: 20px 0px 20px 0px;
}

h4, span.custom-heading-4 {
    font-family: var(--heading-font-family);
    font-weight: 600;
    font-size: 20px;
    margin: 20px 0px 20px 0px;
}

h5, span.custom-heading-5, h6, span.custom-heading-6 {
    font-family: var(--heading-font-family);
    font-weight: 600;
    font-size: 17px;
    text-transform: uppercase;
    margin: 20px 0px 20px 0px;
}

p {
    margin: 20px 0px 20px 0px;
}

strong {
    font-weight: 700;
}

a, a:visited {
    color: var(--link-color);
    font-weight: 500;
    text-decoration: var(--link-decoration);
}

a:active, a:hover {
    color: var(--link-hover-color);
    font-weight: 500;
    text-decoration: var(--link-hover-decoration);
}

.btn, button, a[class^="custom-btn-"] {
    border-radius: var(--btn-border-radius);
    padding: var(--btn-padding);
    font-weight: var(--btn-font-weight);
    font-size: var(--btn-font-size);
    text-transform: var(--btn-text-transform);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    white-space: normal;
    text-decoration: none !important;
    display: inline-block;
}

p:has(a[class~="btn-"]:first-child:nth-last-child(n + 4)),
p:has(button:first-child:nth-last-child(n + 4)) {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    vertical-align: middle;
}

p .btn, p button, p a[class^="custom-btn-"] {
    margin: 10px 10px 10px 0px;
}

.btn-lg {
    padding: 15px 25px 15px 25px;
}

.btn-sm {
    padding: 8px 15px 8px 15px;
}

.btn-primary, .btn-primary:visited,
.custom-btn-primary, .custom-btn-primary:visited,
a.custom-btn-primary {
    background-color: var(--primary);
    border-color: var(--default);
    border-width: 2px !important;
    color: #ffffff;
}

.btn-primary:hover, .btn-primary:active,
.custom-btn-primary:hover, .custom-btn-primary:active {
    background-color: var(--complementary);
    border-color: var(--default);
    color: #ffffff;
}

.btn-default, .btn-default:visited,
.custom-btn-default, .custom-btn-default:visited,
a.custom-btn-default {
    background-color: var(--default);
    border-color: var(--default);
    color: #ffffff;
}

.btn-default:hover, .btn-default:active,
.custom-btn-default:hover, .custom-btn-default:active {
    background-color: rgba(var(--default-rgb),.90);
    border-color: rgba(var(--default-rgb),.90);
    color: #ffffff;
}

.btn-info, .btn-info:visited,
.custom-btn-info, .custom-btn-info:visited,
a.custom-btn-info {
    background-color: var(--accent);
    border-color: var(--accent);
    color: #ffffff;
}

.btn-info:hover, .btn-info:active,
.custom-btn-info:hover, .custom-btn-info:active {
    background-color: rgba(var(--accent-rgb), .90);
    border-color: rgba(var(--accent-rgb), .90);
    color: #ffffff;
}

a.list-group-item, a.list-group-item:visited {
    display: inline-block;
    background-color: var(--complementary);
    color: #ffffff;
    border-color: var(--complementary);
    border-radius: var(--btn-border-radius) !important;
    padding: var(--btn-padding);
    font-weight: var(--btn-font-weight);
    font-size: var(--btn-font-size);
    text-transform: var(--btn-text-transform);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    white-space: normal;
    text-decoration: none !important;
    margin-left: 15px;
}

a.list-group-item:hover, a.list-group-item:active {
    background-color: transparent;
    border-color: var(--complementary);
    color: var(--complementary);
}

a.list-group-item.active {
    background-color: transparent !important;
    color: var(--complementary);
}

a.list-group-item.active:hover {
    background-color: var(--complementary) !important;
    color: #ffffff;
}

.pagination {
    border-radius: var(--btn-border-radius) !important;
}

.pagination > li:first-child > a, .pagination > li:first-child > span {
    border-top-left-radius: var(--btn-border-radius) !important;
    border-bottom-left-radius: var(--btn-border-radius) !important;
}

.pagination > li:last-child > a, .pagination > li:last-child > span {
    border-top-right-radius: var(--btn-border-radius) !important;
    border-bottom-right-radius: var(--btn-border-radius) !important;
}

.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
    background-color: var(--complementary);
    color: #ffffff;
    border-color: var(--complementary);
}

span.custom-font-weight-black {
    font-weight: 900;
}

span.custom-font-weight-extrabold {
    font-weight: 800;
}

span.custom-font-weight-bold {
    font-weight: 700;
}

span.custom-font-weight-semibold {
    font-weight: 600;
}

span.custom-font-weight-medium {
    font-weight: 500;
}

span.custom-font-weight-light {
    font-weight: 300;
}

span.custom-altcaption {
    display: block;
}

span.custom-altcaption .img-caption {
    display: block;
    color: #777777;
    background-color: #EEEEEE;
    font-size: 16px;
    font-style: italic;
    font-weight: 400 !important;
    padding: 5px;
    text-align: center;
}

span.custom-caption {
    color: #777777;
    font-size: 16px;
    font-style: italic;
    font-weight: 500 !important;
}

span.custom-blockquote {
    color: #777777;
    font-size: 17px;
    font-style: italic;
    font-weight: 500 !important;
}

span.custom-blockquote-footer {
    color: #555555;
    font-size: 16px;
    font-style: normal;
    font-weight: 600 !important;
}

a .custom-blockquote-footer {
    color: var(--link-color);
    text-decoration: var(--link-decoration);
}

a:hover .custom-blockquote-footer {
    color: var(--link-hover-color);
    text-decoration: var(--link-hover-decoration);
}

span.custom-inlineblock {}

span.custom-inlineblock:has(img.custom-block-img) {
    font-weight: 600;
}

span.custom-inlineblock:has(img.custom-round-block-img) {
    font-weight: 600;
    color: #184499;
}

.nimble-widget-content img {
    max-width: 100% !important;
    height: auto !important;
}

img.custom-round-block-img {
    display: block;
    width: 100px !important;
    height: 100px !important;
    object-fit: contain;
    clip-path: inset(0 round 50%);
    margin: 10px auto 10px auto;
    background-color: var(--primary);
    color: #ffffff;
    text-align: center;
    padding: 20px;
}

img.custom-block-img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-height: 320px !important;
    object-fit: contain;
    margin: 10px auto 10px auto;
    text-align: center;
}

p:has(.custom-inlineblock) {
    display: flex;
    flex: 1 1 0px;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    vertical-align: middle;
    text-align: center;
}

ul, ol {
    margin: 15px 0px 15px 0px;
}

ul ul, ol ol, ul ol, ol ul {
    margin: 0px 0px 0px 0px;
}

ul li, ol li {
    margin-bottom: 3px;
}

ul.custom-collapse {
}

ul.custom-unordered-list, ul.custom-unordered-list-twocolumns {
}

ol.custom-ordered-list, ol.custom-ordered-list-twocolumns {
}

ul.custom-unordered-list-twocolumns, ol.custom-ordered-list-twocolumns, ul.custom-list-twocolumns, ol.custom-list-twocolumns {
    column-count: 2;
    column-gap: 40px;
}

ol:not(div *, span *) li, ul:not(div *, span *) li {
    list-style-type: disc !important;
    padding: 4px 0 !important;
    line-height: 1.25 !important;
}

ol:not(div *, span *) li::before, ul:not(div *, span *) li::after {
    content: none !important;
}

/*IMAGE ALIGNMENT*/
img.alignright, span.custom-alignright img {
    float: right;
    margin: 0 0 1.5em 1.5em;
}

img.alignleft, span.custom-alignleft img {
    float: left;
    margin: 0 1em 1em 0;
}

img.aligncenter, span.custom-aligncenter img {
    display: block;
    margin: 1em auto 1em auto;
}

img.alignnone, span.custom-alignnone img {
    display: block;
    margin: 1em;
}

span.custom-alignright, span.custom-alignleft, span.custom-aligncenter, span.custom-alignnone {

}

/*IMAGE SIZES*/
img.custom-img-sm {
    min-width: unset !important;
    width: 250px !important;
    height: auto !important;
    max-height: 400px !important;
    object-fit: cover;
    object-position: center;
}

img.custom-img-md {
    min-width: unset !important;
    width: 400px !important;
    height: auto !important;
    max-height: 550px !important;
    object-fit: cover;
    object-position: center;
}

img.custom-img-lg {
    min-width: unset !important;
    width: 550px !important;
    height: auto !important;
    max-height: 700px !important;
    object-fit: cover;
    object-position: center;
}

/*Button Styles*/
.btn-warning, .btn-warning:visited {
    background-color: var(--warning);
    border-color: var(--warning);
    color: #222222;
}

.btn-warning:hover, .btn-warning:active {
    background-color: rgba(var(--warning-rgb),.94);
    border-color: var(--warning);
    color: #222222;
}

.btn-success, .btn-success:visited {
    background-color: var(--success);
    border-color: var(--success);
    color: #ffffff;
}

.btn-success:hover, .btn-success:active {
    background-color: rgba(var(--success-rgb),.94);
    border-color: var(--success);
    color: #ffffff;
}

.btn-danger, .btn-danger:visited {
    background-color: var(--danger);
    border-color: var(--danger);
    color: #ffffff;
}

.btn-danger:hover, .btn-danger:active {
    background-color: rgba(var(--danger-rgb),.94);
    border-color: var(--danger);
    color: #ffffff;
}

.btn-login, .btn-login:visited,
.btn-search, .btn-search:visited {
    background-color: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
}
.btn-login:hover, .btn-login:active,
.btn-search:hover, .btn-search:active {
    background-color: var(--complementary);
    border-color: var(--complementary);
    color: #ffffff;
}
/*End Button Styles*/


/*Table Styles*/
.table {}
.table tbody {}
.table tbody tr:nth-child(odd) {
    background-color: #EEEEEE;
}
.table tbody tr:hover {
    background-color: #DDDDDD;
}
.table tbody th {
    background-color: var(--primary);
    color: #ffffff;
    font-weight: 500;
    font-size: 17px;
    padding: 10px 5px 10px 5px;
}
/*End Styles*/

/*SCREEN SIZES*/

@media (min-width: 992px) {

    span.custom-inlineblock {
        display: inline-block;
    }

}

@media (max-width: 991px) {

    p:has(.custom-inlineblock) {
        flex-wrap: wrap;
    }

}

/*End Basic Styles*/


/*Begin Site Specific Styles*/

span.custom-bg-color-blue {
    width: 100%;
    background-color: #dee6f4;
    color: #000000;
}

span.custom-bg-color-gold {
    width: 100%;
    background-color: #fcedc8;
    color: #000000;
}

span.custom-bg-color-grey {
    width: 100%;
    background-color: #f1f4fa;
    color: #000000;
}

/*End Site Specific Styles*/