/*
	Theme Name: TGCPA
	Description: TGCPA WordPress Theme
	Version: 1.0.0
	Author: Areg A.
	Tags: Accounting, Awesome, HTML5, Taxes

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
:root {
    --gold-color: #ca9100;
    --gray-color: #555;
    --navy-color: #1c104c;
}
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
    /*background-color: var(--gold-color);*/
    color: var(--navy-color);
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 24px;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}
body.mobile-nav-open {
    overflow: hidden;
}
@media (min-width: 768px) {
    body.mobile-nav-open {
        overflow: visible;
    }
}
h1,
h2 {
    color: var(--navy-color);
    display: block;
    font-size: 24px;
    font-weight: bold;
    line-height: 32px;
    margin-bottom: 50px;
    text-align: center;
    width: 100%;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
p {
    margin-bottom: 10px;
}
a {
	color:#444;
	text-decoration:none;
    transition: 300ms color ease-in;
}
a:hover {
	color: var(--navy-color);
    text-decoration: none;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}
section {
    display: block;
}
.cta {
    background-color: var(--gold-color);
    color: #FFF;
    display: inline-block;
    font-weight: 800;
    padding: 10px 20px;
    text-transform: uppercase;
    white-space: nowrap;
}
.cta:hover,
.cta:active,
.cta:focus {
    color: var(--navy-color);
}
.cta-alt {
    background-color: var(--navy-color);
    color: #FFF;
    display: inline-block;
    font-weight: 800;
    padding: 10px 20px;
    text-transform: uppercase;
    white-space: nowrap;
}
.cta-alt:hover,
.cta-alt:active,
.cta-alt:focus {
    color: var(--gold-color);
}
.mobile-only {
    display: flex;
}
.desktop-only {
    display: none;
}
@media (min-width: 768px) {
    .mobile-only {
        display: none;
    }
    .desktop-only {
        display: flex;
    }
}

@keyframes h1Animation {
    0% {
        opacity: 0;
        transform: translateY(-70%);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* header */
.header {
    background-color: transparent;
    color: #FFF;
    padding: 20px 0;
    position: fixed;
    top: 0;
    transition: 300ms background-color ease;
    z-index: 4;
}
body.mobile-nav-open .header {
    background-color: #FFF;
}
@media (min-width: 768px) {
    body.mobile-nav-open .header {
        background-color: transparent;
    }
}
body.scrolled .header {
    background-color: #FFF;
    border-bottom: 2px solid var(--gold-color);
}
@media (min-width: 768px) {
    body.scrolled.mobile-nav-open .header {
        background-color: rgba(255,255,255,0.95);
        border-bottom: 2px solid var(--gold-color);
    }
}
.header .logo {
    display: inline-block;
    margin-bottom: 10px;
    text-align: center;
    transition: 300ms opacity ease-in;
}
@media (min-width: 768px) {
    .header .logo {
        margin-bottom: 0;
        text-align: left;
    }
}
.header .logo:hover {
    opacity: 0.8;
}
.header .logo img {
    max-width: 180px;
}
@media (min-width: 768px) {
    .header .logo img {
        max-width: 180px;
    }
}
.header .nav {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}
@media (min-width: 768px) {
    .header .nav {
    }
}
.header .nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.header .nav ul li {
    display: inline-block;
}
.header .nav ul li a {
    color: var(--navy-color);
    font-size: 30px;
    font-family: 'Big Shoulders Display', cursive;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 36px;
    margin: 0 15px;
    position: relative;
}
.header .nav ul li a::after {
    background-color: var(--navy-color);
    bottom: -4px;
    content: '';
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    transition: 300ms width ease;
    width: 0;
}
.header .nav ul li a:hover {
     color: var(--navy-color);
}
.header .nav ul li a:hover::after {
    width: 100%;
}
.header .mobile-logo {
    display: block;
    margin: 0 auto;
}
.header .mobile-logo .logo-img {
    width: 24px;
}
.header .mobile-nav-toggle {
    font-size: 36px;
    left: 25px;
    position: absolute;
    top: 32px;
}
.header .mobile-nav-toggle:hover,
.header .mobile-nav-toggle:active,
.header .mobile-nav-toggle:focus,
body.mobile-nav-open .header .mobile-nav-toggle {
    color: var(--gold-color);
}
.header .mobile-nav {
    background-color: #FFF;
    display: none;
    justify-content: center;
    left: 0;
    padding: 20px 10px;
    position: absolute;
    right: 0;
    top: 91px;
    text-align: center;
}
body.mobile-nav-open .header .mobile-nav {
    border-bottom: 2px solid var(--gold-color);
    display: block;
}
body.mobile-nav-open .header .mobile-nav::after {
    background-color: var(--navy-color);
    bottom: 0;
    content: "";
    height: 100vh;
    left: 0;
    opacity: 0.5;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}
.header .mobile-nav ul li {
    display: block;
    margin-bottom: 10px;
}
.hero {
    background-size: cover;
    background-repeat: no-repeat;
    border-bottom: 2px solid var(--navy-color);
    display: block;
    height: 100vw;
}
@media (min-width: 768px) {
    .hero {
        height: 42vw;
    }
}
main {
    padding-top: 60px;
    padding-bottom: 60px;
}
/* sidebar */
.sidebar {
}
/* footer */
.footer {
    background-color: #EEE;
    background-image: url('/wp-content/themes/tgcpa/img/grey-bkg.png');
    background-attachment: fixed;
    border-top: 2px solid #ca9100;
    color: #FFF;
}
.footer .footer-top {
    padding: 30px 0;
}
.footer .footer-top .row {
    justify-content: center;
}
@media (min-width: 768px) {
    .footer .footer-top .row {
        justify-content: flex-start;
    }
}
.footer .footer-top .row .logo {
    align-self: center;
    justify-content: center;
    padding: 0;
    text-align: center;
    width: auto;
}
/* @media (min-width: 768px) {
    .footer .footer-top .row .logo {
        padding-right: 10px;
    }
} */
.footer .footer-top .row .logo img {
    max-width: 44px;
}
.footer .footer-top .row .nav {
    padding: 10px 15px 0;
    text-align: center;
    justify-content: center;
}
@media (min-width: 768px) {
    .footer .footer-top .row .nav {
        border-left: 3px solid var(--navy-color);
        padding: 10px 0 10px 20px;
        justify-content: flex-start;
        text-align: left;
    }
}
.footer .footer-top .row .nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer .footer-top .row .nav ul li a,
.footer .footer-top .row .nav ul a {
    color: var(--gold-color);
    display: block;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    transition: 300ms color ease;
}
.footer .footer-top .row .nav ul li a:hover,
.footer .footer-top .row .nav ul li a:active,
.footer .footer-top .row .nav ul li a:focus,
.footer .footer-top .row .nav ul a:hover,
.footer .footer-top .row .nav ul a:active,
.footer .footer-top .row .nav ul a:focus {
    color: var(--navy-color);
}
.footer .footer-bottom {
    background-color: var(--navy-color);
    color: #FFF;
}
.footer .footer-bottom .copyright {
    background-color: var(--navy-color);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    margin-bottom: 0;
    padding: 10px 20px;
    text-align: center;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/
body.home .hero {
    background: url('/wp-content/themes/tgcpa/img/la-city.jpg') transparent no-repeat 0 0;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-bottom: 0;
    position: relative;
    width: 100%;
}
body.home .hero::after {
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(0,0,0,0.48361351376488093) 50%, rgb(0, 0, 0) 100%);
    bottom: 0;
    content: "";
    height: 8vw;
    left: 0;
    position: absolute;
    right: 0;
}
body.home .hero h1 {
    animation: 2000ms ease-out 500ms 1 both h1Animation;
    color: #FFF;
    font-family: "Big Shoulders Display";
    font-size: 40px;
    line-height: 48px;
    margin-top: 0;
    margin-bottom: 30px;
    opacity: 0;
    text-shadow: 0px 4px 8px #000;
    transform: translateY(-70%);
    z-index: 1;
}
body.home main {
    padding-top: 0;
    padding-bottom: 0;
}
body.home main .intro-wrapper {
    border-bottom: 2px solid var(--navy-color);
    padding: 60px 0;
    text-align: center;
}
body.home main .intro-wrapper .intro {
    color: var(--gold-color);
    font-size: 56px;
    font-family: "Big Shoulders Display";
    font-weight: 700;
    line-height: 64px;
    margin-bottom: 0;
}
@media (min-width: 768px) {
    body.home main .intro-wrapper .intro {
        font-size: 64px;
        line-height: 70px;
    }
}
body.home main .about-wrapper {
    border-bottom: 2px solid var(--navy-color);
    height: 400px;
}
@media (min-width: 768px) {
    body.home main .about-wrapper {
        border-bottom: none;
    }
}
body.home main .about-wrapper .background {
    background: var(--navy-color) url('/wp-content/themes/tgcpa/img/money-seamless-repeat.png') repeat 0 0;
    background-attachment: fixed;
    background-size: 60% auto;
}
@media (min-width: 768px) {
    body.home main .about-wrapper .background {
        background-size: 24% auto;
    }
}
body.home main .about-wrapper .content-wrapper {
    align-items: center;
    background-color: #EEE;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
body.home main .about-wrapper .content-wrapper .content {
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 20px;
    max-width: 400px;
    text-align: center;
}
@media (min-width: 768px) {
    body.home main .about-wrapper .content-wrapper .content {
        font-size: 24px;
        line-height: 30px;
    }
}
body.home main .about-wrapper .content-wrapper .cta {
}
body.home main .services-wrapper {
    height: 400px;
}
body.home main .services-wrapper .content-wrapper {
    align-items: center;
    background-color: #EEE;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
body.home main .services-wrapper .content-wrapper .content {
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 20px;
    max-width: 400px;
    text-align: center;
}
@media (min-width: 768px) {
    body.home main .services-wrapper .content-wrapper .content {
        font-size: 24px;
        line-height: 30px;
    }
}
body.home main .services-wrapper .content-wrapper .cta {
}
body.home main .services-wrapper .background {
    background: var(--gold-color) url('/wp-content/themes/tgcpa/img/money-seamless-repeat.png') repeat 0 0;
    background-attachment: fixed;
    background-size: 60% auto;
}
@media (min-width: 768px) {
    body.home main .services-wrapper .background {
        background-size: 24% auto;
    }
}
body.home main .outro-wrapper {
    border-top: 2px solid var(--gold-color);
    padding: 60px 0;
    text-align: center;
}
body.home main .outro-wrapper .outro {
    color: var(--navy-color);
    font-size: 56px;
    font-family: "Big Shoulders Display";
    font-weight: 700;
    line-height: 64px;
    margin-bottom: 25px;
}
@media (min-width: 768px) {
    body.home main .outro-wrapper .outro {
        font-size: 64px;
        line-height: 70px;
    }
}
body.home main .outro-wrapper .cta {
    margin: 0 auto;
}

body.about .hero {
    background: url('/wp-content/themes/tgcpa/img/desk-calculator.jpg') transparent no-repeat 0 0;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    opacity: 0.5;
    position: relative;
    width: 100%;
}
@media (min-width: 768px) {
    body.about .hero {
    }
}
body.about main h1 {
    /* border-bottom: 2px solid var(--gold-color); */
    color: var(--navy-color);
    font-family: "Big Shoulders Display";
    font-size: 40px;
    font-weight: 700;
    line-height: 44px;
    margin: 0 0 13px;
    padding-bottom: 5px;
    text-align: left;
}
body.about main .intro {
    margin-bottom: 80px;
}
body.about main h2 {
    color: var(--gold-color);
    font-family: "Big Shoulders Display";
    font-size: 50px;
    font-weight: 600;
    margin-bottom: 20px;
}
body.about main .teams {
}
body.about main .teams .team {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 30px 0;
}
body.about main .teams .team .photo {
    /* border: 2px solid var(--gold-color); */
    border-radius: 2px;
    box-shadow: 3px 3px 4px #BBB;
    display: block;
    margin: 0 auto 20px;
    max-width: 200px;
    width: 100%;
}
body.about main .teams .team .name {
    color: var(--gold-color);
    font-size: 22px;
    font-weight: 800;
    line-height: 24px;
    margin-bottom: 0;
    text-align: center;
}
body.about main .teams .team .title {
    color: #BBB;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 20px;
    text-align: center;
}
@media (min-width: 768px) {
    body.about main .teams .team .title {
        margin-bottom: 0;
    }
}
body.about main .teams .team .info {
}

body.services .hero {
    background: url('/wp-content/themes/tgcpa/img/treasury-check.jpg') transparent no-repeat 0 0;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    width: 100%;
}
body.services main h1 {
    /* border-bottom: 2px solid var(--gold-color); */
    color: var(--navy-color);
    font-family: "Big Shoulders Display";
    font-size: 40px;
    font-weight: 700;
    line-height: 44px;
    margin: 0 0 13px;
    padding-bottom: 5px;
    text-align: left;
}
body.services main .intro {
    margin-bottom: 10px;
}
body.services main .service-list {
    list-style: square;
    margin: 0;
    padding-left: 32px;
}
body.services main .service-list li {
}

body.contact .hero {
    background: url('/wp-content/themes/tgcpa/img/phone-desk-2.jpg') transparent no-repeat 0 0;
    background-position: 65% 0;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    opacity: 0.5;
    position: relative;
    width: 100%;
}
@media (min-width: 768px) {
    body.contact .hero {
        background-position: left;
    }
}

body.contact main h1 {
    /* border-bottom: 2px solid var(--gold-color); */
    color: var(--navy-color);
    font-family: "Big Shoulders Display";
    font-size: 40px;
    font-weight: 700;
    line-height: 44px;
    margin: 0 0 30px;
    padding-bottom: 5px;
    text-align: left;
}
body.contact main .form .nf-form-content {
    margin: 0;
    padding: 0;
}
body.contact main .form .nf-form-content input[type="button"] {
    background-color: var(--gold-color);
    color: #FFF;
    cursor: pointer;
    display: inline-block;
    font-weight: 800;
    padding: 10px 20px;
    text-transform: uppercase;
}
body.contact main .form .nf-form-content input[type="button"]:hover,
body.contact main .form .nf-form-content input[type="button"]:active,
body.contact main .form .nf-form-content input[type="button"]:focus {
    color: var(--navy-color);
}
body.contact main .form .nf-before-form-content {
    display: none;
}
body.contact main .form .nf-form-content .label-above .nf-field-label {
    margin-bottom: 5px;
}
body.contact main .info .locations {
    margin-top: 28px;
    margin-bottom: 38px;
}
body.contact main .info .locations .location {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}
@media (min-width: 768px) {
    body.contact main .info .locations .location {
        flex-direction: row-reverse;
        height: 270px;
    }
}
body.contact main .info .locations .location .location-left {
    background-color: var(--navy-color);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    min-width: 300px;
    padding: 30px 20px;
}
@media (min-width: 768px) {
    body.contact main .info .locations .location .location-left {
        padding: 20px;
    }
}
body.contact main .info .locations .location .location-left .state {
    color: var(--gold-color);
    font-family: "Big Shoulders Display";
    font-size: 36px;
    font-weight: 700;
    line-height: 36px;
    margin-bottom: 5px;
}
@media (min-width: 768px) {
    body.contact main .info .locations .location .location-left .state {
        line-height: 26px;
        margin-bottom: 10px;
    }
}
body.contact main .info .locations .location .location-left .address {
    border-bottom: 1px solid #FFF;
    color: #FFF;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 5px;
    padding-bottom: 6px;
}
body.contact main .info .locations .location .location-left .directions {
    color: var(--gold-color);
    font-weight: 500;
    transition: 300ms opacity ease;
}
body.contact main .info .locations .location .location-left .directions:hover,
body.contact main .info .locations .location .location-left .directions:active,
body.contact main .info .locations .location .location-left .directions:focus {
    opacity: 0.8;
}
body.contact main .info .locations .location .location-right {
}
body.contact main .info .locations .location .location-right .photo {
    height: 100%;
    object-fit: cover;;
    width: 100%;
}
body.contact main .info .other {
}
body.contact main .info .other .phone {
    font-size: 18px;
    font-weight: 700;
}
body.contact main .info .other .phone a {
    color: var(--gold-color);
    font-weight: 500;
    transition: 300ms color ease;
}
body.contact main .info .other .phone a:hover,
body.contact main .info .other .phone a:active,
body.contact main .info .other .phone a:focus {
    color: var(--navy-color);
}
body.contact main .info .other .email {
    font-size: 18px;
    font-weight: 700;
}
body.contact main .info .other .email a {
    color: var(--gold-color);
    font-weight: 500;
    transition: 300ms color ease;
}
body.contact main .info .other .email a:hover,
body.contact main .info .other .email a:active,
body.contact main .info .other .email a:focus {
    color: var(--navy-color);
}
body.contact main .info .other .social {
    font-size: 18px;
    font-weight: 700;
}
body.contact main .info .other .social a .fa-linkedin::before {
    color: var(--gold-color);
    content: "\f08c";
    transition: 300ms color ease;
}
body.contact main .info .other .social a:hover .fa-linkedin::before,
body.contact main .info .other .social a:active .fa-linkedin::before,
body.contact main .info .other .social a:focus .fa-linkedin::before {
    color: var(--navy-color);
}

/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
	font-family:'Font-Name';
	src:url('fonts/font-name.eot');
	src:url('fonts/font-name.eot?#iefix') format('embedded-opentype'),
		url('fonts/font-name.woff') format('woff'),
		url('fonts/font-name.ttf') format('truetype'),
		url('fonts/font-name.svg#font-name') format('svg');
    font-weight:normal;
    font-style:normal;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (min-width:320px) {

}
@media only screen and (min-width:480px) {

}
@media only screen and (min-width:768px) {

}
@media only screen and (min-width:1024px) {

}
@media only screen and (min-width:1140px) {

}
@media only screen and (min-width:1280px) {

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
