﻿@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 0.9rem;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: #0071c1;
    text-decoration: none;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }


.message-fixed {
    position: sticky;
    top: 0px;
    left: 0px;
    width: 100%;
    z-index: 99;
    border-radius: 0px;
}

.form-border {
    border-radius: 20px 20px 20px 20px;
    border-color: rgba(30, 115, 190, 0.8);
    border-style: solid;
    border-width: 1px;
    padding: 0px 11px 0px 11px;
    margin: 10px;
    margin-bottom: 30px;
}

.form-title {
    border-radius: 20px 20px 0px 0px;
    background-color: rgba(30, 115, 190, 0.8);
    color: #ffffff;
    padding: 5px;
    margin-top: -1px;
}

.form-body {
    padding: 10px;
}

.form-row {
    padding: 10px 0px;
}

.form-action-buttons {
    margin: 5px;
}

.row{
    padding: 5px 0px;
}

.show-data {
    font-weight: bold;
    color: black;
}

.show-data-title {
    font-weight: bold;
    color: white;
}

.show-data-html {
    color: black;
}

    .show-data-html p {
        padding: 0px;
    }

    .show-data-html ul {
        margin-left: 40px;
    }

.inline {
    display: inline !important;
}

.show-data-checkbox {
    transform: scale(1.5);
}

.checkbox-size {
    width: 1.5rem;
    height: 1.5rem;
}

.radiobutton-size {
    width: 1.5rem;
    height: 1.5rem;
}

.required-field {
    color: red;
    font-weight: bold;
}


thead tr {
    background: rgba(30, 115, 190, 0.5);
}

.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
    background-color: rgba(30, 115, 190, 0.2);
}

/*.alert-warning {
    color: #856404 !important;
    background-color: #fff3cd !important;
}

.alert-success {
    color: #155724 !important;
    background-color: #d4edda !important;
}

.alert-primary {
    color: #052c65 !important;
    background-color: #cfe2ff !important;
}
*/

/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
}

    .screen-reader-text:focus {
        background-color: #f1f1f1;
        border-radius: 3px;
        box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
        clip: auto !important;
        color: #21759b;
        display: block;
        font-size: 1.4rem;
        font-weight: bold;
        height: auto;
        left: 5px;
        line-height: normal;
        padding: 15px 23px 14px;
        text-decoration: none;
        top: 5px;
        width: auto;
        z-index: 100000; /* Above WP toolbar. */
    }


/*--------------------------------------------------------------
# Site Footer
--------------------------------------------------------------*/

.site-footer {
    background-color: #1e73be;
    color: #616a74;
    position: relative;
    text-align: center;
    z-index: 1;
    margin-top: auto;
}

.widget-area {
    font-size: 90%;
    margin: 0 auto;
    max-width: 80%;
    padding: 7rem 0;
    position: relative;
}

.is-singular.has-post-thumbnail:not(.home):not(.page-template-eventbrite-index) .widget-area {
    max-width: calc(72% + 4em);
}

.widget-area .widget {
    float: left;
    margin: 0 0 60px;
    padding: 0 30px;
    width: 24.5%;
}

.widget-area.widget-one .widget,
.has-post-thumbnail.is-singular:not(.home):not(.single-format-image):not(.page-template-eventbrite-index) .widget-area.widget-one .widget {
    width: 100%;
}

.widget-area.widgets-two .widget,
.has-post-thumbnail.is-singular:not(.home):not(.single-format-image):not(.page-template-eventbrite-index) .widget-area .widget,
.has-post-thumbnail.is-singular:not(.home):not(.single-format-image):not(.page-template-eventbrite-index) .widget-area.widgets-three .widget {
    width: 49.5%;
}

.widget-area.widgets-three .widget {
    width: 33%;
}

.footer-bottom-info {
    background-color: #242629;
    font-size: 0.8rem;
    padding: 3rem 5.5rem;
}

    .footer-bottom-info a {
        color: inherit;
    }

    .footer-bottom-info.has-social-menu .site-info {
        float: left;
    }

    .footer-bottom-info.has-social-menu .social-links {
        float: right;
    }

.is-singular.has-post-thumbnail .footer-bottom-info.has-social-menu .site-info,
.is-singular.has-post-thumbnail .footer-bottom-info.has-social-menu .social-links {
    float: none;
}

