@font-face
{
    font-family: "Lato";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local(""),url("/wp-content/themes/precision-creative/assets/fonts/lato-v20-latin/lato-v20-latin-300.woff2") format("woff2"),url("/wp-content/themes/precision-creative/assets/fonts/lato-v20-latin/lato-v20-latin-300.woff") format("woff");
}
@font-face
{
    font-family: "Lato";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local(""),url("/wp-content/themes/precision-creative/assets/fonts/lato-v20-latin/lato-v20-latin-regular.woff2") format("woff2"),url("/wp-content/themes/precision-creative/assets/fonts/lato-v20-latin/lato-v20-latin-regular.woff") format("woff");
}
@font-face
{
    font-family: "Lato";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local(""),url("/wp-content/themes/precision-creative/assets/fonts/lato-v20-latin/lato-v20-latin-700.woff2") format("woff2"),url("/wp-content/themes/precision-creative/assets/fonts/lato-v20-latin/lato-v20-latin-700.woff") format("woff");
}
:root
{
    --clr-white: 0 0% 100%;
    --clr-black: 0 0% 0%;
    --clr-red: 357 86% 52%;
    --clr-red-med: 2 63% 49%;
    --clr-red-dark: 2 98% 32%;
    --clr-gray-100: 0 0% 97%;
    --clr-gray-200: 0 0% 94%;
    --clr-gray-250: 0 0% 87%;
    --clr-gray-300: 210 4% 79%;
    --clr-gray-400: 0 0% 62%;
    --clr-gray-500: 0 1% 55%;
    --clr-gray-600: 0 0% 44%;
    --clr-gray-700: 0 0% 30%;
    --clr-gray-800: 0 1% 25%;
    --clr-gray-900: 0 1% 17%;
    --fs-xs: .8125rem;
    --fs-sm: .9375rem;
    --fs-md: 1.0625rem;
    --fs-base: 1.1875rem;
    --fs-lg: 1.375rem;
    --fs-xl: 1.5rem;
    --fs-2xl: 1.75rem;
    --fs-3xl: 1.875rem;
    --fs-4xl: 2rem;
    --fs-5xl: 2rem;
}
@media screen and (min-width: 768px)
{
    :root
    {
        --fs-lg: 1.5625rem;
        --fs-xl: 1.6875rem;
        --fs-2xl: 2.125rem;
        --fs-3xl: 2.5rem;
        --fs-4xl: 3.4375rem;
        --fs-5xl: 3.75rem;
    }
}
html
{
    scroll-behavior: smooth;
}
*, ::before, ::after
{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
img
{
    display: block;
    max-width: 100%;
    height: auto;
}
body
{
    font-family: "Lato",sans-serif;
    font-size: var(--fs-base);
    line-height: 1.5;
    color: hsl(var(--clr-gray-700));
}
h1, h2, h3, h4, h5, h6
{
    font-size: inherit;
    font-weight: inherit;
}
a
{
    color: inherit;
}
:focus
{
    outline: var(--focus-outline-width,2px) solid hsla(var(--clr-red));
    outline-offset: var(--focus-outline-offset,.25em);
}
:focus:not(:focus-visible)
{
    outline: none;
}
:focus-visible
{
    outline: var(--focus-outline-width,2px) solid hsla(var(--clr-red));
    outline-offset: var(--focus-outline-offset,.25em);
}
form label
{
    display: block;
    width: 100%;
    color: hsl(var(--clr-gray-900));
    font-size: var(--fs-xs);
    margin-bottom: .75rem;
}
form input[type=text], form input[type=email], form input[type=tel], form textarea
{
    border: none;
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    appearance: none;
    font-family: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    display: block;
    width: 100%;
    background-color: #f5f8fa;
    color: #33475b;
    border: 1px solid #cbd6e2;
}
form input[type=text]:focus, form input[type=email]:focus, form input[type=tel]:focus, form textarea:focus
{
    outline: 2px solid #cbd6e2;
}
form input[type=text], form input[type=email], form input[type=tel]
{
    padding: 0 1rem;
    line-height: 40px;
    height: 40px;
}
form textarea
{
    height: 128px;
    resize: vertical;
    max-height: 300px;
    min-height: 100px;
    padding: 1rem;
}
form input[type=submit]
{
    display: inline-block;
    width: auto;
    padding: .75rem 2rem;
    border-radius: 6px;
    border-style: solid;
    background-color: hsl(var(--clr-red));
    color: hsl(var(--clr-white));
    border-width: 0;
    font-size: var(--fs-sm);
    white-space: nowrap;
    font-weight: normal;
    text-decoration: none;
    cursor: pointer;
    transition: transform 300ms ease;
}
form input[type=submit]:hover
{
    transform: scale(1.05);
}
.container-sm
{
    max-width: clamp(16rem,90vw,1068px);
    margin-left: auto;
    margin-right: auto;
}
.container
{
    margin-left: auto;
    margin-right: auto;
    max-width: clamp(16rem,90vw,1270px);
}
.container-lg
{
    max-width: clamp(16rem,90vw,1318px);
    margin-left: auto;
    margin-right: auto;
}
.container-xl
{
    max-width: clamp(16rem,90vw,1420px);
    margin-left: auto;
    margin-right: auto;
}
.navbar
{
    color: hsl(var(--clr-gray-900));
    background-color: hsl(var(--clr-white));
    box-shadow: 0 4px 8px rgba(0,0,0,.2);
    position: relative;
    transition: box-shadow 400ms ease,background-color 600ms ease;
}
.navbar button
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    color: inherit;
    border: none;
    background-color: transparent;
    cursor: pointer;
}
.navbar ul
{
    list-style: none;
}
.navbar a
{
    text-decoration: none;
}
.navbar__links
{
    display: flex;
    align-items: center;
    font-size: 15px;
    white-space: nowrap;
}
.navbar__links svg
{
    flex-shrink: 0;
    margin-left: .5em;
    display: inline-block;
}
.navbar__links.no-js .menu-item-has-children:hover>.sub-menu, .navbar__links.no-js .menu-item-has-children:focus-within>.sub-menu
{
    visibility: visible;
    display: block;
}
.navbar__links:not(.no-js) .sub-menu
{
    top: calc(100% + .5rem);
}
.navbar__links .menu-item-has-children
{
    position: relative;
}
.navbar__links .menu-item-has-children button[aria-expanded=true] svg
{
    transform: rotate(-180deg);
}
.navbar__links .menu-item a, .navbar__links .menu-item button
{
    margin: 0 .75rem;
    padding: .25rem .5rem;
    display: block;
}
.navbar__links .sub-menu
{
    --size: 15rem;
    --focus-outline-offset: -2px;
    display: none;
    position: absolute;
    z-index: 50;
    top: 100%;
    left: 0;
    width: var(--size);
    visibility: hidden;
    white-space: normal;
    text-align: left;
    color: hsl(var(--clr-black));
    line-height: 1.2;
    background-color: hsl(var(--clr-white));
    border-radius: 6px;
    padding: 1rem 1.25rem;
    box-shadow: 1px 1px 2px hsl(var(--clr-black)/16%),2px 1px 4px hsl(var(--clr-black)/16%),2px 3px 5px -3px hsl(var(--clr-black)/17%);
}
.navbar__links .sub-menu[aria-hidden=false]
{
    display: block;
    visibility: visible;
}
.navbar__links .sub-menu a
{
    display: block;
}
.navbar__links .sub-menu a, .navbar__links .sub-menu button
{
    margin: .25rem 0;
    padding: .5rem .75rem;
}
.navbar__links .sub-menu button
{
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.navbar__links .sub-menu .sub-menu
{
    left: 100%;
    top: 0;
}
.navbar__links .sub-menu .sub-menu--flip
{
    left: auto;
    right: 100%;
}
.navbar__flex
{
    padding-top: .75rem;
    padding-bottom: .75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.navbar__left
{
    margin-right: 1rem;
}
.navbar__center
{
    display: none;
}
.navbar__logo
{
    max-width: 100%;
    height: auto;
}
.navbar__logo img, .navbar__logo svg
{
    vertical-align: bottom;
}
.navbar__hamburger button
{
    padding: .75rem;
    border: none;
    width: auto;
    background-color: transparent;
    color: hsl(var(--clr-red));
    cursor: pointer;
}
.navbar__hamburger button svg
{
    vertical-align: bottom;
}
.navbar__contact
{
    display: none;
}
.navbar__contact a
{
    display: inline-block;
    width: auto;
    padding: .75rem 2rem;
    border-radius: 6px;
    border-style: solid;
    background-color: hsl(var(--clr-red));
    color: hsl(var(--clr-white));
    border-width: 0;
    font-size: var(--fs-sm);
    white-space: nowrap;
    font-weight: normal;
    text-decoration: none;
    cursor: pointer;
    transition: transform 300ms ease;
}
.navbar__contact a:hover
{
    transform: scale(1.05);
}
@media screen and (min-width: 1200px)
{
    .navbar__hamburger
    {
        display: none;
    }
    .navbar__contact
    {
        display: block;
    }
    .navbar__center
    {
        display: block;
    }
}
.navbar--fixed
{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 50;
}
@media(min-width: 601px)
{
    .admin-bar .navbar--fixed
    {
        top: 46px;
    }
}
@media(min-width: 782px)
{
    .admin-bar .navbar--fixed
    {
        top: 32px;
    }
}
.navbar--transparent
{
    background-color: transparent;
    color: hsl(var(--clr-white));
    box-shadow: none;
}
.navbar--transparent .navbar__links>.menu-item>a
{
    color: hsl(var(--clr-white));
}
.accordion
{
    margin: 1rem;
    transition: height 200ms ease-in-out;
    overflow: hidden;
    text-align: center;
    background-color: hsl(var(--clr-red));
    font-size: var(--fs-sm);
    color: hsl(var(--clr-white));
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 25;
}
.accordion--closed
{
    height: 0;
}
.accordion .menu-item-accent
{
    background-color: rgba(0,0,0,.1);
}
.accordion .menu-item a
{
    display: inline-block;
    width: 100%;
    padding: .75rem .5rem;
}
@media screen and (min-width: 1200px)
{
    .accordion
    {
        display: none;
    }
}
.footer
{
    padding-top: 4rem;
    padding-bottom: 2rem;
    text-align: left;
    color: hsl(var(--clr-gray-400));
    font-size: var(--fs-sm);
    background-color: hsl(var(--clr-white));
}
.footer ul
{
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer a
{
    text-decoration: none;
}
@media screen and (min-width: 768px)
{
    .footer ul a:hover
    {
        text-decoration: underline;
    }
}
.footer__cols
{
    display: grid;
    grid-gap: 2rem 1rem;
    margin-bottom: 3rem;
}
@media screen and (min-width: 480px)
{
    .footer__cols
    {
        grid-template-columns: repeat(2,1fr);
    }
}
@media screen and (min-width: 768px)
{
    .footer__cols
    {
        grid-template-columns: repeat(4,1fr);
        margin-bottom: 6rem;
    }
}
.footer__phone
{
    color: hsl(var(--clr-red));
    font-size: var(--fs-xl);
}
.footer__label
{
    font-size: var(--fs-lg);
    color: hsl(var(--clr-gray-900));
    font-weight: 700;
    margin-bottom: .5rem;
}
.copyright
{
    background-color: hsl(var(--clr-gray-100));
    color: hsl(var(--clr-gray-400));
    padding: .5rem 1rem;
    font-size: var(--fs-xs);
}
.copyright__flex
{
    text-align: center;
}
.copyright__flex .copyright__divider
{
    display: none;
    padding: 0 .5rem;
}
.copyright__flex .socials
{
    margin-top: 1rem;
}
@media screen and (min-width: 768px)
{
    .copyright__flex
    {
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: left;
    }
    .copyright__flex .copyright__divider
    {
        display: inline;
    }
    .copyright__flex .socials
    {
        margin-top: 0;
    }
    .copyright__flex br
    {
        display: none;
    }
}
.socials__flex
{
    display: flex;
    align-items: center;
    justify-content: center;
}
.socials__flex a
{
    display: inline-block;
}
.socials__flex a+a
{
    margin-left: .75rem;
}
.socials__flex svg
{
    vertical-align: bottom;
}
.pushy
{
    --width: 14rem;
    --border: 2px solid hsla(var(--clr-black)/15%);
    --focus-outline-offset: -2px;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100000;
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    width: var(--width);
    max-width: 90vw;
    height: 100%;
    overflow: hidden;
    color: hsl(var(--clr-black));
    background-color: hsl(var(--clr-gray-100));
    box-shadow: var(--shadow-md);
    visibility: hidden;
    transform: translate3d(var(--width),0,0);
    transition: transform .2s cubic-bezier(.16,.68,.43,.99);
}
.pushy button
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    color: inherit;
    border: none;
    background-color: transparent;
    cursor: pointer;
}
.pushy a
{
    display: block;
    text-decoration: none;
}
.pushy[aria-hidden=false]
{
    visibility: visible;
    transform: translate3d(0,0,0);
}
.pushy__header
{
    display: flex;
    padding: .25rem;
    border-bottom: var(--border);
}
.pushy__close
{
    min-height: 44px;
    min-width: 44px;
}
.pushy__links
{
    max-height: 100%;
    overflow-y: auto;
    list-style: none;
}
.pushy__links a, .pushy__links button
{
    padding: .25rem .75rem;
}
.pushy__links button
{
    width: 100%;
    justify-content: space-between;
    text-align: left;
}
.pushy__links svg
{
    transition: transform .2s cubic-bezier(.16,.68,.43,.99);
}
.pushy__links button[aria-expanded=true] svg
{
    transform: rotate(-180deg);
}
.pushy__links .menu-item-has-children .sub-menu
{
    background-color: hsl(var(--clr-black)/10%);
    overflow: hidden;
    visibility: hidden;
    display: none;
    transition: height .2s cubic-bezier(.16,.68,.43,.99);
}
.pushy__links .menu-item-has-children .sub-menu[aria-hidden=false]
{
    visibility: visible;
    display: block;
}
.pushy__links .sub-menu .sub-menu
{
    margin-left: .375rem;
    border-left: 1px solid currentColor;
}
.pushy__footer
{
    --focus-outline-offset: 2px;
    padding: .5rem;
    margin-top: auto;
    border-top: var(--border);
}
.pushy__footer .socials__flex
{
    justify-content: space-evenly;
}