html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ } /* Sections ========================================================================== */ #panel-left:empty ~ .panel-left-toggle, #panel-left:empty ~ #page .panel-left-toggle { display: none; } /** * Remove the margin in all browsers. */ body { margin: 0; } /** * Render the `main` element consistently in IE. */ main { display: block; } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */ h1 { font-size: 2em; margin: 0.67em 0; } /* Grouping content ========================================================================== */ /** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */ hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /* Text-level semantics ========================================================================== */ /** * Remove the gray background on active links in IE 10. */ a { background-color: transparent; } /** * 1. Remove the bottom border in Chrome 57- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ } /** * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { font-weight: bolder; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /** * Add the correct font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` elements from affecting the line height in * all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* Embedded content ========================================================================== */ /** * Remove the border on images inside links in IE 10. */ img { border-style: none; } /* Forms ========================================================================== */ /** * 1. Change the font styles in all browsers. * 2. Remove the margin in Firefox and Safari. */ button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ } /** * Show the overflow in IE. * 1. Show the overflow in Edge. */ button, input { /* 1 */ overflow: visible; } /** * Remove the inheritance of text transform in Edge, Firefox, and IE. * 1. Remove the inheritance of text transform in Firefox. */ button, select { /* 1 */ text-transform: none; } /** * Correct the inability to style clickable types in iOS and Safari. */ button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } /** * Remove the inner border and padding in Firefox. */ button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } /** * Restore the focus styles unset by the previous rule. */ button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } /** * Correct the padding in Firefox. */ fieldset { padding: 0.35em 0.75em 0.625em; } /** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */ legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } /** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ progress { vertical-align: baseline; } /** * Remove the default vertical scrollbar in IE 10+. */ textarea { overflow: auto; } /** * 1. Add the correct box sizing in IE 10. * 2. Remove the padding in IE 10. */ [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Correct the odd appearance in Chrome and Safari. * 2. Correct the outline style in Safari. */ [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** * Remove the inner padding in Chrome and Safari on macOS. */ [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** * 1. Correct the inability to style clickable types in iOS and Safari. * 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Interactive ========================================================================== */ /* * Add the correct display in Edge, IE 10+, and Firefox. */ details { display: block; } /* * Add the correct display in all browsers. */ summary { display: list-item; } /* Misc ========================================================================== */ /** * Add the correct display in IE 10+. */ template { display: none; } /** * Add the correct display in IE 10. */ [hidden] { display: none; } /*-------------------------------------------------------------- # SASS Variables and Mixins. Do not output any css in here. if you need these make sure to @use "variables" --------------------------------------------------------------*/ /*------- Media Query Sizes. Add your own --------*/ /*------- Panel Becomes Absolute Query --------*/ /*------- Add your own breakpoints to the grid --------*/ /*-------------------------------------------------------------- Mixins --------------------------------------------------------------*/ /*------- Retina --------*/ /*------- Deep Shadow Mixin --------*/ /*------- Lighten and shade colors --------*/ /*------- Fluid Font Lock --------*/ /*------- Sort Map by values --------*/ /*------- Grid --------*/ /*-------------------------------------------------------------- # CSS Variables --------------------------------------------------------------*/ /*-------------------------------------------------------------- # CSS Variables. Change these to match your theme --------------------------------------------------------------*/ :root { --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; --font-alt: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; --line-height: 1.5; --font-pre: "Source Code Pro", monospace; --line-height-pre: 22px; --article-font-size: 1.7rem; --black: #191919; --dark-grey: #4c545d; --grey: #cacaca; --blue: #007eac; --light-blue: rgba(0, 185, 235, 0.73); --dark-blue: #007fb0; --body-bg: white; --main-text-color: var(--black); --subtle-text-color: var(--grey); --site-top: var(--dark-blue); --footer-bg: var(--dark-grey); --header-bg: var(--dark-grey); --highlight: var(--blue); --highlight-alpha: var(--light-blue); --highlight-darkened: var(--dark-blue); --overlay-color: rgba(0, 0, 0,0.65); } /*-------------------------------------------------------------- # Layout CSS Variables. Probably don't need to touch. --------------------------------------------------------------*/ :root { /*------- Menu Variables --------*/ --nav-move: 800px; --sidebar-move: 1000px; --media-sidebar: 1000px; --desktop-menu-alignment: center; /*------- Layout --------*/ --container: 1200px; --container-content: 70rem; --container-padding: 30px; --gutters: 15px; --gap: 30px; --grid-gap: 30px; --flex-gap: calc(var(--grid-gap) / 2); /*------- Panels --------*/ --panel-left-width: 300px; --panel-right-width: 350px; /*------- Z-index --------*/ --z-index-top: 99; --z-index-overlay: 95; --z-index-menu-button: 90; --z-index-menu: 80; --z-index-header: 75; --z-index-behind: -1; } /*-------------------------------------------------------------- # Basic Global Base Layout Stuff --------------------------------------------------------------*/ html { box-sizing: border-box; } *, *:before, *:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */ box-sizing: inherit; } html * { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .touchscroll { overflow-y: scroll; /* has to be scroll, not auto */ -webkit-overflow-scrolling: touch; } .hide-scroll::-webkit-scrollbar, #panel-right .sidebar-holder::-webkit-scrollbar, #panel-left::-webkit-scrollbar { width: 0 !important; } .hide-scroll, #panel-right .sidebar-holder, #panel-left { -ms-overflow-style: none; } *:focus { outline: none; } /*-------------------------------------------------------------- # Panel Setup --------------------------------------------------------------*/ .site-container { display: flex; position: relative; overflow: hidden; background: inherit; } .site-container > div { z-index: 90; overflow: hidden; flex-grow: 1; flex-shrink: 1; flex-basis: 0%; transition: all 0.5s; } .site-container > div:empty { display: none; } #panel-right { order: 3; } /*-------------------------------------------------------------- # Sticky footer work. --------------------------------------------------------------*/ /* - Sticky footer makes sure that the footer of the site is at the bottom no matter how small the content is. */ #page { min-height: 100vh; display: flex; flex-direction: column; position: relative; overflow: hidden; flex-basis: 100%; z-index: 80; transition: none; } /* - By making sure there main content flexes as long as possible the footer below it will be at least or more than the height of the browser */ .site-content { flex: 1 0 auto; overflow: hidden; } /*-------------------------------------------------------------- # Accessibility --------------------------------------------------------------*/ .screen-reader-skip { height: 0; overflow: hidden; width: 0; clip: rect(1px, 1px, 1px, 1px); } .screen-reader-text { clip: rect(1px, 1px, 1px, 1px); color: white; background-color: black; height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */ } .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: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; /* Above WP toolbar. */ } /*------- responsive images --------*/ img { max-width: 100%; height: auto; } /*-------------------------------------------------------------- # Utility Classes --------------------------------------------------------------*/ .hidden, .hide { display: none; } .clear:before, .clear:after { content: ""; display: table; table-layout: fixed; } .clear:after { clear: both; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { [data-toggle] svg { pointer-events: none; } } [data-toggle] { cursor: pointer; } [data-slide] { overflow: hidden; } /*-------------------------------------------------------------- # CSS Grids and Containers --------------------------------------------------------------*/ /* - Containers can be used anywhere for holding main content. - They have padding on both sides so on mobile the content wont hit the edges. - They have a max-width and are centered. They also have a width of 100% to work nicely inside flex items and grids. - It's best to keep containers surrounding content on their own div. Dont combine with grids and layouts in one div. */ /*------- Containers --------*/ .container { width: 100%; max-width: 1200px; max-width: var(--container); margin: auto; padding: 0 30px; padding: 0 var(--container-padding); } .container-left, .container-right { width: 100%; max-width: calc(1200px + ((100% - 1200px) / 2)); max-width: calc(var(--container) + ((100% - var(--container)) / 2)); margin: 0 auto 0 0; padding: 0 30px 0 0; padding: 0 var(--container-padding) 0 0; } .container-right { margin: 0 0 0 auto; padding: 0 0 0 30px; padding: 0 0 0 var(--container-padding); } .container-fluid { width: 100%; margin: auto; } @media (min-width: 1200px) { .large-gap { grid-gap: 60px; } } /*------- Special Container Content For articles --------*/ /* - Container-Content is meant to hold an article's content after the header. - It's for actual words and makes sure the line is not too long - It cleverly allows for items inside to go full width and "break out" with alignwide and alignfull - The container itself has no max-width, instead its items within. - Any items inside with full-width or .alignfull will NOT have a max-width and will fill page - Dont surround container-content with a container or full items wont be full width! */ .container-content { padding: 0 30px; padding: 0 var(--container-padding); width: 100%; } .container-content > *:not(.alignwide):not(.alignfull):not(.full-width) { max-width: 70rem !important; max-width: var(--container-content) !important; margin-right: auto; margin-left: auto; } .container-content > .full-width, .container-content > .alignfull { width: auto; margin-left: calc(-1 * 30px); margin-left: calc(-1 * var(--container-padding)); margin-right: calc(-1 * 30px); margin-right: calc(-1 * var(--container-padding)); } .container-content > .alignwide { width: 100%; max-width: calc(1200px - (30px * 2)); max-width: calc(var(--container) - (var(--container-padding) * 2)); } /*------- Special exceptions for container contents padding --------*/ .container .container-content, .container-fluid .container-content, .container-left .container-content, .container-right .container-content { padding-left: 0; padding-right: 0; } .container .container-content > .alignwide, .container-fluid .container-content > .alignwide, .container-left .container-content > .alignwide, .container-right .container-content > .alignwide { width: 100%; max-width: calc(100% - (30px * 2)); max-width: calc(100% - (var(--container-padding) * 2)); } .container-right .container-content > .full-width, .container-right .container-content > .alignfull { margin-right: 0; } .container-left .container-content > .full-width, .container-left .container-content > .alignfull { margin-left: 0; } /*-------------------------------------------------------------- # WP Align Wide Matches the size of a .container --------------------------------------------------------------*/ /*------- hide at break points --------*/ @media (max-width: 1200px) { .hide-on-container { display: none; } } @media (max-width: 1030px) { .hide-on-large { display: none; } } @media (max-width: 768px) { .hide-on-medium { display: none; } } @media (max-width: 576px) { .hide-on-small { display: none; } } /*-------------------------------------------------------------- # Grid Helpers --------------------------------------------------------------*/ .align-center { align-items: center; } .justify-center { justify-content: center; } .flex-wrap { flex-wrap: wrap; } .flex-column { flex-direction: column; } .flex-grow { flex-grow: 1; } .space-between { justify-content: space-between; } /*-------------------------------------------------------------- # Icons --------------------------------------------------------------*/ .icon, .icon { display: inline-block; stroke-width: 0; stroke: currentColor; height: 1em; vertical-align: middle; width: 1em; position: relative; fill: currentColor; } .icon svg, .icon path, .icon g, .icon svg, .icon path, .icon g { fill: currentColor; } /*-------------------------------------------------------------- # Sections and Blocks and Parts --------------------------------------------------------------*/ /* Most block and section styling can go here or in the block folder with the template-parts folder for that block. The choice is up to you. */ /*------- Section defaults --------*/ section, .section { padding-top: 30px; padding-top: var(--gap); padding-bottom: 30px; padding-bottom: var(--gap); } section section, .section section { padding-top: 0; padding-bottom: 0; } section p:last-child, .section p:last-child { margin-bottom: 0; } .no-bg + .no-bg { padding-top: 0; } section.heading-center h1, section.heading-center h2 { text-align: center; } /*------- Padding classes useful for sections --------*/ .site-content .padding { padding: 30px; padding: var(--gap); } .site-content .no-padding { padding: 0; } .site-content .no-padding-top { padding-top: 0; } .site-content .no-padding-bottom { padding-bottom: 0; } .site-content .margin-bottom { margin-bottom: 30px; margin-bottom: var(--gap); } /*-------------------------------------------------------------- # Search form --------------------------------------------------------------*/ .search-form { display: flex; font-size: 2rem; } .search-form .search-field { flex: 1 1 auto; padding: 10px 10px 10px 10px; border-bottom-right-radius: 10px; border-top-right-radius: 10px; background: white; } /*-------------------------------------------------------------- # Input Icons --------------------------------------------------------------*/ /*------- input appends and prepends for icons --------*/ /* * when adding a button near an input you can make it a prepend or append * all prepends and appends go AFTER the input. Never before or :focus wont affect the prepend. */ .input-prepend, .input-append { transition: all 0.5s; background: white; z-index: 2; color: #cacaca; color: var(--subtle-text-color); box-shadow: none; } .input-append { border-radius: 0 3px 3px 0; margin-left: -2px; order: 1; border: 1px solid #007eac; border: 1px solid var(--highlight); border-left: 0; padding: 10px; } .input-prepend { border-radius: 3px 0 0 3px; margin-right: -2px; border: 1px solid #007eac; border: 1px solid var(--highlight); order: -1; border-right: 0; } input:focus + .input-prepend { border-color: #007eac; border-color: var(--highlight); } input:focus + .input-append { border-color: #007eac; border-color: var(--highlight); }