/* font definitions - Univia Pro from TypeKit and Roboto from Google */ @import url("https://use.typekit.net/qqu8qhw.css"); :root { --primary: #0039C1; --secondary: #666666; --dark: #111; --light: #F0F6F8; --white: #fff; --ff-ss: 'univia-pro', sans-serif; --ff-bdy: 'Roboto', sans-serif; --reading: 78ch; } /* Basic styling */ * { box-sizing: border-box; } html { padding: 0; margin: 0; } img { max-width: 100%; } body { padding: 0; margin: 0; font-family: 'Roboto', sans-serif; font-family: var(--ff-bdy); font-size: 100%; } .text-uppercase { text-transform: uppercase } /* end Basic styling */ .cms-logo a:link { display: inline-block; } /* Nav & Menu */ .cms-header * { box-sizing: border-box; padding: 0; margin: 0; } nav.cms-header { background: #f9f9f9; padding: .5rem 1rem; font-size: 1.2rem; font-weight: 400; font-family: 'univia-pro', sans-serif; font-family: var(--ff-ss); border: 1px solid #ccc; -webkit-box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.89); -moz-box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.89); box-shadow: 0px 7px 4px -6px rgba(0, 0, 0, 0.29); } nav.cms-header .logout { display: none; } nav.cms-header a { color: #111; color: var(--dark); text-decoration: none; /*cursor: pointer;*/ } .menu, .submenu { list-style-type: none; } .cms-logo { padding-top: .6rem; } .cms-logo img { max-width: 13.5rem; padding-bottom: .2rem; } .cms-menu-item:not(.button) a:hover, .cms-menu-item a:hover::after { color: #272BA7; /* Contrast = 9.5:1 https://webaim.org/resources/contrastchecker/ */ } /* Mobile menu */ .menu { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; } .menu li a { display: block; } .menu li.subitem a { padding: 12px; font-size: .95rem; margin-left: .45rem; border-bottom: 1px solid #ccc; } .menu li.subitem a:hover { font-weight: 600; } .cms-menu-item { padding: .5rem; border-bottom: 1px solid #ddd; } .cms-menu-item:nth-last-child(2) { border-bottom: 0; /*removes underline for Logout */ } .submenu-active .submenu li:hover { background: #fff; } .submenu { border-top: 4px solid var(--primary); background: #F8F8F8; border: solid #BDBDBD 0; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); } nav ul .cms-menu-item { margin-top: .4rem; } .cms-toggle { order: 1; font-size: 40px; } .cms-menu-item { order: 3; width: 100%; display: none; } .active .cms-menu-item { display: block; } /* Submenu up from mobile screens */ .submenu { display: none; } .submenu-active .submenu { display: block; } .has-submenu { font-size: .95rem; position: relative; top: 4px; } .has-submenu .arrow { border: solid #0039C1; border-width: 0 3px 3px 0; display: inline-block; padding: 4px; position: relative; top: -3px; margin-left: 4px; } .has-submenu .down { transform: rotate(45deg); -webkit-transform: rotate(45deg); } .subitem a { padding: 10px 15px; } .submenu-active { background-color: #fff; border-radius: 3px; } .menu li.button a { font-size: .90rem; } .menu li.button a:hover { background: transparent border: 0px; color: #0039C1; color: var(--primary); } /* --- Tablet menu ---------------------------- */ @media all and (min-width: 700px) { .menu { justify-content: center; } .cms-logo { flex: 1; } .cms-menu-item.button { /*order: 4; Logout button order */ /*display: block; width: auto;*/ } .cms-menu-item { padding: .8rem; } .cms-toggle { flex: 1; text-align: right; order: 2; } } /* Desktop menu */ @media all and (min-width: 960px) { .menu { align-items: flex-start; flex-wrap: nowrap; background: none; } .cms-menu-item { padding: .6rem 1rem; } cms-menu-item.button { padding: 9px 5px; } .cms-header a:hover.text-uppercase { position: relative top: -8px; border-bottom: 8px solid #0039c1; padding-bottom: .25rem; } .cms-menu-item { border-bottom: 0px; } .cms-logo { order: 0; } .cms-menu-item { order: 1; position: relative; display: block; width: auto; } .button { order: 2; } .submenu-active .submenu { display: block; position: absolute; right: 0; top: 40px; background: #f7f7f7; min-width: 160px; z-index: 10000; } .cms-toggle { display: none; } .submenu-active { border-radius: 0; } .menu li.button a { padding: 4px 12px 6px; margin: 5px 0; font-size: .90rem; } .menu li.button a:hover { background: #444; border: 1px solid #444; color: #fff; } .button.secondary a { background: #fff; border: 1px solid #bbb; } } /* Accessibility skip-nav for text-readers, so user doesn't need to tab through the entire nav to get to page content */ #skip-to-main a { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; } #skip-to-main a:focus { position: static; width: auto; height: auto; text-align: center; padding: 1.5rem 1rem 0 1rem; background: #000; color: #fff; font-size: 1.2rem; } /* end Accessibility skip-nav */ .container-fluid { width: 100%; padding-right: 20px; padding-left: 20px; margin-right: auto; margin-left: auto; } .container-reading { width: var(--reading); margin-right: auto; margin-left: auto; }