/*
Theme Name: My Base Theme
Theme URI:http://www.andperry.com
Author: Andrew Perry
Author URI: http://www.andperry.com

Description: My Base Theme (based on Underscores at http://underscores.me) is for use as a parent theme in conjunction with a site specific child theme. A key feature lies in the ability to create custom PHP scripts for specific pages without any special plugins.
This theme is built upon the foundation of Underscores (an open source skeleton theme with no formatting).
It is a base theme only and must be used in conjuction with a site-based child theme. One of the key
features is in the ability to load a custom PHP script in place of the standard page content on selected
pages. This functionality is essential for the correct operation of this site and must be accessed or
imported by whatever active theme is in operation.

Version: 1.0.0
This is an arbitrary version number. Changes are maintained at:-
https://github.com/andperry256/my-base-theme-and-dbadmin

License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: my-base-theme
Tags:

This theme, like WordPress, is licensed under the GPL.

My Base Theme is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/

--------------------------------------------------------------------------------
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
  ## Links
  ## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
    ## Posts and pages
    ## Comments
# Infinite scroll
# Media
    ## Captions
    ## Galleries
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden],
template {
    display: none;
}

a {
    background-color: transparent;
}

a:active,
a:hover {
    outline: 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

mark {
    background: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 1em 40px;
}

hr {
    box-sizing: content-box;
    height: 0;
}

pre {
    overflow: auto;
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    /* -webkit-appearance: button; (DEPRECATED) */
    cursor: pointer;
}

button[disabled],
html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input {
    line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
    color: #444;
    font-size: 100%;
    font-family:
        Verdana,
        Arial,
        "Noto Sans",
        Roboto,
        Helvetica,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    font-size: 100%;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
    color:#666;
    font-weight: normal;
}

p {
    margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

address {
    margin: 0 0 1.5em;
}

pre {
    background: #eee;
    font-family: "Courier 10 Pitch", Courier, monospace;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code,
kbd,
tt,
var {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
    font-size: 15px;
    font-size: 0.9375rem;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    background: #fff9c0;
    text-decoration: none;
}

big {
    font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
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;
}

body {
    background-color: #f8f8f8;
}

#super-container {
    background-color: #fcfcfc;
    max-width:96.0em;
    margin: 0 auto;
    border-style: solid;
    border-width: 1px;
    border-color: #ccc;
}

#page {
    margin: 0 auto;
    background-color:#fff;
    max-width:62.5em;
}

#masthead {
    width:100%;
}

/*
The styles for mobile/desktop only items are defined here against a single
breakpoint of 40.0em. To make use of an intemediate width (normally from
40.01em to 60.0em), the necessary styles will need to be redefined in the
child theme.
*/
@media screen and (min-width: 40.01em) {
    .mobile-only-item {
        display: none;
    }
}
@media screen and (max-width: 40.0em) {
    .desktop-only-item {
        display: none;
    }
}

.site-branding {
    margin-bottom: -5px;
}

#main {
    padding: 10px;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
}

blockquote,
q {
    quotes: "" "";
}

hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em;
}