.is-singular.has-post-thumbnail .footer-bottom-info .social-links {
    padding-bottom: 10px;
}

/*
 * Infinite Footer
 */

#infinite-footer .container {
    float: right;
    margin: 0;
}


/*--------------------------------------------------------------
## Widgets
--------------------------------------------------------------*/

.widget {
    color: #616a74;
    margin: 0 0 1.5em;
    text-align: left;
}

.widget-title {
    color: #8c97a2;
    font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin: 0 0 1.62em;
    text-align: left;
    text-transform: uppercase;
}

.widget-area a,
.widget-area select {
    /*color: #858d95;*/
    color: #ffffff;
}

.widget-title a {
    color: inherit;
}

/* widget forms */
.widget input,
.widget select,
.widget textarea {
    /*background-color: rgba(0,0,0,0.1);
	border-color: #4d545b;*/
    width: 100%;
}

    .widget button,
    .widget input[type="submit"] {
        background-color: rgba(0,0,0,0.1);
        border: 1px solid #363b40;
        color: #858d95;
    }

/* widget lists */

.widget ul {
    list-style: none;
    margin: 0;
}

    .widget ul li {
        border-bottom: 1px solid #363b40;
        border-top: 1px solid #363b40;
        padding: 8px 0;
        display: inline;
    }

        .widget ul li + li {
            margin-top: -1px;
        }

        .widget ul li ul {
            bottom: -.38em;
            margin: 0 0 -1px;
            position: relative;
        }

        .widget ul li li {
            border: 0;
            padding: 6px 0 6px 1.5rem;
        }

/* Widget lists of links */

.widget_nav_menu ul li ul,
.widget_top-posts ul li ul,
.widget_rss_links ul li ul,
.widget-grofile ul.grofile-links li ul,
.widget_pages ul li ul,
.widget_meta ul li ul {
    bottom: 0;
}

.widget_nav_menu ul li,
.widget_nav_menu ul li li,
.widget_top-posts ul li,
.widget_top-posts ul li li,
.widget_rss_links ul li,
.widget_rss_links ul li li,
.widget-grofile ul.grofile-links li,
.widget-grofile ul.grofile-links li li,
.widget_pages ul li,
.widget_pages ul li li,
.widget_meta ul li,
.widget_meta ul li li {
    padding-bottom: 0;
    padding-top: 0;
}

    .widget_nav_menu ul li a,
    .widget_top-posts ul li a,
    .widget_rss_links ul li a,
    .widget-grofile ul.grofile-links li a,
    .widget_pages ul li a,
    .widget_meta ul li a {
        display: block;
        padding-bottom: 8px;
        padding-top: 8px;
    }

    .widget_nav_menu ul li li a,
    .widget_top-posts ul li li a,
    .widget_nav_menu ul li li a,
    .widget_rss_links ul li li a,
    .widget-grofile ul.grofile-links ul li li a,
    .widget_pages ul li li a,
    .widget_meta ul li li a {
        padding-bottom: 6px;
        padding-top: 6px;
    }

/* widget markup */
.widget h1,
.widget h2,
.widget h3,
.widget h4,
.widget h5,
.widget h6 {
    /*color: #8c97a2;*/
    color: #ffffff;
    font-family: "Lato", "Helvetica Neue", Helvetica, sans-serif;
}

.widget .post-date,
.widget .rss-date {
    font-size: .81em;
}

/* Widget table */
.widget table,
.widget th,
.widget td {
    border-color: #48515b;
}

.widget thead tr,
.widget tr:hover {
    background-color: rgba(0,0,0,0.2);
}

/**
 * Text widget
 */

.widget_text {
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}

/**
 * Archives, Categories, Menu, Pages, Recent Comments, Recent Posts
 */

.widget .rss-date {
    display: block;
}


/**
* Calendar
*/

.widget_calendar table {
    margin: 0;
}

    .widget_calendar table a {
        text-decoration: underline;
    }

.widget_calendar caption {
    padding: 0 0 10px;
    text-align: left;
}

.widget_calendar tr:hover {
    background: transparent;
}

