/** ----------------------------------------- Reset UA Styles ----------------------------------------- **/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr,
address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot,
thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header,
hgroup, menu, nav, section, summary, time, mark, audio, video {

    padding: 0;
    border: none;
    margin: 0;
    outline: 0;
    vertical-align: baseline;
    font-size: inherit;
    font-weight: inherit;
}

html {
    height: 100%;
}

/** ----------------------------------------- Root Styles ----------------------------------------- **/

:root {

    font-size: 16px;

    --clr-xlt-light: rgba(255,255,255, 1);
    --clr-lt-light: rgba(248,248,248, 1);
    --clr-med-light: rgba(196,196,196, 1);
    --clr-dk-light: rgba(192,192,192, 1);   
    --clr-xdk-light: rgba(196,196,196, 1);  /* placeholder for future growth */

    --clr-xlt-blue: rgba(101,149,202,.375);
    --clr-lt-blue: rgba(101,149,202,1);
    --clr-med-blue: rgba(88,135,191,1);
    --clr-dk-blue: rgba(88,135,191,.75);

    --clr-med-green: rgba(20,124,123,1);
    --clr-med-beige: rgba(247,243,234,1);
    --clr-xdk-red: rgba(255,0,0,1);

    --clr-xlt-grey: rgba(221,219,217,1);    /* placeholder for future growth */
    --clr-lt-grey: rgba(221,219,217,1);     /* placeholder for future growth */  
    --clr-med-grey: rgba(221,219,217,1);
    --clr-dk-grey: rgba(204,204,204,1);     /* placeholder for future growth */
    --clr-xdk-grey: rgba(221,219,217,1);    /* placeholder for future growth */  

    --clr-xlt-dark: rgba(117,117,117,1);
    --clr-lt-dark: rgba(78,79,95,1);
    --clr-med-dark: rgba(51,51,51,1);
    --clr-dk-dark: rgba(51,51,51,1);   /* placeholder for future growth */
    --clr-xdk-dark: rgba(51,51,51,1);  /* placeholder for future growth */

    --clr-ajax-translucent: rgba(51,51,51, .5);
}

*::before,
*::after {
    box-sizing: border-box;
}


/** ----------------------------------------- Site Styles ----------------------------------------- **/

@font-face {
    font-family: Studio-Feixen-Sans;
    src: url('../assets/sfs.woff2') format('woff2');
}

html {
    font-size: 100%;
}

body, html {
    height: 100%;
}

body {
    /*height: 100%;*/
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0;
    background-color: var(--clr-xlt-light);
}

main {
    flex: 1;
}

#page_w {
    margin: 3rem auto 3rem auto;
    max-width: 61.25rem;
}

ul li, ol li {
    list-style-type: none;
}

.clear::after {
    display: block;
    clear: both;
    height: 0;
    content: "";
    visibility: hidden;
}

.site-block-std {
    padding: 0 .625rem 0 .625rem;
    margin: 1.5rem 0 0 0;
}

.site-box-shadow {
    border-radius: .25rem;
    box-shadow: 0 .25rem .5rem 0 rgb(0 0 0 / 30%);
}

.site-gradient-border-bottom {
    border-bottom: 1px solid transparent;
    border-image: linear-gradient( to right, 
        var(--clr-lt-light) 0%, 
        var(--clr-med-light) 50%, 
        var(--clr-lt-light) 100% ) 1;
}

.site-gradient-border-top {
    border-top: 1px solid transparent;
    border-image: linear-gradient( to right, 
        var(--clr-lt-light) 0%, 
        var(--clr-med-light) 50%, 
        var(--clr-lt-light) 100% ) 1;
}


.site-font-std {
    font-family: Studio-Feixen-Sans, Helvetica;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.25;
    color: var(--clr-lt-dark);
}

.site-font-stdl {
    font-family: Studio-Feixen-Sans, Helvetica;
    font-size: 1.125em;
    font-weight: 300;
    line-height: 1.5;
    color: var(--clr-lt-dark);
}

.site-font-emph {
    font-family: Studio-Feixen-Sans, Helvetica;
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.2;
    color: var(--clr-lt-dark);
}

.site-font-fancyl {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--clr-med-green);
}

.site-font-brand {
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--clr-med-green);
}

