/*
 * Moorweb 6 - small, framework-free starter stylesheet
 * Edit this file to change colours, spacing, typography and layout.
 */
:root {
    --mw-page-width: 1200px;
    --mw-gutter: 1.25rem;
    --mw-page-bg: #ffffff;
    --mw-text: #30343a;
    --mw-muted: #666d75;
    --mw-link: #245f86;
    --mw-link-hover: #173f5a;
    --mw-border: #d9dee3;
    --mw-header-bg: #ffffff;
    --mw-nav-bg: #f2f4f6;
    --mw-footer-bg: #f2f4f6;
    --mw-sidebar-bg: transparent;
    --mw-radius: 3px;
    --mw-line-height: 1.65;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--mw-page-bg);
    color: var(--mw-text);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: var(--mw-line-height);
}

img { max-width: 100%; height: auto; }
iframe, video { max-width: 100%; }
a { color: var(--mw-link); text-decoration: underline; text-underline-offset: .12em; }
a:hover, a:focus { color: var(--mw-link-hover); }
button, input, select, textarea { font: inherit; }
.site-container { width: min(calc(100% - 2 * var(--mw-gutter)), var(--mw-page-width)); margin-inline: auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 1000; background: #fff; padding: .75rem 1rem; }
.skip-link:focus { left: .5rem; top: .5rem; }

.top-area, .topnav-area { font-size: .92rem; border-bottom: 1px solid var(--mw-border); }
.top-area > .site-container, .topnav-area > .site-container { padding-block: .35rem; }
.site-header { background: var(--mw-header-bg); }
.site-header__inner { min-height: 96px; display: flex; align-items: center; padding-block: 1rem; }
.site-brand { display: inline-flex; align-items: center; max-width: 100%; text-decoration: none; }
.site-brand img { display: block; max-height: 90px; width: auto; }

.main-navigation { background: var(--mw-nav-bg); border-block: 1px solid var(--mw-border); }
.main-navigation__inner { position: relative; }
.menu-toggle {
    display: none; align-items: center; gap: .65rem;
    border: 1px solid var(--mw-border); border-radius: var(--mw-radius);
    padding: .55rem .75rem; background: transparent; color: var(--mw-text);
}
.menu-toggle:hover, .menu-toggle:focus { background: rgba(0,0,0,.06); color: var(--mw-text); }
.menu-toggle__icon, .menu-toggle__icon::before, .menu-toggle__icon::after {
    display: block; width: 1.15rem; height: 2px; background: currentColor; position: relative;
}
.menu-toggle__icon::before, .menu-toggle__icon::after { content: ""; position: absolute; left: 0; }
.menu-toggle__icon::before { top: -.35rem; }
.menu-toggle__icon::after { top: .35rem; }
.main-navigation__content { min-width: 0; }
.main-navigation ul, .footer-menu-area ul, .topnav-area ul {
    list-style: none; margin: 0; padding: 0;
}
.main-navigation > .site-container > ul,
.main-navigation > .site-container > nav > ul {
    display: flex; flex-wrap: wrap; align-items: stretch; gap: 0;
}
.main-navigation li { position: relative; }
.main-navigation a {
    display: block; padding: .75rem 1rem; color: var(--mw-text); text-decoration: none;
}
.main-navigation a:hover, .main-navigation a:focus, .main-navigation .active > a {
    background: rgba(0,0,0,.06); color: var(--mw-link-hover);
}
.main-navigation ul ul {
    display: none; position: absolute; z-index: 20; top: 100%; left: 0;
    min-width: 13rem; background: var(--mw-page-bg); border: 1px solid var(--mw-border);
    box-shadow: 0 .35rem .9rem rgba(0,0,0,.08);
}
.main-navigation li:hover > ul, .main-navigation li:focus-within > ul { display: block; }
.main-navigation ul ul a { padding: .55rem .85rem; }
.main-navigation ul ul ul { top: 0; left: 100%; }

.slideshow-area { padding-block: 1rem; }
.breadcrumbs-area { color: var(--mw-muted); font-size: .9rem; padding-block: .65rem; }
.breadcrumbs-area ul { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; margin: 0; }
.breadcrumbs-area li + li::before { content: "/"; color: var(--mw-muted); margin-right: .35rem; }

.user-area { padding-block: 1rem; }
.main-layout { display: grid; gap: 2rem; padding-block: 1.25rem 2rem; align-items: start; }
.layout--full { grid-template-columns: minmax(0, 1fr); }
.layout--left { grid-template-columns: minmax(13rem, 1fr) minmax(0, 3fr); }
.layout--right { grid-template-columns: minmax(0, 3fr) minmax(13rem, 1fr); }
.layout--both { grid-template-columns: minmax(12rem, 1fr) minmax(0, 2.5fr) minmax(12rem, 1fr); }
.main-content { min-width: 0; }
.sidebar { min-width: 0; background: var(--mw-sidebar-bg); }
.sidebar .card, .sidebar .moduletable { margin-bottom: 1.25rem; }
.sidebar .card-header, .sidebar h3, .sidebar h4 { margin-top: 0; }

h1, h2, h3, h4, h5, h6 { line-height: 1.25; margin: 0 0 .8em; font-weight: 600; }
h1 { font-size: clamp(1.8rem, 3vw, 2.4rem); }
h2 { font-size: clamp(1.45rem, 2.5vw, 1.9rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1.15em; }
ul, ol { padding-left: 1.5rem; }
table { width: 100%; border-collapse: collapse; margin-block: 1rem; }
th, td { border: 1px solid var(--mw-border); padding: .55rem .7rem; text-align: left; vertical-align: top; }
blockquote { margin: 1.5rem 0; padding: .25rem 1rem; border-left: 4px solid var(--mw-border); color: var(--mw-muted); }
figure { margin: 1rem 0; }
hr { border: 0; border-top: 1px solid var(--mw-border); margin: 1.5rem 0; }
input, select, textarea { max-width: 100%; }
input[type="text"], input[type="email"], input[type="password"], input[type="search"], select, textarea {
    border: 1px solid #aeb7bf; border-radius: var(--mw-radius); padding: .5rem .65rem;
}
button, input[type="submit"], .btn {
    display: inline-block; border: 1px solid var(--mw-link); border-radius: var(--mw-radius);
    padding: .5rem .85rem; background: var(--mw-link); color: #fff; cursor: pointer; text-decoration: none;
}
button:hover, input[type="submit"]:hover, .btn:hover { background: var(--mw-link-hover); color: #fff; }
.alert, .system-message-container { margin-block: 1rem; }

.site-footer { margin-top: 1rem; background: var(--mw-footer-bg); border-top: 1px solid var(--mw-border); }
.footer-menu-area, .copyright-area { padding-block: .85rem; }
.footer-menu-area { border-bottom: 1px solid var(--mw-border); }
.footer-menu-area ul { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.copyright-area { color: var(--mw-muted); font-size: .9rem; }

@media (max-width: 900px) {
    .layout--both { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
    .layout--both .sidebar--right { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
    .site-container { width: min(calc(100% - 1.25rem), var(--mw-page-width)); }
    .site-header__inner { min-height: auto; }
    .main-layout, .layout--left, .layout--right, .layout--both { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
    .layout--both .sidebar--right { grid-column: auto; }
    .menu-toggle { display: inline-flex; margin-block: .5rem; }
    .main-navigation__content { display: none; padding-bottom: .5rem; }
    .main-navigation.is-open .main-navigation__content { display: block; }
    .main-navigation__content > ul,
    .main-navigation__content > nav > ul { display: block; }
    .main-navigation ul ul { position: static; display: block; min-width: 0; border: 0; box-shadow: none; padding-left: 1rem; }
    .main-navigation a { padding: .55rem .75rem; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}