.widget_calendar tr th,
.widget_calendar tr td {
    border: 0;
    height: 2.62em;
    padding: 0;
    text-align: center;
    width: auto;
}

    .widget_calendar tr td#prev,
    .widget_calendar tr td#next {
        font-size: 1.5rem;
        padding-left: 10px;
        padding-right: 10px;
    }

    .widget_calendar tr td#prev {
        text-align: left;
    }

    .widget_calendar tr td#next {
        text-align: right;
    }

.widget_calendar tbody a {
    display: block;
    height: 100%;
    line-height: 2.62;
    width: 100%;
}

.widget_calendar tfoot a {
    color: inherit;
}

/**
* Contact Info Widget
*/

.widget_contact_info .contact-map {
    margin-bottom: 0.5em;
}

/**
* Goodreads
*/

.widget_goodreads div[class^="gr_custom_container"] {
    background: transparent;
    border: 0;
    padding: 0;
}

.widget_goodreads div[class^="gr_custom_each_container"] {
    border-bottom: 0;
    color: #858d95;
}

    .widget_goodreads div[class^="gr_custom_each_container"] a {
        color: inherit;
    }

.widget_goodreads div[class^="gr_custom_author"] {
    font-size: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/**
* Gravatar
*/

.widget-grofile h4 {
    font-size: 16px;
    margin-bottom: 0;
}

/* Recent Comments */

.widget_recent_comments table,
.widget_recent_comments th,
.widget_recent_comments td {
    border: 0;
}

.widget_recent_comments tr:hover {
    background-color: transparent;
}

/**
* Recent Posts widget
*/

.widget_recent_entries ul li a,
.widget_recent_entries .post-date {
    display: block;
}

/**
* Search
*/

.widget_search input {
    color: #858d95;
}

.widget_search ::-webkit-input-placeholder {
    color: #616a74;
}

.widget_search :-moz-placeholder { /* Firefox 18- */
    color: #616a74;
}

.widget_search ::-moz-placeholder { /* Firefox 19+ */
    color: #616a74;
}

.widget_search :-ms-input-placeholder {
    color: #616a74;
}

.widget_search input[type="submit"] {
    display: none;
}

/**
* Social Icons
*/

.widget_wpcom_social_media_icons_widget ul li {
    border: 0;
}

    .widget_wpcom_social_media_icons_widget ul li a {
        -webkit-transition: opacity 0.3s;
        transition: opacity 0.3s;
    }

        .widget_wpcom_social_media_icons_widget ul li a:hover {
            opacity: 0.7;
        }

/**
* Tag cloud widget
*/

.tagcloud,
.widget_tag_cloud,
.wp_widget_tag_cloud {
    line-height: 1.62;
}

    .widget .tagcloud a,
    .widget.widget_tag_cloud a,
    .wp_widget_tag_cloud a {
        background: rgba(0,0,0,0);
        border: 1px solid #363b40;
        display: inline-block;
        float: left;
        font-size: 1.5rem !important; /* !important to overwrite inline styles */
        margin: 4px 4px 0 0 !important;
        padding: 4px 10px 5px !important;
        position: relative;
        -webkit-transition: background 0.2s;
        transition: background 0.2s;
        width: auto;
        -ms-word-wrap: break-word;
        word-wrap: break-word;
        z-index: 0;
    }

        .widget .tagcloud a:hover,
        .widget.widget_tag_cloud a:hover,
        .wp_widget_tag_cloud a:hover {
            background: rgba(0,0,0,0.1);
            text-decoration: none;
        }

/*--------------------------------------------------------------
## Social Media Nav
--------------------------------------------------------------*/

.social-links ul,
.social-links ul li,
.widget_nav_menu ul,
.widget_nav_menu ul li {
    list-style: none;
}

    .social-links ul,
    .social-links ul li {
        margin: 0;
        padding: 0;
    }

    .widget_nav_menu ul li :before {
        margin-right: 5px;
    }

    .social-links ul li {
        display: inline-block;
        font-size: 1.8rem;
        line-height: 1;
        margin: 0 0.5em;
    }

        .social-links ul li a {
            display: inline-block;
            height: 20px;
            -webkit-transition: opacity 0.3s;
            transition: opacity 0.3s;
            width: 20px;
        }

            .social-links ul li a:hover {
                opacity: 0.7;
                text-decoration: none;
            }

    .social-links ul a:before {
        content: "\f512";
    }

    .social-links ul a[href*="facebook.com"]:before {
        content: "\f204";
    }

    .social-links ul a[href*="twitter.com"]:before {
        content: "\f202";
    }

    .social-links ul a[href*="dribbble.com"]:before {
        content: "\f201";
    }

    .social-links ul a[href*="plus.google.com"]:before {
        content: "\f206";
    }

    .social-links ul a[href*="pinterest.com"]:before {
        content: "\f209";
    }

    .social-links ul a[href*="github.com"]:before {
        content: "\f200";
    }

    .social-links ul a[href*="tumblr.com"]:before {
        content: "\f214";
    }

    .social-links ul a[href*="youtube.com"]:before {
        content: "\f213";
    }

    .social-links ul a[href*="flickr.com"]:before {
        content: "\f211";
    }

    .social-links ul a[href*="vimeo.com"]:before {
        content: "\f212";
    }

    .social-links ul a[href*="instagram.com"]:before {
        content: "\f215";
    }

    .social-links ul a[href*="codepen.io"]:before {
        content: "\f216";
    }

    .social-links ul a[href*="linkedin.com"]:before {
        content: "\f207";
    }

    .social-links ul a[href*="foursquare.com"]:before {
        content: "\f226";
    }

    .social-links ul a[href*="reddit.com"]:before {
        content: "\f222";
    }

    .social-links ul a[href*="digg.com"]:before {
        content: "\f221";
    }

    .social-links ul a[href*="getpocket.com"]:before {
        content: "\f224";
    }

    .social-links ul a[href*="path.com"]:before {
        content: "\f219";
    }

    .social-links ul a[href*="stumbleupon.com"]:before {
        content: "\f223";
    }

    .social-links ul a[href*="spotify.com"]:before {
        content: "\f515";
    }

    .social-links ul a[href*="twitch.tv"]:before {
        content: "\f516";
    }

    .social-links ul a[href*="dropbox.com"]:before {
        content: "\f225";
    }

    .social-links ul a[href*="/feed"]:before {
        content: "\f515";
    }

    .social-links ul a[href*="skype"]:before {
        content: "\f220";
    }

    .social-links ul a[href*="wordpress.org"]:before,
    .social-links ul a[href*="wordpress.com"]:before {
        content: "\f205";
    }

    .social-links ul a[href*="mailto"]:before {
        content: "\f410";
    }

/*--------------------------------------------------------------
# Portal UI foundation
--------------------------------------------------------------*/

:root {
    --portal-brand-900: #1d4885;
    --portal-brand-700: #1e73be;
    --portal-brand-500: #3d8bce;
    --portal-text: #242629;
    --portal-text-muted: #616a74;
    --portal-border: #dce5ee;
    --portal-surface: #fff;
    --portal-surface-muted: #f3f7fb;
    --portal-shadow-sm: 0 0.4rem 1.2rem rgba(36, 38, 41, 0.07);
    --portal-shadow-md: 0 0.85rem 2rem rgba(29, 72, 133, 0.12);
}

html,
body {
    color: var(--portal-text);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 0.94rem;
    line-height: 1.55;
    min-width: 20rem;
}

body {
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--portal-text);
    font-weight: 700;
}

