/*Theme Variables*/
:root {
    --lightBlue: #7DD3F6;
    --medBlue: #34A8BA;
    --blue: #0A4873;
    --lightGray: #EEEEEE;
    --overlay: #003040;
    --gray: #444;
    --medGray: #777;
    --white: #ffffff;
    --font-root-size: 20px;
    --font-body: 'Nunito Sans', sans-serif;
    --font-headings: 'Alegreya Sans', serif;
}

* {
    box-sizing: border-box;
}

body, div, ul, h2, h3 {
    margin: 0;
    padding: 0;
}

body {
    color: var(--gray);
    font-size: var(--font-root-size);
    font-family: var(--font-body);
}

nav, main, footer, .fullWidth {
    width:100%;
}

section {
    width: 85%;
    margin: 0 auto;
    position: relative;
    display: flex;
}

.overlay:before {
    position: absolute;
    content: " ";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 0;
    background-color:rgba(0,48,64,.7);
}

.services, .resourcesPage, .about {
    padding: 30px 0 60px 0;
}

/* Brand Text Colors */
.brand-blue {
    color: var(--blue);
}

.brand-medBlue {
    color: var(--medBlue);
}

.brand-lightBlue {
    color: var(--lightBlue);
}


/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-headings);
    color: var(--medGray);
}
h1 {
    font-size: 2.1rem;
    text-transform: uppercase;
}
h2 {
    color: var(--medBlue);
    margin: 20px 0;
}
h5 {
    color: var(--overlay);
    margin: 0 0 5px 0;
    font-size: 1.2rem;
}
.headline h1{
    text-transform: none;
    font-size: 3.4rem;
    color: var(--white);
}
.headline h2{
    font-size: 2.6rem;
    color: var(--white);
    font-weight: 100;
    width: 63%;
    margin: 0 auto;
}
h3.tip-text{
    font-size: 2.3rem;
    color: var(--white);
    width: 80%;
    margin: 0 auto;
}
.three-fourths h1.title {
    margin-top: 0;
}
h1.resources-heading {
    color: var(--white);
    padding-top: 50px;
    margin: 0;
}
.three-fourths.secondary h1 {
    margin-top: 0;
}

/* Links */
a:link, a:visited{
    color: var(--medBlue);
    text-decoration: none;
    border-bottom: 1px dashed var(--medBlue);
}

a:hover {
    color: var(--blue);
    text-decoration: none;
    border-bottom: 1px dashed var(--blue);
}

footer a:link, .ptp a:link, button a:link, .tip-category a:link {
    border: none;
}

button a:link, button a:visited {
    color: var(--medGray);
}

button a:hover {
    color: var(--medBlue);
}

/* Buttons */
button {
    color: var(--medGray);
    background: var(--white);
    padding: 15px 30px;
    border-radius: 0;
    border: 1px solid var(--medGray);
    text-transform: uppercase;
    font-size: 1.3rem;
    min-width: 280px;
}

button:hover {
    color: var(--medBlue);
    border: 1px solid var(--medBlue);
    cursor: pointer;
}

.appBtns {
    margin-top: 20px;
}


/* Navigation Items */
.ptp {
    background: var(--lightGray);
    border-bottom: 4px solid var(--lightBlue);
    font-size: 1.4rem;
    margin: 0 auto;
    padding: 0 1em;
}
.top-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 4rem;
}
.top-nav li {
    display: inline-block;
}
.top-nav a {
    color: var(--blue);
    text-decoration: none;
}
.top-nav a:hover {
    color: var(--medBlue);
}
#mobile-menu:before{
    content: "MENU";
    font-family: var(--font-body);
    font-weight: bold;
    /* color: var(--medBlue); \f0c9 */
    font-size: 1.5rem;
    display: none;
}
ul.mobile-menu-list{
    display: none;
    position: absolute;
    zoom: 1;
    right: 65px;
    top: 62px;
    width: 100%;
    z-index: 99999;
}
.top-nav li.level-1 {
    display: block;
}



/* Homepage Hero */
.hero {
    background: url(images/hero-boots-final.jpg);
    background-size: cover;
    background-position: top center;
    background-attachment: fixed;
    padding: 8em 0 8em 0;
}
.headline {
    background: rgba(52,168,186,.8);
    color: var(--white);
    width: 70%;
    margin: 0 auto;
    text-align: center;
    padding: 20px;
    position: relative;
    z-index: 999;
    font-family: var(--font-body);
}
.headline button {
    position: relative;
    top: 45px;
    color: var(--blue);
    border: none;
}


