/* TABLE OF CONTENTS
    01. General
    02. Header
    03. Footer
    XX. Queries
        a. Mobile
        b. Tablet
        c. iPad Pro
*/

/* 01. GENERAL */
    :root {
        --white: #fff;
        --black: #000;
        --grey: #666666;
        --light-grey: #ffffffd5;
        --dark-grey: #464646;
        --orange: #FC6802;
        --purple: #6F5BB2;
        --gold: #F8B603;
    }
    html, body {
        width: 100%;
        height: 100%;
    }
    body {
        font-size: 1em;
        font-weight: 500;
        color: var(--grey);
    }
    * { font-family: 'montserrat', 'Arial', sans-serif; }
    a {
        color: var(--orange);
        text-decoration: none;
    }
    a:hover, a:focus, a:target {
        color: var(--gold);
        font-weight: bold;
    }
    .main-body {
        min-height: calc(100% - 100px);
        overflow-x: hidden;
    }
    .mobile-hide { display: block; }
    .mobile-only { display: none !important; }
    .tablet-only { display: none !important; }
    .quarter-width { width: 25%; }
    .half-width { width: 50%; }
    .three-quarter-width { width: 75%; }
    .full-width { width: 100%; }
    .text-center { text-align: center; }
    .text-left { text-align: left; }
    .text-right { text-align: right; }
    .text-uppercase { text-transform: uppercase; }
    .header-light { font-weight: 500; }
    .header-medium { font-weight: 700; }
    .header-heavy { font-weight: 900; }
    .hide { display: none; }


/* 02. HEADER */
    header {
        z-index: 198;
        top: 0;
        width: 100%;
        background: var(--white) url("/img/graphics/header-bg.png") repeat-x center 100%;
        background-size: cover;
    }
    .fixed-nav {
        position: fixed;
        top: 0;
    }
    .header-links {
        z-index: 198;
        width: 100%;
        background: linear-gradient(270deg, var(--purple), var(--purple));
        background: -moz-linear-gradient(270deg, var(--purple), var(--purple));
        background: -o-linear-gradient(270deg, var(--purple), var(--purple));
        background: -webkit-linear-gradient(270deg, var(--purple), var(--purple));
    }
    .header-links a {
        display: block;
        float: left;
        width: 16.6%;
        height: 100%;
        padding: 15px 6px;
        font-size: 1em;
        font-weight: 700;
        text-transform: uppercase;
        text-align: center;
        color: var(--white);
        text-decoration: none;
    }
    .header-links a:hover, .header-links a:focus, .header-links a:target { background: var(--orange); }
    .header-links ul {
        list-style: none;
        list-style-position: inside;
        margin: 0;
        padding: 0;
    }
    #menu-toggle {
        display: none;
        margin-bottom: 4px;
        font-size: 1.6em;
        text-transform: uppercase;
        text-align: right;
        color: var(--white);
    }
    .menu-opened {
        z-index: 999;
        position: fixed;
        left: 0;
        top: 0;
        width: 104%;
        height: 100%;
        padding: 14px;
        background: var(--purple);
        color: var(--white);
    }
    .menu-opened ul li a, .menu-opened ul li a:visited { color: var(--white); }
    .menu-opened ul li a:active, .menu-opened ul li a:focus, .menu-opened ul li a:hover { color: var(--white); }
    .page-nav {
        z-index: 199;
        width: 100%;
        padding: 10px;
        background: var(--white);
    }
    .page-nav.submenu {
        z-index: 195;
        width: 100%;
    }
    .page-nav.fixed-nav {
        top: 48px;
        border-bottom: 2px solid var(--purple);
    }
    .page-nav a {
        font-weight: 700;
        text-transform: uppercase;
        color: var(--orange);
    }
    .page-nav a:hover {
        font-weight: 900;
        color: var(--orange);
    }
    .page-nav .container .row div {
        border-left: 2px solid var(--purple);
        text-align: center;
    }
    .page-nav .container .row div:first-child { border-left: 0; }
    .page-nav ul {
        border: 2px solid var(--purple);
        padding: 10px;
        list-style: none;
    }
    .page-nav ul li {
        border: 0px solid var(--purple);
        padding: 4px;
        text-align: center;
    }

/* 03. FOOTER */


/* 04. SEARCH */
    div.search, .search div { position: relative; }
    div.search div { padding: 0; }
    div.search input, div.search button, div.search select { width: 100%; }
    div.search button {
        border: 0;
        color: var(--white);
        background: var(--blue);
    }
    div.search input { padding: 11px 10px; }
    div.search button { padding: 4.5px 10px; }
    div.search select { padding: 12px 10px; }
    div.search button:hover { background: var(--gold); }
    div.search input, div.search select { 
        background: var(--white);
        border: 1px solid var(--orange); 
    }
    div.search button[type=submit] { background: var(--orange); }
    .results ul {
        margin: 0;
        padding: 0;
    }
    .results li {
        list-style: none;
        list-style-position: outside;
    }
    a.result {
        display: block;
        padding: 10px;
        border-bottom: 1px solid var(--grey);
    }