ul,
ol {
    margin: 0 0 1.5em 0.5em;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li > ul,
li > ol {
    margin-bottom: 0;
    margin-left: 0.5em;
}

li > ul {
    list-style: square;
}

dt {
    font-weight: bold;
}

dd {
    margin: 0 1.5em 1.5em;
}

img {
    height: auto; /* Make sure images are scaled correctly. */
    max-width: 100%; /* Adhere to container width. */
}

figure {
    margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

table {
    margin: 0 0 1.5em;
    width: 100%;
}

.search-string {
    height: 1.0em;
    clear: both;
    font-size: 0.8em;
    color: #888;
}

.clear-filter-button {
    background-color: #ffc;
}

.small-text {
    font-size: 0.8em !important;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    border: 1px solid;
    border-color: #ccc #ccc #bbb;
    border-radius: 3px;
    background: #e6e6e6;
    color: rgba(0, 0, 0, .8);
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1;
    padding: .6em 1em .4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    border-color: #ccc #bbb #aaa;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
    border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
    color: #666;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 3px;
}

select {
    border: 1px solid #ccc;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
    color: #111;
}

textarea {
    width: 100%;
}

/*--------------------------------------------------------------
# Navigation - Links
--------------------------------------------------------------*/
a:link {
    color: steelblue;
}

a:visited {
    color: steelblue;
}

a:hover,
a:focus,
a:active {
    color: midnightblue;
}

a:focus {
    outline: thin dotted;
}

a:hover,
a:active {
    outline: 0;
}

/*--------------------------------------------------------------
# Navigation - Menus
--------------------------------------------------------------*/
.main-navigation {
    clear: both;
    display: block;
    float: left;
    width: 100%;
    background-color: #ccc;
    text-align: center;
}

#main-menu {
    display: inline-block;
    margin: 0 auto -5px auto;
    text-align: left;
}

.main-navigation ul {
    display: none;
    list-style: none;
    margin: auto;
    padding-left: 0;
}

.main-navigation li {
    float: left;
    position: relative;
    margin: 2px 0px 2px 3px;
}

.main-navigation a {
    font-size: 0.95em;
    display: block;
    padding: 6px 12px;
    text-decoration: none;
    background-color: #999;
    color: #333;
    border-radius: 0px;
}

.main-navigation ul ul {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    float: left;
    position: absolute;
    top: 2.0em;
    left: -999em;
    z-index: 99999;
    padding: 1px;
    background-color: #ccc;
}

.main-navigation ul ul ul {
    left: -999em;
    top: 0;
}

.main-navigation ul ul a {
    width: 200px;
    background-color: #999;
    color: #333;
    border-radius: 0px;
    text-align:left;
}

.main-navigation ul ul li {
    margin: 2px 2px;
}

.main-navigation li:hover > a,
.main-navigation li.focus > a {
    color: #fff;
    background-color: #333;
    border-radius: 0px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
    left: auto;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
    left: 100%;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
    display: block;
}

@media screen and (min-width: 60.01em) {
    .menu-toggle {
        display: none;
    }
    .main-navigation ul {
        display: block;
    }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
    margin: 0 0 1.5em;
    overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    float: left;
    width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    float: right;
    text-align: right;
    width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    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: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
    outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
    content: "";
    display: table;
    table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
    clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
    margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */
.widget select {
    max-width: 100%;
}

/*--------------------------------------------------------------
# Content - Posts and pages
--------------------------------------------------------------*/
.sticky {
    display: block;
}

.hentry {
    margin: 0 0 1.5em;
}

.byline,
.updated:not(.published) {
    display: none;
}

.single .byline,
.group-blog .byline {
    display: inline;
}

.page-content,
.entry-content,
.entry-summary {
    margin: 1.5em 0 0;
}

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
# Content - Comments
--------------------------------------------------------------*/
.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
    display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
    display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
    max-width: 100%;
}

/*--------------------------------------------------------------
# Media - Captions
--------------------------------------------------------------*/
.wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    margin: 0.8075em 0;
}

.wp-caption-text {
    text-align: center;
}

/*--------------------------------------------------------------
# Media - Galleries
--------------------------------------------------------------*/
.gallery {
    margin-bottom: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 100%;
}

.gallery-columns-2 .gallery-item {
    max-width: 50%;
}

.gallery-columns-3 .gallery-item {
    max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
    max-width: 25%;
}

.gallery-columns-5 .gallery-item {
    max-width: 20%;
}

.gallery-columns-6 .gallery-item {
    max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
    max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
    max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
    max-width: 11.11%;
}

.gallery-caption {
    display: block;
}

/*--------------------------------------------------------------
# Main Content Area
--------------------------------------------------------------*/

