/**
 * @file
 * G&A Compass theme.
 *
 * The D7 venture_theme 7.x-1.1 (style.css and css/responsive.css, by
 * devsaran.com, GPL v2: LICENSE.txt) as gnacompass had changed it: white
 * header, black menu with light blue drop-downs, dark blue headings, light
 * blue table headings, black links. The parts the site's pages use, and the
 * few D7 core rules they relied on. Not ported: the slider, comments, forum,
 * search block, poll and the FontAwesome font (the drop-down arrows are
 * drawn in CSS).
 *
 * The D7 site also had CSS Injector rules, but all of them but one were
 * set to other themes (gnacompass, seven, CleanWhiteMenu) and did not apply
 * on venture_theme; the one that did (course registration: the date
 * selects) belongs to the forms module.
 *
 * Element rules apply inside the site's page only (#wrap.gna), so the
 * administration bar keeps its look. The scope is wrapped in :where(),
 * which adds no specificity, and the element part in :is(), which keeps its
 * own: each rule weighs what it did on the D7 site, and still wins over
 * core's base.css (loaded earlier) as venture's did over D7's.
 */

/* ===========================================================
   Venture theme (and D7 core)
   =========================================================== */

/* D7 had no global border-box (core's base.css does); tables keep the
   browser's own border-box. */
:where(.gna), :where(.gna) *, :where(.gna) *::before, :where(.gna) *::after { box-sizing: content-box; }
:where(.gna) table { box-sizing: border-box; }
:where(.gna) :is(input, select, textarea, button) { box-sizing: border-box; }