/* 05. FORMS */
    form input, form textarea, form select { padding: 10px; }
    form input:focus, form input:target, form select:focus, form select:target, form textarea:focus, form textarea:target {
        border: 1px solid var(--orange);
        outline: 1px solid var(--orange);
    }
    form button[type=submit] {
        width: 100%;
        padding: 10px;
        border: 0 none;
        background: var(--orange);
        font-size: 1.2em;
        font-weight: 500;
        text-align: center;
        color: var(--white);
    }
    form input::placeholder {
        opacity: 0.5;
        color: var(--black);
    }
    .err-box {
        padding: 20px;
        border: 2px solid var(--orange);
    }
    .err-box h2 { text-align: center; }


/* 06. ADMIN */
    .admin-form input, .admin-form textarea, .admin-form select {
        width: 100%;
        padding: 10px;
    }
    #locations-feed .row {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--orange);
    }
    #locations-feed .row a {
        display: block;
        width: 100%;
        padding: 10px;
        background: var(--orange);
        color: var(--white);
        text-align: center;
    }
    #locations-feed .row a:hover, #locations-feed .row a:focus, #locations-feed .row a:target { background: var(--gold); }
    #admin .btn {
        border-radius: 15px;
        padding: 10px;
        background: var(--orange);
        color: var(--white);
        text-decoration: none;
    }   
    #admin details { margin-bottom: 20px; }
    #admin details summary {
        margin-bottom: 10px;
        padding: 10px;
        border-bottom: 1px solid var(--orange);
        color: var(--orange);
        font-size: 1.4em;
        font-weight: 600;
    }
    .admin-nav ul { 
        list-style: none; 
        text-align: right;
    }
    .admin-nav li { text-align: center; }
    .admin-nav li a { color: var(--white); }
    .admin-nav li a:hover, .admin-nav li a:focus, .admin-nav li a:target { 
        color: var(--orange); 
        font-weight: 800;
    }
    form.admin-form.coupons label, form.admin-form.coupons input, form.admin-form.coupons textarea { margin-bottom: 10px; }
    #locations-feed .status { 
        display: inline-block;
        width: 15px;
        height: 15px;
        padding: 5px;
        border-radius: 50%;
     }
    #locations-feed .status.active { background: var(--gold); }
    #locations-feed .status.inactive { background: var(--grey); }
    #analytics-feed #chart { width: 100%; }
    .analytics input, .analytics select {
        padding: 10px;
        outline: 0;
        background: transparent;
        border: 1px solid var(--orange);
        border-radius: 15px;
        width: 100%;
    }
    .analytics input:target, .analytics input:focus, .analytics select:target, .analytics select:focus { border: 2px solid var(--purple); }
    .analytics h1, .analytics button#analytics-export { display: inline-block; }
    .analytics button#analytics-export { 
        background: none;
        outline: 0;
        border: 0;
        color: var(--orange); 
    }
    .analytics button:hover, .analytics button:focus, .analytics button:target { color: var(--purple); }


/* xx. QUERIES */
    /* a. Phones and Lower Res Tablets */
        @media only screen and (max-width: 600px) {
            .mobile-hide { display: none; }
            .mobile-only { display: block !important; }
            body.float-nav { margin-top: 350px; }
            #menu-toggle { display: block; }
            .mobile-head {
                z-index: 999;
                position: fixed;
                top: 0;
                left: 0;
                background: #fff;
                box-shadow: 0px 6px 5px 0px rgba(0, 0, 0, 0.1);
            }
            #menu ul { display: none; }
            #menu.menu-opened ul {
                display: block;
                position: absolute;
                top: 20%;
                left: 0;
                width: 100%;
                padding: 0;
                text-align: center;
            }
            #menu.menu-opened a {
                clear: both;
                width: 100%;
                margin-bottom: 10px;
                padding: 10px;
            }
            div.search button { padding: 9.5px 10px; }
        }

    /* b. Tablet */
        @media only screen and (min-width: 601px) and (max-width: 1024px) {
            .header-links a {
                width: 25%;
                height: auto;
                padding: 5px;
            }
            .header-socials .fas, .header-socials .fab, .footer-socials .fas, .footer-socials .fab {
                margin-bottom: 12px;
                margin-top: 5px;
                font-size: 0.8em;
            }
            .tablet-only { display: block !important; }
            .header-socials .fab.fa-facebook-f, .footer-socials .fab.fa-facebook-f { padding: 6px 10px; }
            div.search input { padding: 9px 10px; }
            div.search select { padding: 11px 10px; }
            div.search button { padding: 4px 10px; }
        }

    /* c. iPad Pro */
        @media only screen and (width: 1024px) and (height: 1366px) and (orientation: portrait) {

        }