/* Convenience\Value\Expertise section */
.cve {
    display: flex;
    justify-content: space-between;
    padding: 50px 0;
}
.third {
    width: 33.3%;
    padding: 20px;
}
.cve .col h2:before {
    content: "\f05d";
    font-family: FontAwesome;
    margin-right: 8px;
}

/* Tax Tips */
.tip {
    color: var(--white);
    text-align: center;
    height: 350px;
    position: relative;
    display: flex;
    align-items: center;
}
.tip.interior-pgs {
    margin-top: 20px;
}
.tip-text {
    border-top: 1px solid var(--white);
    border-bottom: 1px solid var(--white);
    line-height: 1.5em;
    padding: 25px 0;
}
.mileage {
    background: url(images/tax-tips/tip-mileage-bg.jpg);
    background-size: cover;
}
@media only screen and (max-width: 550px){
    h3.tip-text{
        font-size: 1.6rem;
    }
}
@media (min-width: 551px) and (max-width: 778px){
    h3.tip-text.long{
        font-size: 1.7rem !important;
    }
    
}

/* cash in on kids */
.about-tip{  
    background: url(images/tax-tips/child.jpg);
    background-size: cover;
    background-attachment: fixed;
}

/* gambling */
.service-tip{
    background: url(images/tax-tips/gambling.jpg);
    background-size: cover;
    background-attachment: fixed;
}

/* marriage */
.resources-tip{
    background: url(images/tax-tips/marriage.jpg);
    background-size: cover;
    background-position: top center;
    background-attachment: fixed;
}

/* doc storage */
.contact-tip{
    background: url(images/tax-tips/storing-docs.jpg);
    background-size: cover;
    background-attachment: fixed;
}

/* hsa */
.login-tip{
    background: url(images/tax-tips/medication.jpg);
    background-size: cover;
    background-attachment: fixed;
}

/* Homepage Peerless Process */
.process {
    display: flex;
    justify-content: space-between;
    padding: 50px 0;
}
.three-fourths {
    width: 60%;
    position: relative;
    left: 100px;
}
.three-fourths.secondary {
    left:50px;
}
.one-fourth {
    width: 25%;
    background: url(images/clipboard.jpg);
    background-position: center;
    background-size: cover;
    position: relative;
}

.step-wrapper {
    position: relative;
}
.steps {
    width: 85px;
    height: 85px;
    background: var(--lightBlue);
    color: var(--white);
    border-radius: 50%;
    position: absolute;
    top: -20px;
    left: -120px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.5rem;
    font-family: var(--font-headings);
}
.steps.two {
    background: var(--medBlue);
}

.steps.three {
    background: var(--blue);
}

.process button {
    margin-right: 40px;
}

/* Homepage Tax Resources  */
.resources {
    padding: 30px 0 90px 0;
    color: var(--white);
    display: flex;
    justify-content: space-between;
    text-align: center;
}
.media{
    height: 169px;
    padding: 0;
}
.media:hover{
    cursor: pointer;
}
.media:hover > .tip-category{
    color: var(--medBlue);
}
.media.individual{
    background: url(images/tax-resources-indiv.jpg);
    background-size: cover;
    background-position: top right;
    background-repeat: none;
}
.media.business{
    margin: 0 20px;
    background: url(images/tax-resources-biz.jpg);
    background-size: cover;
    background-position: top right;
    background-repeat: none;
}
.media.featured {
    background: url(images/tax-resources-vet.jpg);
    background-size: cover;
    background-position: top right;
    background-repeat: none;
}
.tip-category {
    background: var(--lightGray);
    color: var(--blue);
    width: 100%;
    position: relative;
    top: 165px;
}