#content-with-sidebar, #content-no-sidebar {
    display: grid;
    margin: 0;
    width: 100%;
    padding: 0;
    overflow: hidden;
}
@media screen and (max-width: 60.0em) {
    #content-with-sidebar {
        grid-template-areas: "content"
                             "sidebar";
        grid-template-columns: 1fr;
    }
}
@media screen and (min-width: 60.01em) {
    #content-with-sidebar {
        grid-template-areas: "content sidebar";
        grid-template-columns: 3fr 1fr;
        grid-gap: 2%;
    }
}
#content-no-sidebar {
    grid-template-areas: "content";
    grid-template-columns: 1fr;
}
@media screen and (min-width: 60.01em) {
    #page {
        max-width: 80.0em;
    }
    #content-with-sidebar {
        background-color: #eee;
    }
}
#content-header {
    display: block;
    background: none;
}
#primary {
    grid-area: content;
}
#secondary {
    grid-area: sidebar;
    padding: 2%;
}
@media screen and (max-width: 60.00em) {
    #secondary {
        padding-bottom: 3.0em;  /* Fix overflow problem */
    }
}
@media screen and (max-width: 60.0em) {
    .widget-area {
        width: 96%;
        padding: 2%;
        margin: 0px auto;
    }
}
.halfspace {
    height: 0.5em;
}

/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/

.sidebar-category-link {
    width: 96%;
    margin: 1px 2% 2px;
    border: solid 1px #ccc;
}

.sidebar-category-link,
.sidebar-category-link a {
    font-size: 0.9em;
}

.sidebar-post-link {
    width: 96%;
    margin: 1px 2% 2px;
    border: solid 1px #ccc;
    grid-gap: 10px;
}

.sidebar-post-link,
.sidebar-post-link a {
    font-size: 0.9em;
}

.sidebar-post-link-date {
    font-size: 0.8em;
}

.sidebar-post-link-col1, .sidebar-post-link-col2 {
    padding: 5px;
}

/*--------------------------------------------------------------
# Blog Pages - Navigation
--------------------------------------------------------------*/

blog-nav-table {
    border-collapse: collapse;
}
.blog-nav-col1, .blog-nav-col2, .blog-nav-col3 {
    padding: 0.2em;
    font-size: 0.85em;
    border: solid 1px #ccc;
}
.blog-nav-col1 {
    width: 3.0em;
    text-align: center;
}
.blog-nav-col2 {
    width: 10.0em;
    text-align: center;
    background-color: #f4f4f4;
}
a.cat-nav-link {
    text-decoration: none;
}
a.blog-nav-link {
    display: block;
    width: 100%;
    padding: 0.2em;
    text-decoration: none;
}
a.blog-nav-link:hover,
a.cat-nav-link:hover {
    background-color: steelblue;
    color: #fff;
}
.blog-nav-button {
    max-height: 2.0em;
}

/*--------------------------------------------------------------
# Blog Pages - Content
--------------------------------------------------------------*/

.category-icon-link {
    display: block;
    float:left;
    background-color: #e5e5e5;
    width: 8.0em;
    height: 10.0em;
    padding: 0.5em 1.0em;
    margin: 0.4em 0.3em;
    font-size: 0.75em;
    text-align: center;
}
.category-icon-link a:link,
.category-icon-link a:visited {
    text-decoration: none;
    color: #333;
}

.post-list-item {
    display: grid;
    margin: 0;
    width: 100%;
    padding: 0;
    overflow: hidden;
    border: solid 1px #ccc;
}
@media screen and (max-width: 45.0em) {
    .post-list-item {
        grid-template-areas: "post-image-holder"
                             "post-text-holder";
        grid-template-columns: 1fr;
    }
    .post-image-holder {
        border-bottom: solid 1px #ccc;
    }
    #primary {
        overflow: hidden;
    }
}
@media screen and (min-width: 45.01em) {
    .post-list-item {
        grid-template-areas: "post-image-holder post-text-holder";
        grid-template-columns: 25% 1fr;
    }
    .post-image-holder {
        border-right: solid 1px #ccc;
    }
}
.post-image-holder {
    background-color: #f4f4f4;
    padding: 0.5em;
}

.post-text-holder {
    overflow: hidden;
    padding: 0.5em;
}
.post-list-spacer {
    display: block;
    height: 0.5em;
}

.post-archive-table {
    border-collapse: collapse;
}
.post-archive-table-cell {
    border: solid 1px #ccc;
    padding: 0.2em;
}

.blog-footnote {
    font-size: 0.85em;
}
