/*Styles defined in this CSS file determine how they appear in admin, not on the website itself necessarily*/


@import url("https://use.typekit.net/pih5yaw.css");
:root {
    --body-font-family: mundial-narrow-variable, sans-serif;
    --body-font-size: 22px;
    --body-font-weight: 400;
    --body-line-height: 1.4;
    --body-color: #333333;
    --body-bg: #FFFFFF;

    --heading-font-family: caslonian-std-l, sans-serif;
    --heading-color: var(--primary);

    --link-color: #222222;
    --link-decoration: none;
    --link-hover-color: #444444;
    --link-hover-decoration: underline;

    --primary: #d22030;
    --secondary: #222222;
    --complementary: #222222;
    --default: #d22030;
    --accent: #d22030;

    --primary-rgb: 0,61,166;
    --secondary-rgb: 0,33,89;
    --complementary-rgb: 0,67,198;
    --default-rgb: 0,149,200;
    --accent-rgb: 242,69,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-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-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: 400;
    margin: 20px 0px 20px 0px;
    text-shadow: -2px 2px 4px rgba(0,0,0,0.4);
}

h2, span.custom-heading-2 {
    font-family: var(--heading-font-family);
    font-weight: 300;
    margin: 20px 0px 20px 0px;
    text-shadow: -2px 2px 4px rgba(0,0,0,0.4);
}

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

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

h5, span.custom-heading-5, h6, span.custom-heading-6 {
    font-family: var(--heading-font-family);
    font-weight: 300;
    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);
}

span.custom-heading {
    text-transform: uppercase;
    letter-spacing: 5px;
    padding: 10px;
}

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

span.custom-heading {
    text-transform: uppercase;
    letter-spacing: 5px;
    padding: 10px;
}

span.custom-red-border-bottom {
    padding: 10px;
    &::after {
        content: '';
        background: #d22030;
        height: 2px;
        width: 200px;
        display: block;
        margin: 20px auto 0 auto;
    }
}

span.custom-red-block {
    text-align: center;
    background: #d22030;
    color: white;
    border-radius: 20px;
    display: block;
    padding: 26px 30px 30px 30px;
    font-size: 26px;
    font-family: 'mundial-narrow-variable';
    font-weight: 200;
    text-shadow: -2px 2px 8px rgba(0, 0, 0, 0.4), -1px 1px 1px rgba(0, 0, 0, 0.3);
}

p.custom-testimonial-block {
    background: #efefef;
    color: #222;
    margin: 10px;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
    border-radius: 20px;
    font-size: 18px;
}

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

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

img.custom-350 {
    height: 350px !important;
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.btn-fancy-black-box, .btn-fancy-black-box:visited,
.custom-btn-fancy-black-box, .custom-btn-fancy-black-box:visited,
a.custom-btn-fancy-black-box {
    background-color: var(--secondary);
    border-color: var(--secondary);
    border-width: 3px !important;
    color: #ffffff;
    border-radius: 0 !important;
    padding: 20px 30px 20px 30px;
    display: inline-block;
    font-family: var(--heading-font-family);
    text-transform: uppercase;
    transition: all .2s;
}

.btn-fancy-black-box:hover, .btn-fancy-black-box:active,
.custom-btn-fancy-black-box:hover, .custom-btn-fancy-black-box:active {
    filter: brightness(0.8);
    color: #ffffff;
    transition: all .2s;
}

.btn-red-box, .btn-red-box:visited,
.custom-btn-red-box, .custom-btn-red-box:visited,
a.custom-btn-red-box {
    background-color: var(--default);
    border-color: var(--default);
    border-width: 2px !important;
    color: #ffffff;
    padding: 10px 30px 15px 30px;
    border-radius: 10px;
    display: inline-block;
    transition: all .2s;
}

.btn-red-box:hover, .btn-red-box:active,
.custom-btn-red-box:hover, .custom-btn-red-box:active {
    filter: brightness(0.8);
    color: #ffffff;
    transition: all .2s;
}

.btn-black-box, .btn-black-box:visited,
.custom-btn-black-box, .custom-btn-black-box:visited,
a.custom-btn-black-box {
    background-color: var(--secondary);
    border-color: var(--secondary);
    color: white;
    padding: 10px 30px 15px 30px;
    border-radius: 10px;
    display: inline-block;
    transition: all .2s;
}

.btn-black-box:hover, .btn-black-box:active,
.custom-btn-black-box:hover, .custom-btn-black-box:active {
    filter: brightness(1.2);
    color: white;
    transition: all .2s;
}

.btn-black-border-box, .btn-black-border-box:visited,
.custom-btn-black-border-box, .custom-btn-black-border-box:visited,
a.custom-btn-black-border-box {
    background-color: transparent;
    border-color: var(--secondary);
    color: var(--secondary);
    padding: 10px 30px 15px 30px;
    border-radius: 10px;
    display: inline-block;
    transition: all .2s;
}

.btn-black-border-box:hover, .btn-black-border-box:active,
.custom-btn-black-border-box:hover, .custom-btn-black-border-box:active {
    background-color: var(--secondary);
    border-color: var(--secondary);
    color: white;
    transition: all .2s;
}

.btn-white-border-box, .btn-white-border-box:visited,
.custom-btn-white-border-box, .custom-btn-white-border-box:visited,
a.custom-btn-white-border-box {
    background-color: transparent;
    border-color: #222222;
    color: #222222;
    padding: 10px 30px 15px 30px;
    border-radius: 10px;
    display: inline-block;
    transition: all .2s;
}

.btn-white-border-box:hover, .btn-white-border-box:active,
.custom-btn-white-border-box:hover, .custom-btn-white-border-box:active {
    background-color: white;
    transition: all .2s;
    border-color: white;
    color: var(--secondary);
}

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-30 {
    font-size: 30px !important;
}

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: #555555;
    background-color: #EEEEEE;
    font-size: 16px;
    font-style: italic;
    font-weight: 400 !important;
    padding: 5px;
    text-align: center;
}

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

span.custom-blockquote {
    color: #555555;
    font-size: 24px;
    font-style: italic;
    font-weight: 300 !important;
    box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.1);
    border-radius: 20px;
    padding: 60px 30px;
    display: block;
}

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.custom-collapse {}

/*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 {}
.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*/



/*End Site Specific Styles*/