.brand-gradient {
    background: rgba(125,212,246,1);
    background: -moz-linear-gradient(top, rgba(125,212,246,1) 0%, rgba(52,168,186,1) 52%, rgba(10,71,115,1) 100%);
    background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(125,212,246,1)), color-stop(52%, rgba(52,168,186,1)), color-stop(100%, rgba(10,71,115,1)));
    background: -webkit-linear-gradient(top, rgba(125,212,246,1) 0%, rgba(52,168,186,1) 52%, rgba(10,71,115,1) 100%);
    background: -o-linear-gradient(top, rgba(125,212,246,1) 0%, rgba(52,168,186,1) 52%, rgba(10,71,115,1) 100%);
    background: -ms-linear-gradient(top, rgba(125,212,246,1) 0%, rgba(52,168,186,1) 52%, rgba(10,71,115,1) 100%);
    background: linear-gradient(to bottom, rgba(125,212,246,1) 0%, rgba(52,168,186,1) 52%, rgba(10,71,115,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7dd4f6', endColorstr='#0a4773', GradientType=0 );    
}

/* Services Page */
.service-list > div {
    width: 293px;
    display: inline-block;
    margin: 0 10px 10px 0;
}

.service-list p{
    text-align: center;
}

/* Footer */
footer {
    background: var(--lightGray);
    border-top: 4px solid var(--lightBlue);
    padding-top: 20px;
    color: var(--blue);
}
footer a {
    color: var(--medBlue);
}
footer section {
    display: flex;
    justify-content: space-between;
}
footer .fa {
    font-size: 2rem;
    margin-right: 20px;
}
.half {
    width: 50%;
}
.copyright {
    display: block;
    text-align: center;
    background: var(--lightGray);
    padding: 20px 0;
    font-size: .9rem;
}
span.qbse {
    color: green;
    font-weight: bold;
    text-transform: uppercase;
    display: inline-block;
    position: relative;
    top: -7px;
    left: 20px;
}



/* Forms */
input {
    padding: 6px;
    margin-left: 120px;
    width: 275px;
    border: 1px solid #777;
}
textarea{
    padding: 6px;
    margin-left: 120px;
    border: 1px solid #777;
    width: 275px;
}
label{
    position: absolute;
}
.ctcForm{
    margin: 10px 0;
}
.btnCtcForm {
    margin-left: 120px;
}
@media (max-width: 540px){
    .btnCtcForm{
        margin-left: 0;
    }
    
}

/* Accordion overrides */
.ui-corner-all, .ui-corner-top {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}
.ui-state-active {
    border: var(--medGray);
    background: var(--lightGray);
    color: var(--medBlue);
}
.ui-state-default {
    color: var(--medBlue);
    font-size: 1.3rem !important;
    text-transform: uppercase;
}
.ui-widget {
    font-family: var(--font-body);
    font-size: 1rem;
}
.ui-accordion-header:focus, .ui-accordion-icons:focus {
    outline: none;
}
.ui-accordion-content li {
    line-height: 2;
}

/* Start Page */
.startPage{
    position: relative;
}
.startIntro{
    display: flex;
    justify-content: center;
    
}
.startImg {
    align-self: center;
}

.startImg > img {
    position: relative;
    top: 63px;
}

.startAppt {
    display: flex;
    width: 100%;
}
div.round {
    display: none;
}
.attn {
    color: var(--medBlue);
    background-color:#ededed;
    padding: 0 5px;
}
@media (max-width: 540px){
    .startPage{
        text-align: center;
    }
    div.round {
        display: block;
    }
    div.startImg{
        display: none;
    }
    .round img {
        border-radius: 50%;
    }
    
}

/* Client Area */
p.message{
    color: red;
}

input[type=file], input[type=image] {
    border: none;
}

input[type=image]{
    margin-left: 0;
}

input[type=checkbox] {
    padding: 0;
    margin-left: 0;
    width: 10px;
    border: none;
}

fieldset {
    border: 1px solid #ededed !important;
    margin: 15px 0;
}

fieldset li {
    list-style: none;
    padding-left: 25px;
}

.centersMargin {
    margin: 60px 0;
}

.ackMessage{
    color: var(--lightGray);
    background: red;
    padding: 20px;
}

.ackMessage h3{
    color: var(--lightGray);
}

.logout {
    float: right;
    font-size: .7em;
    cursor: pointer;
}

.logout:hover {
    color: var(--lightBlue);
    border: 1px solid var(--lightBlue);
}

.ctcForm.createProfile input{
    margin-left: 200px;
}

@media (max-width: 949px){
    .logout.ctcForm{
        width: auto;
    }
}

@media (max-width: 550px){
    .logout.ctcForm{
        position: relative;
        top: -40px;
        font-size: 1rem;
    }
}

@media (max-width: 750px) {
    .about-tip{
        background-attachment: unset;
    }
    .service-tip{
        background-attachment: unset;
    }
    .resources-tip{
        background-attachment: unset;
    }
    .contact-tip{
        background-attachment: unset;
    }
    .login-tip{
        background-attachment: unset;
    }
    span.qbse {
        left: 0;
        top: 0;  
    }
    .logo a img{
        width: 115px;
        height: 115px;
    }
    .discounts li {
        list-style: none;
        margin-bottom: 20px;
    }
}