a,
.btn-link {
    color: var(--portal-brand-700);
    text-underline-offset: 0.16em;
}

a:hover,
a:focus-visible,
.btn-link:hover,
.btn-link:focus-visible {
    color: var(--portal-brand-900);
}

:focus-visible {
    outline: 0.2rem solid rgba(30, 115, 190, 0.35);
    outline-offset: 0.15rem;
}

.row {
    padding-bottom: 0;
    padding-top: 0;
}

.form-border {
    background: var(--portal-surface);
    border: 1px solid var(--portal-border);
    border-radius: 1rem;
    box-shadow: var(--portal-shadow-sm);
    margin: 0 0 1.5rem;
    overflow: hidden;
    padding: 0;
}

.form-border:hover {
    border-color: #ccd9e6;
}

.form-title {
    align-items: center;
    background: linear-gradient(120deg, var(--portal-brand-900), var(--portal-brand-700));
    border-radius: 0;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.015em;
    margin: 0;
    min-height: 3.2rem;
    padding: 0.75rem 1.1rem;
}

.form-body {
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.form-row {
    align-items: center;
    padding-bottom: 0.55rem;
    padding-top: 0.55rem;
}

.form-row:first-child {
    padding-top: 0;
}

.form-row:last-child {
    padding-bottom: 0;
}

.form-action-buttons {
    margin: 0.25rem 0.35rem 0.25rem 0;
}

label,
.form-label {
    color: #425466;
    font-size: 0.86rem;
    font-weight: 650;
    margin-bottom: 0.35rem;
}

.form-control,
.form-select,
input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]),
select,
textarea {
    background-color: #fff;
    border-color: #cfdbe7;
    border-radius: 0.65rem;
    color: var(--portal-text);
    min-height: 2.7rem;
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

.form-control:focus,
.form-select:focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):focus,
select:focus,
textarea:focus {
    border-color: var(--portal-brand-500);
    box-shadow: 0 0 0 0.22rem rgba(30, 115, 190, 0.14);
    outline: 0;
}

