/* THORAX - Protostar-like Cassiopeia child */

body {
    margin: 0;
    background: #f4f4f4;
    color: #333;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 14px;
    line-height: 20px;
}

/* Main Protostar-like fixed width */
body.wrapper-static .site-grid,
.container-header .grid-child,
.container-footer .grid-child {
    max-width: 970px;
    margin-left: auto;
    margin-right: auto;
}

/* White central page */
.site-grid {
    background: #fff;
}

/* Compact header */
.container-header {
    background: #fff;
    color: #333;
    background-image: none;
    box-shadow: none;
}

.container-header .grid-child {
    padding-left: 20px;
    padding-right: 20px;
}

/* Site title / brand */
.container-header .navbar-brand {
    color: #002b49;
    font-size: 38px;
    font-weight: 400;
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Search area */
.container-header .container-search {
    margin-top: 10px;
}

/* Navigation */
.container-header .container-nav {
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 4px;
    min-height: 40px;
    margin-top: 0;
    margin-bottom: 15px;
    padding: 0;
}

/* Main menu */
.container-header .metismenu > li > a {
    color: #337ab7;
    padding: 10px 12px;
    font-size: 13px;
}

.container-header .metismenu > li > a:hover,
.container-header .metismenu > li.active > a {
    color: #23527c;
    background: transparent;
    text-decoration: underline;
}

/* Remove excessive header/below-top spacing */
.container-below-top {
    padding: 0;
    margin: 0;
}

/* Banner / THORAX top artwork */
.container-banner {
    max-width: 940px;
    margin: 0 auto 10px auto;
    padding: 0 20px;
}

.container-banner img {
    max-width: 100%;
    height: auto;
}

/* Main Joomla grid */
.site-grid {
    column-gap: 20px;
    padding-left: 20px;
    padding-right: 20px;
}

/* Content */
.container-component {
    padding-top: 0;
    padding-bottom: 15px;
}

.container-component h1,
.container-component .page-header h1 {
    font-size: 26px;
    line-height: 30px;
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Sidebar */
.container-sidebar-right {
    width: auto;
}

.container-sidebar-right .card {
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: none;
    margin-bottom: 20px;
    padding: 12px 14px;
}

.container-sidebar-right .card-header {
    background: transparent;
    border: 0;
    padding: 0 0 8px 0;
    font-size: 18px;
    font-weight: bold;
}

.container-sidebar-right .card-body {
    padding: 0;
}

/* Sidebar links compact like Protostar */
.container-sidebar-right ul {
    margin-bottom: 0;
}

.container-sidebar-right li {
    line-height: 19px;
}

/* Main-top acknowledgement logo */
.container-main-top {
    margin-bottom: 10px;
}

/* Footer */
.container-footer {
    background: #fff;
    color: #333;
    background-image: none;
    border-top: 1px solid #ddd;
    margin-top: 20px;
}

.container-footer .grid-child {
    padding: 15px 20px;
}

/* Responsive images */
img {
    max-width: 100%;
    height: auto;
}
/* THORAX banner module: reproduce old Protostar horizontal layout */

.container-banner {
    max-width: 940px;
    margin: 0 auto 15px auto;
    padding: 0 20px;
}

.container-banner .mod-custom p {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    margin: 0;
    padding: 0;
}

/* animated THORAX symbol */
.container-banner img[src*="thoraxanim.gif"] {
    width: 225px;
    height: 225px;
    max-width: 225px;
    flex: 0 0 225px;
    object-fit: contain;
}

/* project header image */
.container-banner img[src*="images/headers/image.jpg"] {
    width: 636px;
    height: auto;
    max-width: calc(100% - 245px);
    flex: 1 1 auto;
    object-fit: contain;
}

/* Avoid Cassiopeia placing each image as a separate block */
.container-banner img {
    display: block;
    margin: 0;
}
/* Site title */
.container-header .navbar-brand {
    display: block;
    margin: 0;
    padding: 10px 0 15px 0;
}

.container-header .navbar-brand .brand-logo,
.container-header .navbar-brand .brand-logo span {
    display: block;
    color: #002b49 !important;
    font-size: 38px;
    line-height: 1.2;
    font-weight: 400;
    text-decoration: none;
}
