@import url(//fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap);
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@300&display=swap');

:root {
    --body-font-family: 'Open Sans', sans-serif;
    --body-font-size: 16px;
    --body-font-weight: 400;
    --body-line-height: 1.4;
    --body-color: #000000;
    --body-bg: #FFFFFF;

    --heading-font-family: "Lexend", sans-serif;
    --heading-color: #000000;

    --font-weight-extrabold: 800;
    --font-weight-bold: 700;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-normal: 400;
    --font-weight-regular: 400;
    --font-weight-light: 300;

    --link-color: #1F64BF;
    --link-decoration: none;
    --link-hover-color: #1F32BF;
    --link-hover-decoration: underline;

    --primary: #1E95BE;
    --secondary: #A6C341;
    --complementary: #E09227;
    --default: #004158;
    --accent: #51ACCC;

    --eventCategory1: #1E95BE;
    --eventCategory2: #A6C341;
    --eventCategory3: #E09227;
    --eventCategory4: #004158;
    --eventCategory5: #51ACCC;

    --primary-rgb: 30,149,190;
    --secondary-rgb: 166,195,65;
    --complementary-rgb: 224,146,39;
    --default-rgb: 0,65,88;
    --accent-rgb: 81,172,204;

    --success: #5cb85c;
    --info: #dee6f4;
    --warning: #FFFF00;
    --danger: #CC0000;

    --success-rgb: 92,184,92;
    --info-rgb: 222,230,244;
    --warning-rgb: 255,255,0;
    --danger-rgb: 204,0,0;

    --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: 2.5rem;
    --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);

    --btn-border-width: 1px;
    --btn-border-style: solid;
    --btn-border-radius: var(--border-radius-pill);
    --btn-padding: 10px 15px 10px 15px;
    --btn-font-weight: 600;
    --btn-font-size: 16px;
    --btn-text-transform: uppercase;
}

/*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, .h1, span.custom-heading-1 {
    font-weight: var(--font-weight-medium);
    font-family: var(--heading-font-family);
    color: var(--heading-color);
    font-size: 38px;
    margin: 25px 0px 25px 0px;
}

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

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

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

h5, .h5, span.custom-heading-5, h6, .h6, span.custom-heading-6 {
    font-family: var(--heading-font-family);
    font-weight: 600;
    font-size: 18px;
    margin: 25px 0px 25px 0px;
}

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

strong {
    font-weight: 600;
}

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

a:active, a:hover {
    color: var(--link-hover-color);
    font-weight: 600;
    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,
.btn-red, .btn-red:visited,
.custom-btn-primary, .custom-btn-primary:visited,
a.custom-btn-primary  {
    background-color: var(--default);
    border-color: var(--default);
    border-width: 2px !important;
    color: #ffffff;
}

.btn-primary:hover, .btn-primary:active,
.btn-red:hover, .btn-red:active,
.custom-btn-primary:hover, .custom-btn-primary:active {
    background-color: rgba(var(--default-rgb),.95);
    border-color: rgba(var(--default-rgb),.95);
    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-bold {
    font-weight: 900;
}

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

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

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: 600 !important;
}

span.custom-blockquote {
    color: #777777;
    font-size: 17px;
    font-style: italic;
    font-weight: 600 !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;
}

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

img.custom-staff-img {
    height: 230px;
    border-radius: 20px;
    width: auto !important;
    object-fit: cover;
    object-position: center;
}

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

span.custom-callout {

}

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 1em 1em;
}

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-responsive {
    border: 1px solid #eee;
    border-radius: 20px;
    box-shadow: 0px 2px 10px #eee;
    margin: 10px 0;
}

.table th {
    background: rgba(var(--accent-rgb),.10);
    padding: 14px 10px !important;
}

.table th:first-child {
     border-radius: 20px 0 0 0;
 }

.table th:last-child {
     border-radius: 0 20px 0 0;
 }

.table tbody tr td:first-child, th:first-child {
    padding-left: 20px !important;
}

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

/*End Site Specific Styles*/