.form-control:disabled,
.form-select:disabled,
.form-control[readonly] {
    background-color: #eef3f7;
    color: #6f7d89;
}

.valid.modified:not([type="checkbox"]) {
    border-color: #2c9a65;
    outline: 0;
}

.invalid {
    border-color: #c84545;
    outline: 0;
}

.validation-message,
.required-field {
    color: #b32121;
    font-size: 0.8rem;
    font-weight: 650;
}

.form-check-input,
.checkbox-size,
.radiobutton-size {
    accent-color: var(--portal-brand-700);
}

.checkbox-size,
.radiobutton-size {
    height: 1.25rem;
    width: 1.25rem;
}

.btn {
    align-items: center;
    border-radius: 0.65rem;
    display: inline-flex;
    font-weight: 650;
    justify-content: center;
    line-height: 1.25;
    min-height: 2.55rem;
    padding: 0.55rem 0.9rem;
    transition: box-shadow 150ms ease, transform 150ms ease, background-color 150ms ease, border-color 150ms ease;
}

.btn:hover:not(:disabled):not(.disabled) {
    box-shadow: 0 0.4rem 0.9rem rgba(36, 38, 41, 0.12);
    transform: translateY(-0.08rem);
}

.btn:disabled,
.btn.disabled {
    box-shadow: none;
    cursor: not-allowed;
    opacity: 0.58;
}