/* Reset (venture "Reset"): note that <b> loses its bold, as on the D7 site. */
:where(.gna) :is(div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, picture) { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
:where(.gna) :is(article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section) { display: block; }
:where(.gna) :is(blockquote, q) { quotes: none; }
:where(.gna) img { max-width: 100%; height: auto; }

/* Body & Main */
body.theme-gnacompass-theme { background: #ffffff; color: rgb(5, 5, 5); font: 14px/1.6 'Open Sans', "Helvetica", Arial; -webkit-font-smoothing: antialiased; margin: 0; }
:where(.gna) a { color: #000000; text-decoration: none; }
.gna #main { padding: 40px 0; }
.gna .container { margin: 0 auto; width: 95%; box-sizing: border-box; }
.gna .clr::after { clear: both; content: "."; display: block; height: 0; line-height: 0; visibility: hidden; }
.gna .clear { clear: both; }

/* Commons */
:where(.gna) blockquote { font-size: 1.4em; line-height: 1.5em; margin-bottom: 30px; position: relative; font-family: Georgia, serif; color: #555; padding-left: 50px; }
:where(.gna) blockquote::before { content: "\201C"; position: absolute; left: 0; top: -0.15em; font-size: 3em; line-height: 1; color: #bbb; }
:where(.gna) pre { background: #ededed; padding: 20px; margin-bottom: 30px; white-space: pre-wrap; word-wrap: break-word; font-family: Verdana, sans-serif; color: #666; }
:where(.gna) address { letter-spacing: 1px; margin: 20px 0; }

/* Lists */
:where(.gna) :is(ul, ol) { margin: 0 0 1em 1.5em; }
:where(.gna) ul { list-style: disc; }
:where(.gna) ol { list-style-type: decimal; }
:where(.gna) ol ol { list-style: upper-alpha; }
:where(.gna) ol ol ol { list-style: lower-roman; }
:where(.gna) ol ol ol ol { list-style: lower-alpha; }
:where(.gna) :is(ul ul, ol ol, ul ol, ol ul) { margin-bottom: 0; }

/* Tables (gnacompass: no border, light blue headings; core's base.css
   aligns cells left and to the top, D7 did not) */
:where(.gna) table { margin: 0 0 1.5em; width: 100%; border: none; background: #ffffff; border-collapse: collapse; border-spacing: 0; }
:where(.gna) th { font-weight: bold; padding: 10px 10px; background: rgb(187, 203, 247); color: rgb(7, 7, 7); text-align: inherit; }
:where(.gna) tr { padding: 5px 5px; }
:where(.gna) td { padding: 5px 10px; border-top: 1px solid white; border-right: 1px solid white; text-align: inherit; }

/* Typography */
:where(.gna) :is(h1, h2, h3, h4, h5, h6) { font-weight: 600; color: rgb(0, 0, 0); line-height: 1.4em; font-family: 'Helvetica Neue', Helvetica, Arial; }
:where(.gna) h1 { font-size: 28pt; margin: 0 0 20px; color: #001380; }
:where(.gna) h2 { font-size: 14pt; color: #001380; }
:where(.gna) h3 { font-size: 12pt; }
:where(.gna) h4 { font-size: 1em; }
:where(.gna) h5 { font-size: 0.857em; }
:where(.gna) h6 { font-size: 0.714em; }
:where(.gna) p { margin: 0 0 20px; }
:where(.gna) :is(h1, h2, h3, h4) a { color: #000; font-size: 12pt; }
:where(.gna) :is(h1, h2, h3, h4) a:hover { color: #001380; text-decoration: none; }
:where(.gna) em { font-style: italic; }
:where(.gna) strong { font-weight: 600; color: #000; }
:where(.gna) small { font-size: 80%; }
:where(.gna) hr { border: solid #eee; border-width: 1px 0 0; clear: both; height: 0; margin: 40px 0; }
.gna h1.page-title { margin: 5px 0 10px; font-size: 34pt; }

/* Core's site layout styles .site-header, .site-main and .site-footer
   (venture's class names too): back to venture's plain blocks. */
.gna .site-header, .gna .site-footer { display: block; gap: 0; border: 0; }
.gna .site-footer { margin-top: 0; }
.gna .site-main { flex: none; padding-bottom: 0; }

/* Header */
.gna #header-wrap { background: #ffffff; border-bottom: 1px solid #e4e4e4; box-shadow: 0 0 3px rgba(253, 253, 253, 0.1); }
.gna #header { text-align: left; position: relative; padding: 30px 0; }
.gna #logo img { display: block; max-width: 100%; }

/* Main menu (venture's superfish menu): three levels, the second and third
   open as drop-downs on hover, and for the keyboard when a link in them has
   the focus. */
.gna #main-menu > ul, .gna #main-menu > ul * { margin: 0; padding: 0; list-style: none; }
.gna #main-menu > ul { float: left; }
.gna #main-menu > ul li { position: relative; white-space: nowrap; transition: background .2s; }
.gna #main-menu > ul > li { float: left; }
.gna #main-menu > ul a { display: block; position: relative; }
.gna #main-menu > ul ul { position: absolute; display: none; top: 100%; left: 0; z-index: 10001; min-width: 160px; }
.gna #main-menu > ul ul ul { top: 0; left: 100%; }
.gna #main-menu > ul li:hover > ul,
.gna #main-menu > ul li:focus-within > ul { display: block; }
.gna #site-navigation-wrap { position: absolute; right: 0; top: 50%; height: 40px; margin-top: -20px; }
.gna #site-navigation #main-menu > ul li { display: block; float: left; height: 40px; line-height: 40px; }
.gna #site-navigation #main-menu > ul > li { margin-left: 25px; }
.gna #site-navigation #main-menu > ul > li:first-child { margin-left: 0; }
.gna #site-navigation #main-menu > ul a { color: rgb(0, 0, 0); font-weight: 400; text-decoration: none; text-align: left; cursor: pointer; font-size: 12pt; }
.gna #site-navigation #main-menu > ul > li > a:hover,
.gna #site-navigation #main-menu > ul > li:hover > a,
.gna #site-navigation #main-menu > ul > li.is-active-trail > a { color: rgb(66, 66, 66); }
/* Drop-downs */
.gna #site-navigation #main-menu > ul ul { background: rgb(187, 203, 247); font-size: 14pt; }
.gna #site-navigation #main-menu > ul ul li { border-bottom: 1px solid rgba(255, 255, 255, 0.08); line-height: 1.4em; height: auto; float: none; display: block; }
.gna #site-navigation #main-menu > ul ul li:last-child { border: none; }
.gna #site-navigation #main-menu > ul ul li a { display: block; height: auto; line-height: 1.7em; padding: 10px; margin: 0; border: 0; text-transform: none; }
.gna #site-navigation #main-menu > ul ul li a:hover { color: rgb(66, 66, 66); }
/* The arrows (venture: FontAwesome angle-down and angle-right) */
.gna #site-navigation #main-menu > ul > li.is-expanded > a::after { content: ""; display: inline-block; margin: 0 0 3px 7px; width: 5px; height: 5px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.gna #site-navigation #main-menu > ul ul li.is-expanded > a { padding-right: 30px; }
.gna #site-navigation #main-menu > ul ul li.is-expanded > a::after { content: ""; position: absolute; top: 50%; right: 15px; margin-top: -3px; width: 5px; height: 5px; border: solid currentColor; border-width: 1.5px 1.5px 0 0; transform: rotate(45deg); }

/* Content */
.gna #content .node-teaser { border-bottom: 1px solid #ddd; margin-bottom: 30px; padding-bottom: 30px; }
.gna .node-teaser p { margin-bottom: 1em; }
/* Pictures in content pages (venture: .page-node #content-wrap img; not on
   the Panels pages: the front page, lists, the methodology). */
.path-node.layout-site .gna #content-wrap img { border: 1px solid #CCCCCC; padding: 6px; height: auto; max-width: 97.4%; margin: 0.5em 1em 0.5em 0; }
/* Core's field wrapper has a bottom margin; D7's had none. */
.gna .field { margin: 0; }

/* Images that turn from grey to colour under the pointer (the home page) */
.gna img.color_flip { filter: grayscale(1); transition: all .5s ease-in-out; }
.gna img.color_flip:hover { filter: none; transform: scale(1.1); }

/* Aligns, floats, text */
.gna .aligncenter { display: block; margin: 0 auto; }
.gna .alignright { float: right; margin: 0 0 10px 20px; }
.gna .alignleft { float: left; margin: 0 20px 10px 0; }
.gna .floatleft { float: left; }
.gna .floatright { float: right; }
.gna .textcenter { text-align: center; }
.gna .textright { text-align: right; }
.gna .textleft { text-align: left; }

/* Forms */
:where(.gna) fieldset { background: #ffffff; border: 1px solid #cccccc; margin: 10px 0 32px; padding: 0 0 10px; position: relative; top: 12px; border-radius: 4px; }
:where(.gna) fieldset > legend { background: #dbdbdb; border: 1px solid #ccc; border-bottom: none; display: block; float: left; width: 100%; box-sizing: border-box; line-height: 2; padding: 0 10px; margin: -12px -1px 10px; text-shadow: 0 1px 0 #fff; border-radius: 4px 4px 0 0; }
:where(.gna) fieldset > legend + * { clear: left; }
:where(.gna) fieldset > :not(legend) { margin-left: 10px; margin-right: 10px; }
:where(.gna) input { margin: 2px 0; padding: 4px; }
:where(.gna) :is(input, textarea) { font-size: 0.929em; }
:where(.gna) textarea { line-height: 1.5; padding: 4px; }
:where(.gna) select { padding: 4px; }
:where(.gna) :is(input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], textarea, select) { border: 1px solid #ccc; }
.gna .form-item { margin-bottom: 1em; margin-top: 2px; }
.gna .form-item label { font-size: 13px; font-weight: bold; }
.gna :is(.form-type-radio, .form-type-checkbox) label { margin-left: 4px; font-weight: normal; }
.gna .form-actions { padding-top: 10px; }

/* Lists of items and links */
.gna .item-list ul { margin: 0; padding: 0 0 0 1.5385em; }
.gna .item-list ul li { margin: 0; padding: 0; }
.gna ul.menu li { margin: 0; padding: 0; }
.gna .pager li { background: #cfcfcf; border-radius: 3px; margin-right: 4px; text-shadow: 1px 1px #fff; }

/* The footer: the Footer menu's links where the D7 block's table put them
   (the middle 60%, from the left), with a dark blue rule between them; then
   venture's copyright bar. */
.gna #footer-wrap { background: #ffffff; padding: 50px 0 0; }
.gna #footer-wrap a { color: rgb(0, 0, 0); }
.gna #footer-wrap a:hover { color: #0426e7; text-decoration: none; }
.gna .gna-footer-menu { padding: 5px 0; margin: 0 0 30px; }
.gna .gna-footer-menu ul { list-style: none; margin: 0 0 0 calc(20% + 10px); width: calc(60% - 20px); padding: 0; }
.gna .gna-footer-menu ul::after { content: ""; display: block; clear: both; }
.gna .gna-footer-menu ul.menu li { float: left; margin: 0; padding: 0 10px; border-right: 2px solid #001380; }
.gna .gna-footer-menu ul.menu li:last-child { border-right: 0; }
.gna .gna-footer-menu a { font-size: 8pt; }
.gna #copyright-wrap { background: #111; padding: 20px 0; color: #888; text-align: center; }
.gna #copyright-wrap a { color: #fff; }

/* The Menu button and panel (narrow windows, below). */
.gna #navigation-toggle { display: none; }
.gna-panel { display: none; }

/* ===========================================================
   Other pages (site layout: log in, lists, forms)
   =========================================================== */
.gna-site-page .page-content { font-size: 1rem; line-height: 1.6; }

/* ===========================================================
   Narrow windows (venture css/responsive.css)
   =========================================================== */
@media only screen and (max-width: 1100px) {
  /* Venture hid the menu and showed a Menu button that opened the menu in
     a dark panel at the left. */
  .gna #site-navigation #main-menu > ul { display: none; }
  .gna #navigation-toggle { display: block; height: 55px; line-height: 55px; margin: 0; float: left; cursor: pointer; color: #8b8b8b; padding: 0 0 0 35px; font: inherit; font-weight: 600; font-size: 1.1em; background: none; border: 0; }
  .gna #navigation-toggle:hover, .gna #navigation-toggle[aria-expanded="true"] { color: #000; }
  .gna-bars { display: inline-block; width: 14px; height: 2px; margin: 0 10px 4px 0; vertical-align: middle; background: currentColor; box-shadow: 0 -5px 0 currentColor, 0 5px 0 currentColor; }
  .gna-panel { display: block; position: fixed; top: 0; left: -320px; height: 100%; width: 320px; z-index: 999999; overflow-y: auto; box-sizing: border-box; padding: 70px 30px 30px; background: #222; color: #fff; font-family: 'Helvetica Neue', Helvetica, Arial; font-size: 16px; line-height: 1.6; transition: left 0.2s ease, visibility 0s linear 0.2s; visibility: hidden; }
  .gna-panel.is-open { left: 0; visibility: visible; transition: left 0.2s ease; }
  .gna-panel ul { list-style: none; margin: 0; padding: 0; }
  .gna-panel li { margin: 0; padding: 0; }
  .gna-panel a { display: block; border-bottom: 1px solid #333; padding: 7px 0; font-weight: 400; color: #707070; text-decoration: none; }
  .gna-panel ul ul a { padding-left: 10px; }
  .gna-panel ul ul ul a { padding-left: 20px; }
  .gna-panel ul ul a::before { content: ""; display: inline-block; margin: 0 10px 2px 0; border: 4px solid transparent; border-left-color: #888; border-right-width: 0; }
  .gna-panel a:hover, .gna-panel a:focus, .gna-panel li.is-active > a { color: #fff; }
  .gna-panel-close { position: absolute; top: 22px; left: 26px; background: none; border: 0; padding: 0 4px; color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .gna .container { max-width: 85%; }
}
@media only screen and (max-width: 650px) {
  .gna .container { max-width: 480px; width: 90%; }
  .gna .gna-footer-menu ul { margin-left: 0; width: auto; }
  .gna .gna-footer-menu ul.menu li { margin-bottom: 4px; }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .gna-panel { width: 480px; left: -480px; }
}
@media print {
  .gna #navigation-toggle, .gna-panel { display: none !important; }
}

/* The PAIA manual (D7: a <style> block in its Panels pane): numbered
   sections 1, 1.1 ... */
.gna-paia ol { list-style-type: none; counter-reset: item; margin: 0; padding: 0; }
.gna-paia ol > li { display: table; counter-increment: item; margin-bottom: 0.6em; }
.gna-paia ol > li::before { content: counters(item, ".") ". "; display: table-cell; padding-right: 0.6em; }
.gna-paia li ol > li { margin: 0; }
.gna-paia li ol > li::before { content: counters(item, ".") " "; }