.page-wrap {   
    margin: 0 auto 0 auto;
    max-width: 61.25rem;
}

.site-ajax-overlay-relative {
    position: relative;
}

.site-ajax-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--clr-ajax-translucent);
    z-index: 1000;
    pointer-events: all;
  }

.site-ajax-overlay-flex {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--clr-ajax-translucent);
    z-index: 1000;
    pointer-events: all;
}
  
.site-ajax-spinner-centerer {
display: flex;
justify-content: center;
/* spinner vertical center relative to controls height */
height: 0;
position: absolute;
top: 0;
width: 100%;
transform: translateY(calc(var(--postsearch-controls-height, 0px) / 2));
}
  
.site-ajax-spinner-8spoke {
position: relative;
width: 2.5rem;
height: 2.5rem;
}

.site-ajax-spinner-8spoke div {
    position: absolute;
    top: 50%;
    left: 50%;
    width: .75rem;
    height: 2.25rem;
    background-color: var(--clr-med-green);
    transform-origin: center -12px;
    animation: fade 1s linear infinite;
    opacity: .25;
    border-radius: 2px;
}

.site-ajax-spinner-8spoke div:nth-child(1) { 
    transform: rotate(0deg) translateY(-12px); animation-delay: 0s; 
}

.site-ajax-spinner-8spoke div:nth-child(2) { 
    transform: rotate(45deg) translateY(-12px); animation-delay: 0.125s; 
}

.site-ajax-spinner-8spoke div:nth-child(3) { 
    transform: rotate(90deg) translateY(-12px); animation-delay: 0.25s; 
}

.site-ajax-spinner-8spoke div:nth-child(4) { 
    transform: rotate(135deg) translateY(-12px); animation-delay: 0.375s; 
}

.site-ajax-spinner-8spoke div:nth-child(5) { 
    transform: rotate(180deg) translateY(-12px); animation-delay: 0.5s; 
}

.site-ajax-spinner-8spoke div:nth-child(6) { 
    transform: rotate(225deg) translateY(-12px); animation-delay: 0.625s; 
}

.site-ajax-spinner-8spoke div:nth-child(7) { 
    transform: rotate(270deg) translateY(-12px); animation-delay: 0.75s; 
}

.site-ajax-spinner-8spoke div:nth-child(8) { 
    transform: rotate(315deg) translateY(-12px); animation-delay: 0.875s; 
}

@keyframes fade {
    0% { opacity: 1; }
    100% { opacity: 0.25; }
}

.hidden {
    display: none;
}

.page-section-heading {
    padding: .625rem 0 .3125rem .625rem;
    /* margin: 0 0 1.25rem; */
    background-color: var(--clr-med-dark);
    font-family: Helvetica;
    font-size: 1.5em;
    font-weight: 300;
    color: var(--clr-xlt-light);
}

a {
    font-family: Studio-Feixen-Sans, Helvetica, serif; 
    font-size: 1.125rem;
    font-weight: 300;
    color: var(--clr-med-blue);
    text-decoration: none;    
}

a:hover {
    color: var(--clr-lt-blue);
    text-decoration: underline;    
    transition-duration: .3s;   
}

a:visited {
    color: var(--clr-med-blue);
    text-decoration: none;    
}

a:active {
    color: var(--clr-lt-blue);
    text-decoration: underline;    
    transition-duration: .3s;   
}

/** ------------------------------------------- Tag Suggestion Styles ------------------------------------------ **/

.tagsuggestions-box {
    max-height: 12.5rem;
    overflow-y: auto;
    position: absolute;
    z-index: 1000;
    width: 100%;
    background-color: var(--clr-med-dark);
    color: var(--clr-xlt-light);
    font-family: Studio-Feixen-Sans, Helvetica;
    font-size: 1rem;
    border-bottom-left-radius: .3125rem;
    border-bottom-right-radius: .3125rem;
}

.tagsuggestion-item {
    padding: .5rem;
    cursor: pointer;
    border-bottom: 1px solid transparent;    
}

.tagsuggestion-item.active,
.tagsuggestion-item:hover {
    color: var(--clr-lt-blue);
    border-bottom: 1px solid var(--clr-lt-blue);
    transition: all 0.2s ease-in-out;
}