.btn-primary {
    background-color: var(--portal-brand-700);
    border-color: var(--portal-brand-700);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus-visible {
    background-color: var(--portal-brand-900);
    border-color: var(--portal-brand-900);
    color: #fff;
}

.btn-secondary {
    background-color: #616a74;
    border-color: #616a74;
}

.btn-outline-info {
    border-color: var(--portal-brand-700);
    color: var(--portal-brand-900);
}

.btn-outline-info:hover,
.btn-outline-info:focus-visible {
    background-color: var(--portal-brand-700);
    border-color: var(--portal-brand-700);
    color: #fff;
}

.table-responsive {
    background: var(--portal-surface);
    border: 1px solid var(--portal-border);
    border-radius: 0.85rem;
    box-shadow: var(--portal-shadow-sm);
    overflow: auto;
}

.form-border .table-responsive,
.card .table-responsive,
.data-panel__table {
    box-shadow: none;
}

.data-panel {
    background: var(--portal-surface);
    border: 1px solid var(--portal-border);
    border-radius: 1rem;
    box-shadow: var(--portal-shadow-sm);
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.data-panel--filters {
    overflow: visible;
}

.data-panel__body {
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.data-panel__toolbar {
    align-items: center;
    background: var(--portal-surface-muted);
    border-bottom: 1px solid var(--portal-border);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    min-height: 3.5rem;
    padding: 0.65rem 1rem;
}

.data-panel > .data-panel__toolbar:first-child {
    border-radius: calc(1rem - 1px) calc(1rem - 1px) 0 0;
}

.data-panel__toolbar .pagination {
    margin: 0;
}

.data-panel__heading {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.data-panel__eyebrow {
    color: var(--portal-brand-900);
    font-size: 0.82rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.data-panel__description {
    color: var(--portal-text-muted);
    font-size: 0.86rem;
}

.data-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.data-panel__summary {
    align-items: center;
    color: var(--portal-text-muted);
    display: inline-flex;
    font-size: 0.86rem;
    gap: 0.55rem;
}

.data-panel__summary strong {
    align-items: center;
    background: #fff;
    border: 1px solid var(--portal-border);
    border-radius: 999px;
    color: var(--portal-brand-900);
    display: inline-flex;
    font-size: 0.82rem;
    justify-content: center;
    min-height: 1.8rem;
    min-width: 1.8rem;
    padding: 0.15rem 0.55rem;
}

.page-actions {
    align-items: center;
    background: var(--portal-surface);
    border: 1px solid var(--portal-border);
    border-radius: 1rem;
    box-shadow: var(--portal-shadow-sm);
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: flex-end;
    margin: 0 0 1.5rem;
    padding: 0.85rem 1rem;
}

.table-actions {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 0.4rem;
    justify-content: flex-end;
}

.data-panel__table {
    border: 0;
    border-radius: 0;
}

.table {
    color: #36414c;
    margin-bottom: 0;
}

.table > :not(caption) > * > * {
    border-bottom-color: #e6edf4;
    padding: 0.8rem 0.75rem;
    vertical-align: middle;
}

.table:not(.table-borderless) > :not(caption) > * > *:not(:last-child) {
    border-right: 1px solid #e6edf4;
}

.table thead tr,
thead tr {
    background: #e6f1fb;
}

.table thead th {
    border-bottom: 1px solid #c9dceb;
    color: var(--portal-brand-900);
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    white-space: nowrap;
}

.table-striped > tbody > tr:nth-of-type(odd) > *,
.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
    background-color: #f7f9fc;
    color: inherit;
}

.table tbody tr {
    transition: background-color 120ms ease;
}

.table tbody tr:hover > * {
    background-color: #edf5fc;
}

.table > tbody > tr.table-warning > * {
    background-color: #fff8e7;
    color: #6f4a0d;
}

.table > tbody > tr.table-danger > * {
    background-color: #fcecec;
    color: #7d2525;
}

.table > tbody > tr.table-primary > * {
    background-color: #eaf3fb;
    color: #24496d;
}

.table > tbody > tr.table-warning > *:first-child {
    box-shadow: inset 0.24rem 0 #d18b1c;
}

.table > tbody > tr.table-danger > *:first-child {
    box-shadow: inset 0.24rem 0 #c84545;
}

.table > tbody > tr.table-primary > *:first-child {
    box-shadow: inset 0.24rem 0 var(--portal-brand-500);
}

.card {
    border-color: var(--portal-border);
    border-radius: 0.9rem;
    box-shadow: var(--portal-shadow-sm);
    overflow: hidden;
}

.card-header {
    background: var(--portal-surface-muted);
    border-bottom-color: var(--portal-border);
    color: var(--portal-brand-900);
    font-weight: 700;
}

.show-data {
    color: var(--portal-text);
    font-weight: 650;
}

.show-data-title {
    color: #fff;
    font-weight: 700;
}

.show-data-html {
    color: var(--portal-text);
    line-height: 1.65;
}

.message-fixed {
    left: 0;
    position: sticky;
    top: 0.75rem;
    width: 100%;
    z-index: 99;
}

.message-fixed .alert {
    border: 1px solid currentColor;
    border-radius: 0.85rem;
    box-shadow: var(--portal-shadow-md);
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
}

.message-fixed .alert .row {
    align-items: center;
}

.message-fixed .alert-heading {
    color: inherit;
    font-size: 1rem;
    margin: 0;
}

/*.alert-info,
.alert-primary {
    background-color: #e6f1fb;
    color: var(--portal-brand-900);
}

.alert-warning {
    background-color: #fff8e7 !important;
    color: #7a520f !important;
}

.alert-success {
    background-color: #e8f6ef !important;
    color: #17613f !important;
}

.alert-danger {
    background-color: #fcecec;
    color: #8d2525;
}
*/
.pagination {
    flex-wrap: wrap;
    gap: 0.3rem;
    margin: 1rem 0 0;
}

.page-link {
    border: 1px solid var(--portal-border);
    border-radius: 0.55rem !important;
    color: var(--portal-brand-900);
    cursor: pointer;
    min-width: 2.35rem;
    text-align: center;
}

.page-link:hover,
.page-link:focus-visible {
    background: #e6f1fb;
    border-color: #bdd3e6;
    color: var(--portal-brand-900);
}

.page-item.active .page-link {
    background-color: var(--portal-brand-700);
    border-color: var(--portal-brand-700);
    color: #fff;
}

.modal.show {
    background: rgba(20, 34, 49, 0.55) !important;
    overflow-y: auto;
    padding: 0.75rem;
}

.modal-dialog {
    margin: 1.75rem auto !important;
}

.modal-content {
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 1.5rem 4rem rgba(20, 34, 49, 0.28);
    overflow: hidden;
}

.modal-header,
.modal-footer {
    background: var(--portal-surface-muted);
    border-color: var(--portal-border);
    padding: 1rem 1.25rem;
}

.modal-body {
    padding: 1.25rem;
}

.loading-state,
.app-loading {
    align-items: center;
    background: #fff;
    border: 1px solid var(--portal-border);
    border-radius: 1rem;
    box-shadow: var(--portal-shadow-sm);
    color: var(--portal-text-muted);
    display: flex;
    flex-direction: column;
    margin: 2rem auto;
    max-width: 38rem;
    padding: clamp(2rem, 6vw, 4rem);
    text-align: center;
}

.loading-state__title,
.app-loading__title {
    color: var(--portal-brand-900);
    font-size: 1.35rem;
    font-weight: 700;
}

.loading-state__indicator {
    margin-top: 1rem;
}

.loading-state .spinner-border,
.app-loading__spinner {
    color: var(--portal-brand-700);
    height: 2.4rem;
    width: 2.4rem;
}

.app-loading__spinner {
    margin: 1rem 0;
}

.app-loading__logo {
    height: auto;
    margin: 0.5rem 0 1rem;
    max-width: 13rem;
    width: 45%;
}

.app-loading__message {
    color: var(--portal-text);
    font-size: 1.05rem;
    font-weight: 650;
    margin: 0;
}

.app-loading__detail {
    font-size: 0.88rem;
    margin: 0.55rem 0 0;
    max-width: 30rem;
}

#blazor-error-ui {
    background: #fff8e7;
    border-top: 1px solid #e5c87a;
    box-shadow: 0 -0.4rem 1.4rem rgba(36, 38, 41, 0.12);
    color: #6f4a0d;
}

@media (max-width: 640px) {
    html,
    body {
        font-size: 0.9rem;
    }

    .form-border {
        border-radius: 0.85rem;
        margin-bottom: 1rem;
    }

    .data-panel {
        border-radius: 0.85rem;
        margin-bottom: 1rem;
    }

    .data-panel__toolbar {
        padding: 0.6rem 0.75rem;
    }

    .data-panel > .data-panel__toolbar:first-child {
        border-radius: calc(0.85rem - 1px) calc(0.85rem - 1px) 0 0;
    }

    .data-panel__heading,
    .data-panel__actions {
        width: 100%;
    }

    .data-panel__actions .btn,
    .filter-submit,
    .page-actions .btn {
        width: 100%;
    }

    .page-actions {
        border-radius: 0.85rem;
        padding: 0.75rem;
    }

    .form-title {
        min-height: 2.9rem;
        padding: 0.65rem 0.85rem;
    }

    .form-body {
        padding: 1rem;
    }

    .form-row > [class*="col"] {
        margin-bottom: 0.35rem;
    }

    .btn {
        min-height: 2.65rem;
    }

    .table > :not(caption) > * > * {
        padding: 0.7rem 0.6rem;
    }

    .modal.show {
        padding: 0.4rem;
    }

    .modal-dialog {
        margin: 0.75rem auto !important;
    }

    .loading-state,
    .app-loading {
        margin: 1rem;
        padding: 2rem 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
    }

    .btn,
    .form-control,
    .form-select,
    input,
    select,
    textarea,
    .table tbody tr {
        transition: none;
    }
}

@media print {
    .site-header,
    .site-footer,
    .form-action-buttons,
    .btn,
    .pagination {
        display: none !important;
    }

    .form-border,
    .card,
    .table-responsive {
        box-shadow: none;
    }
}
