/*
 Theme Name:   Cappelli Property Services
 Description:  Twenty Nineteen Child Theme
 Author:       Ryan Snoke
 Author URI:   https://ryansnoke.com
 Template:     twentynineteen
 Version:      1.0.0
*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,600;0,700;1,400;1,700&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* apply a natural box layout model to all elements, but allowing components to change */
html {
  box-sizing: border-box; }

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

/*
-------------------

Colors

-------------------
*/
/*
-------------------

Type

-------------------
*/
/*
-------------------

Widths

-------------------
*/
/*
-------------------

Transitions

-------------------
*/
html {
  font-size: 62.5%; }

body {
  font-size: 1.5em;
  /* currently ems cause chrome bug misinterpreting rems on body element */
  line-height: 1.6;
  font-family: "Montserrat", sans-serif;
  color: #626366; }

a {
  text-decoration: none; }

.pre-heading {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: .1em;
  color: #F26722;
  margin-bottom: 32px; }

.panel {
  font-size: 19px; }
  .panel h3 {
    color: #25282E;
    font-size: 36px;
    margin-bottom: 22px;
    font-weight: bold; }
  .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 {
    line-height: normal;
    letter-spacing: -.02em;
    font-size: 36px;
    line-height: 44px;
    font-weight: bold;
    color: #25282E;
    margin-bottom: 24px; }
    @media only screen and (max-width: 700px) {
      .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 {
        font-size: 24px;
        line-height: 32px; } }
  .panel ul, .panel ol {
    font-size: 19px; }
  .panel ul:not(.jump-menu) li {
    margin-left: 24px;
    position: relative; }
    .panel ul:not(.jump-menu) li:before {
      content: "";
      position: absolute;
      display: block;
      width: 13px;
      height: 2px;
      background: #626366;
      left: -24px;
      top: 12px; }
      @media only screen and (max-width: 1000px) {
        .panel ul:not(.jump-menu) li:before {
          content: none; } }
    @media only screen and (max-width: 700px) {
      .panel ul:not(.jump-menu) li {
        font-size: 16px;
        line-height: 24px; } }
  .panel .wpforms-container li:before {
    content: none !important; }

p {
  margin-bottom: 24px; }
  @media only screen and (max-width: 700px) {
    p {
      font-size: 16px;
      line-height: 24px; } }

::-moz-selection {
  background: #F26722;
  color: #fff; }

::selection {
  background: #F26722;
  color: #fff; }

@media only screen and (max-width: 700px) {
  div.wpforms-container-full .wpforms-form .wpforms-field-label,
  div.wpforms-container-full .wpforms-form ul {
    text-align: left; } }

.site-header {
  position: fixed;
  left: 0;
  width: 100%;
  transition: all 0.3s cubic-bezier(0.515, 0.02, 0, 1.02);
  z-index: 2;
  padding: 24px 0; }
  @media only screen and (max-width: 700px) {
    .site-header {
      background: #FBF8F4; } }
  @media only screen and (max-width: 700px) {
    .site-header .site-title {
      width: 100%; } }
  .site-header .site-title a {
    display: block;
    text-indent: -999px;
    overflow: hidden;
    width: 266px;
    height: 54px;
    background: url(images/logo.svg) no-repeat; }
    @media only screen and (max-width: 700px) {
      .site-header .site-title a {
        background-size: cover;
        width: 100%;
        height: 18vw; } }
    @media only screen and (max-width: 500px) {
      .site-header .site-title a {
        height: 17vw; } }
  .site-header #site-navigation {
    margin-top: 12px; }
    @media only screen and (max-width: 1170px) {
      .site-header #site-navigation {
        margin: 16px 0px 0;
        order: 3; } }
    .site-header #site-navigation a {
      font-size: 14px;
      text-transform: uppercase;
      font-weight: 600;
      padding: 8px;
      margin: 0 .8vw;
      display: block;
      position: relative;
      transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
      @media only screen and (max-width: 1250px) {
        .site-header #site-navigation a {
          margin: 0 6px; } }
      .site-header #site-navigation a:before {
        content: "";
        position: absolute;
        display: block;
        height: 2px;
        left: 0;
        right: 0;
        margin: 0 auto;
        bottom: 0;
        width: 0%;
        background: #F26722;
        transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
      .site-header #site-navigation a:hover {
        color: #F26722;
        transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
      .site-header #site-navigation a:hover:before {
        width: 100%;
        transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
    .site-header #site-navigation .current-menu-item > a {
      color: #F26722;
      transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
      .site-header #site-navigation .current-menu-item > a:before {
        width: 100%;
        transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
    .site-header #site-navigation li {
      position: relative; }
      .site-header #site-navigation li .sub-menu {
        opacity: 0;
        visibility: hidden;
        position: absolute;
        background: #fff;
        width: 220px;
        padding: 6px 0; }
        @media only screen and (max-width: 1170px) {
          .site-header #site-navigation li .sub-menu {
            opacity: 1;
            visibility: visible; } }
        .site-header #site-navigation li .sub-menu a {
          text-transform: none;
          padding: 6px; }
          .site-header #site-navigation li .sub-menu a:before {
            content: none; }
      .site-header #site-navigation li:hover .sub-menu {
        opacity: 1;
        visibility: visible; }
        @media only screen and (max-width: 1170px) {
          .site-header #site-navigation li:hover .sub-menu {
            display: none;
            width: 100%; } }
      .site-header #site-navigation li:hover > a {
        color: #F26722; }
        .site-header #site-navigation li:hover > a:before {
          width: 100%;
          transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
      .site-header #site-navigation li.menu-item-has-children > a {
        padding-right: 20px;
        background: url(images/icons/chevron-down-blue.svg) no-repeat right 16px; }
        @media only screen and (max-width: 1170px) {
          .site-header #site-navigation li.menu-item-has-children > a {
            background: none;
            padding-right: 0; } }
      .site-header #site-navigation li.menu-item-has-children:hover > a, .site-header #site-navigation li.menu-item-has-children.current-menu-item > a {
        background: url(images/icons/chevron-down-orange.svg) no-repeat right 16px; }
        @media only screen and (max-width: 1170px) {
          .site-header #site-navigation li.menu-item-has-children:hover > a, .site-header #site-navigation li.menu-item-has-children.current-menu-item > a {
            background: none; } }
      .site-header #site-navigation li.current-page-ancestor > a {
        color: #F26722;
        background: url(images/icons/chevron-down-orange.svg) no-repeat right 16px; }
        @media only screen and (max-width: 1170px) {
          .site-header #site-navigation li.current-page-ancestor > a {
            background: none; } }
        .site-header #site-navigation li.current-page-ancestor > a:before {
          width: 100%;
          transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
  .site-header a {
    color: #001E55; }
  .site-header .header-phone {
    margin-top: 7px; }
    .site-header .header-phone a {
      font-size: 16px;
      font-weight: bold;
      display: block;
      padding: 12px 32px 12px 52px;
      line-height: normal;
      border: solid 2px #001E55;
      background: url(images/icons/phone.svg) no-repeat 28px center; }
  @media only screen and (max-width: 1170px) {
    .site-header .menu-primary-navigation-container {
      opacity: 0;
      transform: translateX(100%);
      position: fixed;
      width: 100%;
      height: 100%;
      background: #001E55;
      left: 0;
      top: 0;
      will-change: transform, opacity;
      transition: all 0.5s cubic-bezier(0.515, 0.02, 0, 1.02); }
      .site-header .menu-primary-navigation-container #menu-primary-navigation {
        display: block;
        text-align: center;
        /*top: 50%;
        transform: translateY(-50%);
        position: absolute;*/
        margin: 180px auto 0 auto;
        left: 0;
        right: 0;
        padding: 0 20px; }
        .site-header .menu-primary-navigation-container #menu-primary-navigation > li {
          border-bottom: solid 1px rgba(255, 255, 255, 0.5);
          text-align: left;
          padding: 12px 0;
                   /* &:hover {
                        a {
                            color: #fff;
                        }

                    }*/ }
        .site-header .menu-primary-navigation-container #menu-primary-navigation a {
          color: #fff;
          font-size: 24px;
          text-align: left;
          display: inline-block;
          width: auto;
          padding: 0; } }
      @media only screen and (max-width: 1170px) and (max-width: 700px) {
        .site-header .menu-primary-navigation-container #menu-primary-navigation a {
          font-size: 22px;
          text-transform: none; } }
  @media only screen and (max-width: 1170px) {
          .site-header .menu-primary-navigation-container #menu-primary-navigation a:before {
            content: none; } }
  @media only screen and (max-width: 700px) {
    .site-header .site-title {
      margin: 0 auto 14px auto; } }

.site-header.site-header.headroom--unpinned {
  transform: translateY(-100%);
  transition: all 0.3s cubic-bezier(0.515, 0.02, 0, 1.02); }

.site-header.headroom--not-top {
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.05);
  background: #FBF8F4; }

.site-header.headroom--not-top .dropdown-toggle {
  background: url(images/hamburger.svg) no-repeat center;
  background-size: cover; }
  .site-header.headroom--not-top .dropdown-toggle[aria-expanded="true"] {
    background: url(images/close.svg) no-repeat center;
    background-size: cover; }
    @media only screen and (max-width: 700px) {
      .site-header.headroom--not-top .dropdown-toggle[aria-expanded="true"] {
        position: absolute;
        top: 20px;
        right: 20px; } }

.site-header #site-navigation .dropdown-toggle {
  display: none;
  outline: none; }
  @media only screen and (max-width: 1170px) {
    .site-header #site-navigation .dropdown-toggle {
      padding: 0;
      background: none;
      border: none;
      margin: 0;
      border-radius: 0;
      overflow: auto;
      font-family: inherit;
      text-indent: -999px;
      overflow: hidden;
      display: block;
      background: url(images/hamburger.svg) no-repeat center;
      background-size: cover;
      width: 34px;
      height: 28px;
      position: relative;
      z-index: 2; }
      .site-header #site-navigation .dropdown-toggle[aria-expanded="true"] {
        background: url(images/close.svg) no-repeat center;
        background-size: cover; } }
@media only screen and (max-width: 1170px) {
  .site-header #site-navigation .sub-menu {
    display: none; }
    .site-header #site-navigation .sub-menu li a {
      font-size: 16px;
      font-weight: normal; }
  .site-header #site-navigation .current_page_item > a {
    color: #F26722; } }
.site-header #site-navigation .sub-dropdown-toggle {
  padding: 0;
  background: none;
  border: none;
  margin: 0;
  border-radius: 0;
  overflow: auto;
  font-family: inherit;
  outline: none;
  text-indent: -999px;
  overflow: hidden;
  position: absolute;
  right: 0;
  width: 20px;
  height: 20px;
  top: 20px;
  background: url(images/icons/chevron-down-white.svg) no-repeat center;
  background-size: 16px;
  cursor: pointer;
  display: none; }
  @media only screen and (max-width: 1170px) {
    .site-header #site-navigation .sub-dropdown-toggle {
      display: block; }
      .site-header #site-navigation .sub-dropdown-toggle.toggled-on + .sub-menu {
        background: none;
        position: relative;
        display: block; }
        .site-header #site-navigation .sub-dropdown-toggle.toggled-on + .sub-menu a {
          padding: 4px 0; }
      .site-header #site-navigation .sub-dropdown-toggle.toggled-on {
        transform: rotate(180deg); } }

#site-navigation .dropdown-toggle[aria-expanded="true"] + .menu-primary-navigation-container {
  opacity: 1;
  transform: translateX(0);
  transition: all 0.5s cubic-bezier(0.515, 0.02, 0, 1.02); }

.site-footer .footer-top {
  background: #001E55 url(images/bg-pattern.svg) repeat-x;
  color: #fff;
  padding: 40px 0; }
  .site-footer .footer-top .footer-desc {
    width: 50%;
    font-size: 16px;
    line-height: 33px; }
    @media only screen and (max-width: 1024px) {
      .site-footer .footer-top .footer-desc {
        font-size: 14px;
        line-height: 24px;
        width: 40%; } }
    @media only screen and (max-width: 1000px) {
      .site-footer .footer-top .footer-desc {
        width: 50%; } }
    @media only screen and (max-width: 700px) {
      .site-footer .footer-top .footer-desc {
        width: 100%;
        text-align: center;
        margin-bottom: 14px; } }
  .site-footer .footer-top .footer-icon {
    position: relative;
    bottom: -47px; }
    @media only screen and (max-width: 1000px) {
      .site-footer .footer-top .footer-icon {
        display: none; } }
  .site-footer .footer-top .footer-address {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 20px; }
    .site-footer .footer-top .footer-address .secondary-address {
      padding-top: 18px;
      margin-top: 18px;
      border-top: solid 2px #F26722; }
    @media only screen and (max-width: 700px) {
      .site-footer .footer-top .footer-address {
        width: 100%;
        text-align: center;
        margin-bottom: 14px; } }
    .site-footer .footer-top .footer-address a {
      color: #fff; }
  @media only screen and (max-width: 700px) {
    .site-footer .footer-top .no-wrap {
      flex-wrap: wrap; } }
.site-footer .footer-bottom {
  padding: 30px 0;
  font-size: 14px;
  text-transform: uppercase; }
  @media only screen and (max-width: 700px) {
    .site-footer .footer-bottom .copyright {
      width: 100%;
      text-align: center;
      order: 3;
      margin-top: 24px; } }
  .site-footer .footer-bottom a {
    color: #626366; }
  .site-footer .footer-bottom .social .follow,
  .site-footer .footer-bottom .social a {
    border: solid 2px #626366;
    border-right: none;
    display: block;
    padding: 6px 12px; }
    .site-footer .footer-bottom .social .follow.fb, .site-footer .footer-bottom .social .follow.ig,
    .site-footer .footer-bottom .social a.fb,
    .site-footer .footer-bottom .social a.ig {
      text-indent: -999px;
      overflow: hidden;
      width: 34px; }
    .site-footer .footer-bottom .social .follow.fb,
    .site-footer .footer-bottom .social a.fb {
      background: url(images/icons/facebook.svg) no-repeat center; }
    .site-footer .footer-bottom .social .follow.ig,
    .site-footer .footer-bottom .social a.ig {
      background: url(images/icons/instagram.svg) no-repeat center;
      border-right: solid 2px #626366; }
  .site-footer .footer-bottom .website-by {
    display: block;
    padding-right: 30px;
    background: url(images/icons/snap.svg) no-repeat center right; }

html {
  scroll-behavior: smooth; }

html,
body {
  background: #FBF8F4;
  scroll-padding-top: 126px; }

body.no-scroll {
  overflow: hidden; }

.site {
  max-width: 1800px;
  margin: 0 auto; }

.site-content {
  padding-top: 100px; }
  @media only screen and (max-width: 700px) {
    .site-content {
      padding-top: 190px; } }

.site-container {
  max-width: 1800px;
  width: 100%;
  padding: 0 80px;
  margin: 0 auto; }
  @media only screen and (max-width: 1024px) {
    .site-container {
      padding: 0 60px; } }
  .site-container.pad-lr {
    padding: 0 120px; }
    @media only screen and (max-width: 1024px) {
      .site-container.pad-lr {
        padding: 0 60px; } }
    @media only screen and (max-width: 700px) {
      .site-container.pad-lr {
        padding: 0 20px; } }
  @media only screen and (max-width: 700px) {
    .site-container {
      padding: 0 30px; } }

.panel {
  padding: 120px 0;
  overflow: hidden; }
  @media only screen and (max-width: 1000px) {
    .panel {
      padding: 70px 0; } }
  @media only screen and (max-width: 700px) {
    .panel {
      padding: 40px 0; } }

.add-margin {
  margin: 120px 0; }
  @media only screen and (max-width: 1024px) {
    .add-margin {
      margin: 0; } }

.no-pad {
  padding: 0; }

.less-pad {
  padding: 90px 0; }
  @media only screen and (max-width: 700px) {
    .less-pad {
      padding: 40px 0; } }

.w-1100 {
  max-width: 1100px; }

.w-1000 {
  max-width: 1000px; }

.w-900 {
  max-width: 900px; }

.w-800 {
  max-width: 800px; }

.w-700 {
  max-width: 700px; }

.w-600 {
  max-width: 600px; }

.w-550 {
  max-width: 550px; }

.m-auto {
  margin: 0 auto; }

.flex {
  display: flex;
  flex-wrap: wrap; }

.no-wrap {
  flex-wrap: nowrap; }

.spaced {
  justify-content: space-between; }

.vert-center {
  align-items: center;
  align-content: center; }

.text-center,
.has-text-align-center,
.aligncenter {
  text-align: center; }

.horz-center {
  justify-content: center; }

.align-center {
  justify-content: center; }

.text-left {
  text-align: left; }

.relative {
  position: relative; }

.col1 > .col {
  width: 100%; }
  @media only screen and (max-width: 700px) {
    .col1 > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col2 > .col {
  width: 50%; }
  @media only screen and (max-width: 700px) {
    .col2 > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col3 > .col {
  width: 33.3333333333%; }
  @media only screen and (max-width: 700px) {
    .col3 > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col4 > .col {
  width: 25%; }
  @media only screen and (max-width: 700px) {
    .col4 > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col5 > .col {
  width: 20%; }
  @media only screen and (max-width: 700px) {
    .col5 > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col6 > .col {
  width: 16.6666666667%; }
  @media only screen and (max-width: 700px) {
    .col6 > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col7 > .col {
  width: 14.2857142857%; }
  @media only screen and (max-width: 700px) {
    .col7 > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col8 > .col {
  width: 12.5%; }
  @media only screen and (max-width: 700px) {
    .col8 > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col1.spaced > .col {
  width: 97%; }
  @media only screen and (max-width: 700px) {
    .col1.spaced > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col2.spaced > .col {
  width: 47%; }
  @media only screen and (max-width: 700px) {
    .col2.spaced > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col3.spaced > .col {
  width: 30.3333333333%; }
  @media only screen and (max-width: 700px) {
    .col3.spaced > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col4.spaced > .col {
  width: 22%; }
  @media only screen and (max-width: 700px) {
    .col4.spaced > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col5.spaced > .col {
  width: 17%; }
  @media only screen and (max-width: 700px) {
    .col5.spaced > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col6.spaced > .col {
  width: 13.6666666667%; }
  @media only screen and (max-width: 700px) {
    .col6.spaced > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col7.spaced > .col {
  width: 11.2857142857%; }
  @media only screen and (max-width: 700px) {
    .col7.spaced > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col8.spaced > .col {
  width: 9.5%; }
  @media only screen and (max-width: 700px) {
    .col8.spaced > .col {
      width: 100%;
      margin-bottom: 20px; } }

.col3-1 > .col:first-child,
.col1-3 > .col:last-child {
  width: 70%; }
  @media only screen and (max-width: 1000px) {
    .col3-1 > .col:first-child,
    .col1-3 > .col:last-child {
      width: 100%; } }

.col3-1 > .col:last-child,
.col1-3 > .col:first-child {
  width: 30%; }
  @media only screen and (max-width: 1000px) {
    .col3-1 > .col:last-child,
    .col1-3 > .col:first-child {
      width: 100%; } }

.col3-1.spaced > .col:first-child,
.col1-3.spaced > .col:last-child {
  width: 64%; }
  @media only screen and (max-width: 1000px) {
    .col3-1.spaced > .col:first-child,
    .col1-3.spaced > .col:last-child {
      width: 100%; } }

.col3-1.spaced > .col:last-child,
.col1-3 > .col:first-child {
  width: 30%; }
  @media only screen and (max-width: 1000px) {
    .col3-1.spaced > .col:last-child,
    .col1-3 > .col:first-child {
      width: 100%; } }

.col3-2.spaced > .col:first-child,
.col2-3.spaced > .col:last-child {
  width: 52%; }
  @media only screen and (max-width: 1000px) {
    .col3-2.spaced > .col:first-child,
    .col2-3.spaced > .col:last-child {
      width: 100%;
      text-align: center;
      margin-bottom: 32px; } }

.col3-2.spaced > .col:last-child,
.col2-3.spaced > .col:first-child {
  width: 40%; }
  @media only screen and (max-width: 1000px) {
    .col3-2.spaced > .col:last-child,
    .col2-3.spaced > .col:first-child {
      width: 100%;
      text-align: center;
      margin-bottom: 32px;
      order: 2; } }

.grid {
  margin: 5rem 0; }

.grid > .col {
  padding: 24px; }

.off-grid-image.col3-2.spaced .col:first-child {
  position: absolute;
  left: 0; }
  @media only screen and (max-width: 1000px) {
    .off-grid-image.col3-2.spaced .col:first-child {
      position: inherit; } }

.off-grid-image.col3-2.spaced .col:last-child {
  margin-left: auto; }

.off-grid-image.col2-3.spaced .col:last-child {
  position: absolute;
  right: 0; }
  @media only screen and (max-width: 1000px) {
    .off-grid-image.col2-3.spaced .col:last-child {
      position: inherit; } }

.off-grid-image.col2-3.spaced .col:first-child {
  margin-right: auto; }
  @media only screen and (max-width: 1000px) {
    .off-grid-image.col2-3.spaced .col:first-child {
      order: 2; } }

table td,
table th {
  padding: 20px; }

img {
  max-width: 100%;
  height: auto; }

@media only screen and (max-width: 700px) {
  .wp-block-spacer {
    display: none; } }

@media only screen and (max-width: 1000px) {
  .page-id-16 .off-grid-image.col3-2.spaced .col:first-child {
    order: 2; }
  .page-id-16 .off-grid-image.col3-2.spaced .col:last-child {
    order: 1; } }

input[type=color], input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], select, textarea {
  border: none;
  box-shadow: none;
  border-width: 1px;
  border-style: solid;
  font-size: 1.7rem;
  font-weight: 400;
  padding: 12px 10px;
  max-width: 100%;
  -webkit-appearance: none;
  border-radius: 0;
  border-color: #CEC7C7;
  border-radius: 2px; }

input[type=color]:focus, input[type=date]:focus, input[type=datetime-local]:focus, input[type=datetime]:focus, input[type=email]:focus, input[type=month]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=time]:focus, input[type=url]:focus, input[type=week]:focus, select:focus, textarea:focus {
  border: solid 1px #666;
  outline: 0; }

input[type=color] {
  padding: 5px; }

input[type=checkbox], input[type=image], input[type=radio] {
  width: auto; }

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #c7c7c7;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  font-weight: 400; }

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #c7c7c7;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  font-weight: 400; }

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #c7c7c7;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  font-weight: 400; }

input::placeholder, textarea::placeholder {
  color: #c7c7c7;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  font-weight: 400; }

.search-field,
.post-password-required input[type=password] {
  height: 56px; }

form label {
  display: block;
  font-size: 14px;
  font-weight: bold;
  margin: 24px 0 2px 0; }

/* Text meant only for screen readers. */
.screen-reader-text, .site-description {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }
  .screen-reader-text:focus, .site-description:focus {
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    display: block;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000; }

#preloader {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background: #FBF8F4;
  z-index: 999; }

.hero .hero-container {
  position: relative;
  min-height: 500px; }
  @media only screen and (max-width: 1000px) {
    .hero .hero-container {
      min-height: 400px; } }
  @media only screen and (max-width: 700px) {
    .hero .hero-container {
      min-height: inherit; } }
.hero .hero-caption {
  position: absolute;
  bottom: 44px;
  left: -40px;
  color: #fff;
  background: #001E55 url(images/hero-caption.svg);
  background-size: cover;
  padding: 84px 64px;
  max-width: 500px; }
  .hero .hero-caption .btn {
    margin-top: 46px; }
    @media only screen and (max-width: 1100px) {
      .hero .hero-caption .btn {
        margin-top: 24px; } }
  @media only screen and (max-width: 1300px) {
    .hero .hero-caption {
      padding: 60px; }
      .hero .hero-caption h2 {
        font-size: 34px;
        line-height: 44px; } }
    @media only screen and (max-width: 1300px) and (max-width: 1024px) {
      .hero .hero-caption h2 {
        font-size: 28px;
        line-height: 32px; } }

  @media only screen and (max-width: 1100px) {
    .hero .hero-caption {
      padding: 40px; } }
  @media only screen and (max-width: 1024px) {
    .hero .hero-caption {
      max-width: 400px; } }
  @media only screen and (max-width: 1000px) {
    .hero .hero-caption {
      left: 0; } }
  @media only screen and (max-width: 700px) {
    .hero .hero-caption {
      position: relative;
      width: 100%;
      min-width: 100%;
      max-width: 100%;
      text-align: center;
      bottom: inherit; } }
.hero h2 {
  font-size: 44px;
  font-weight: bold;
  line-height: 50px; }
@media only screen and (max-width: 1000px) {
  .hero .site-container {
    padding: 0; } }
@media only screen and (max-width: 700px) {
  .hero img {
    display: none; } }

.btn,
.panel .wp-block-buttons a,
.panel .wp-block-button__link,
.panel div.wpforms-container-full .wpforms-form button[type=submit] {
  background: none;
  border-radius: 0;
  text-transform: uppercase;
  font-size: 15px;
  color: #F26722;
  border: solid 2px #F26722;
  padding: 14px 32px;
  margin: 20px 0;
  display: inline-block;
  font-weight: 600;
  line-height: normal;
  transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
  .btn.white,
  .panel .wp-block-buttons a.white,
  .panel .wp-block-button__link.white,
  .panel div.wpforms-container-full .wpforms-form button[type=submit].white {
    color: #fff;
    border-color: #fff; }
    .btn.white:hover,
    .panel .wp-block-buttons a.white:hover,
    .panel .wp-block-button__link.white:hover,
    .panel div.wpforms-container-full .wpforms-form button[type=submit].white:hover {
      border: solid 2px #fff;
      background: #fff;
      color: #001E55;
      transition: all 0.4s cubic-bezier(0.515, 0.02, 0, 1.02); }
  .btn:hover,
  .panel .wp-block-buttons a:hover,
  .panel .wp-block-button__link:hover,
  .panel div.wpforms-container-full .wpforms-form button[type=submit]:hover {
    background: #F26722;
    border: solid 2px #F26722;
    color: #fff;
    transition: all 0.4s cubic-bezier(0.515, 0.02, 0, 1.02); }

.edit-link {
  position: fixed;
  bottom: 0;
  left: 0;
  background: #F26722;
  color: #fff;
  padding: 14px 24px;
  display: block;
  font-weight: bold;
  z-index: 5; }
  .edit-link a {
    color: #fff; }
  .edit-link svg {
    margin-right: 8px; }
    .edit-link svg path:first-child {
      fill: #fff; }

.text-center .wp-block-buttons {
  justify-content: center; }

.serv-feats a {
  display: block;
  height: 460px;
  width: 283px;
  background: #F26722;
  box-shadow: 0 32px 44px 0 rgba(0, 0, 0, 0.18);
  position: relative;
  display: flex;
  align-content: center;
  justify-content: center;
  overflow: hidden; }
  .serv-feats a:after {
    content: "";
    position: absolute;
    display: block;
    background: black;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 36%, rgba(0, 0, 0, 0.7553396359) 100%);
    width: 100%;
    height: 100%;
    z-index: 0;
    transition: all 0.4s cubic-bezier(0.515, 0.02, 0, 1.02); }
  .serv-feats a:hover .image-wrapper {
    opacity: .2;
    transition: all 0.4s cubic-bezier(0.515, 0.02, 0, 1.02); }
  .serv-feats a:hover:after {
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.515, 0.02, 0, 1.02); }
  .serv-feats a .col-title {
    position: absolute;
    bottom: 20px;
    color: #fff;
    z-index: 1;
    text-transform: uppercase;
    font-size: 15px;
    font-weight: 600;
    background: url(images/icons/more-arrow.svg) no-repeat right;
    padding-right: 24px; }
  .serv-feats a .image-wrapper {
    transition: all 0.4s cubic-bezier(0.515, 0.02, 0, 1.02);
    width: 100%; }
    .serv-feats a .image-wrapper img {
      width: 100%;
      height: 100%; }

@media only screen and (max-width: 1000px) {
  .home .serv-feats {
    order: 2; } }
.panel {
  position: relative; }
  .panel.angle-bg {
    background: url(images/bg-angle.svg) no-repeat right; }
  .panel.bg-img-left:before {
    content: "";
    position: absolute;
    display: block;
    width: 457px;
    height: 742px;
    background: url(images/work-bg.jpg) no-repeat;
    top: 50%;
    transform: translateY(-50%); }
    @media only screen and (max-width: 1000px) {
      .panel.bg-img-left:before {
        content: none; } }
  .panel.bg-img-left .site-container {
    z-index: 1;
    position: relative; }
  .panel.bg-img-right:before {
    content: "";
    position: absolute;
    display: block;
    width: 457px;
    height: 742px;
    background: url(images/work-bg.jpg) no-repeat;
    top: 50%;
    right: 0;
    transform: translateY(-50%); }
    @media only screen and (max-width: 1000px) {
      .panel.bg-img-right:before {
        content: none; } }
  .panel.bg-img-right .site-container {
    z-index: 1;
    position: relative; }
  .panel.lt-blue {
    background: #E6E7E9; }
  .panel.lt-orange {
    background: #EAE6E2; }
  .panel .wp-block-lazyblock-split-content-with-2-images .col2-3:after {
    content: "";
    position: absolute;
    display: block;
    height: 300px;
    width: 50%;
    background: #EAE6E2;
    right: 0;
    z-index: -1; }
    @media only screen and (max-width: 1000px) {
      .panel .wp-block-lazyblock-split-content-with-2-images .col2-3:after {
        top: 20%; } }
  .panel .wp-block-lazyblock-split-content-with-2-images .serv-feats img {
    box-shadow: 0 32px 44px 0 rgba(0, 0, 0, 0.18); }
  .panel .wp-block-lazyblock-split-content-with-2-images .col3-2:after {
    content: "";
    position: absolute;
    display: block;
    height: 300px;
    width: 50%;
    background: #EAE6E2;
    left: 0;
    z-index: -1; }
    @media only screen and (max-width: 1000px) {
      .panel .wp-block-lazyblock-split-content-with-2-images .col3-2:after {
        top: 20%; } }
  .panel.snow-removal.bg-img-left:before {
    content: "";
    position: absolute;
    display: block;
    width: 457px;
    height: 742px;
    background: url(images/snow-removal-bg.jpeg) no-repeat;
    top: 50%;
    transform: translateY(-50%); }
    @media only screen and (max-width: 1000px) {
      .panel.snow-removal.bg-img-left:before {
        content: none; } }
  .panel.snow-removal.bg-img-left .site-container {
    z-index: 1;
    position: relative; }

#TurfMowing .panel:before {
  content: "";
  position: absolute;
  display: block;
  width: 457px;
  height: 717px;
  background: url(images/edging-bg.jpg) no-repeat;
  background-size: cover;
  top: 50%;
  right: 0;
  transform: translateY(-50%); }
  @media only screen and (max-width: 1000px) {
    #TurfMowing .panel:before {
      content: none; } }
#TurfMowing .panel .site-container {
  z-index: 1;
  position: relative; }

#Hardscaping .panel:before,
#Communication .panel:before {
  content: "";
  position: absolute;
  display: block;
  width: 457px;
  height: 717px;
  background: url(images/row-homes-bg.jpg) no-repeat;
  background-size: cover;
  top: 50%;
  left: 0;
  transform: translateY(-50%); }
  @media only screen and (max-width: 1000px) {
    #Hardscaping .panel:before,
    #Communication .panel:before {
      content: none; } }
#Hardscaping .panel .site-container,
#Communication .panel .site-container {
  z-index: 1;
  position: relative; }

.wp-block-separator.is-style-wide {
  max-width: 100%;
  border: none;
  border-top: solid 1px #DCDDE1;
  margin: 0 auto;
  padding: 0;
  height: 1px; }

.b-overlay-bg {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1; }

.reviews {
  margin: 46px 0; }
  .reviews .reviews-slider {
    background: url(images/reviews-bg.jpg) center;
    background-size: cover;
    color: #fff;
    padding: 100px 0px;
    position: relative; }
    .reviews .reviews-slider:before {
      content: "";
      position: absolute;
      display: block;
      width: 128px;
      height: 106px;
      background: url(images/icons/quote.svg) no-repeat center;
      left: -30px;
      top: 30px; }
      @media only screen and (max-width: 1000px) {
        .reviews .reviews-slider:before {
          width: 90px;
          height: 70px;
          background-size: cover; } }
      @media only screen and (max-width: 700px) {
        .reviews .reviews-slider:before {
          left: 0; } }
    .reviews .reviews-slider .review {
      outline: none;
      padding: 60px 130px 0; }
      @media only screen and (max-width: 1000px) {
        .reviews .reviews-slider .review {
          padding: 60px 80px; } }
      @media only screen and (max-width: 768px) {
        .reviews .reviews-slider .review {
          padding: 60px 80px 0; } }
      @media only screen and (max-width: 700px) {
        .reviews .reviews-slider .review {
          padding: 60px 20px 0; } }
    .reviews .reviews-slider quote {
      font-size: 26px;
      line-height: 46px;
      font-weight: bold; }
      @media only screen and (max-width: 768px) {
        .reviews .reviews-slider quote {
          font-size: 18px;
          line-height: 26px; } }
      @media only screen and (max-width: 700px) {
        .reviews .reviews-slider quote {
          font-size: 16px; } }
      .reviews .reviews-slider quote:before {
        content: "";
        position: absolute;
        display: block;
        top: 0px;
        width: 112px;
        height: 25px;
        background: url(images/icons/stars.svg) no-repeat; }
        @media only screen and (max-width: 700px) {
          .reviews .reviews-slider quote:before {
            top: 20px; } }
      .reviews .reviews-slider quote span {
        display: block;
        color: #F26722;
        text-transform: uppercase;
        font-size: 14px;
        margin-top: 20px;
        position: relative;
        padding-left: 40px; }
        .reviews .reviews-slider quote span:before {
          content: "";
          position: absolute;
          display: block;
          width: 24px;
          height: 2px;
          background: #F26722;
          left: 0;
          top: 50%;
          transform: translateY(-50%); }
    .reviews .reviews-slider .slick-arrow {
      padding: 0;
      background: none;
      border: none;
      margin: 0;
      border-radius: 0;
      overflow: auto;
      font-family: inherit;
      outline: none;
      position: absolute;
      bottom: 0;
      right: 0;
      width: 61px;
      height: 62px;
      border-radius: 0;
      overflow: hidden;
      text-indent: -999px;
      cursor: pointer;
      background: #FBF8F4 url(images/icons/orange-arrow-right.svg) no-repeat center; }
      .reviews .reviews-slider .slick-arrow.slick-prev {
        right: 61px;
        background: #FBF8F4 url(images/icons/orange-arrow-left.svg) no-repeat center; }
  @media only screen and (max-width: 700px) {
    .reviews .site-container {
      padding: 0; } }

@media only screen and (max-width: 768px) {
  .home .reviews {
    margin: 0; } }
.from-bottom.animate {
  opacity: 0;
  transform: translateY(40px); }
  .from-bottom.animate.animated {
    opacity: 1;
    transform: translateY(0px);
    transition: all 0.8s cubic-bezier(0.515, 0.02, 0, 1.02); }
  .from-bottom.animate.delay-1 {
    transition-delay: .3s; }
    @media only screen and (max-width: 1000px) {
      .from-bottom.animate.delay-1 {
        transition-delay: 0s; } }
  .from-bottom.animate.delay-2 {
    transition-delay: .8s; }
    @media only screen and (max-width: 1000px) {
      .from-bottom.animate.delay-2 {
        transition-delay: 0s; } }

.entry-header {
  background: #001E55 url(images/bg-pattern.svg) repeat-x;
  color: #fff;
  padding: 60px 0;
  text-align: center; }
  .entry-header .entry-title {
    font-size: 44px;
    font-weight: bold; }

.jump-menu {
  padding: 20px 0;
  max-width: 1000px;
  margin: 0 auto; }
  @media only screen and (max-width: 700px) {
    .jump-menu .site-container {
      padding: 0 10px; } }
  .jump-menu a {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 4px;
    color: #001E55;
    transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
    @media only screen and (max-width: 768px) {
      .jump-menu a {
        font-size: 12px; } }
    .jump-menu a:hover {
      color: #F26722;
      transition: all 0.2s cubic-bezier(0.515, 0.02, 0, 1.02); }
  .jump-menu.sub-pages li {
    margin: 0 24px; }
    @media only screen and (max-width: 700px) {
      .jump-menu.sub-pages li {
        margin: 0 6px; } }
    .jump-menu.sub-pages li.current-menu-item a {
      color: #F26722; }

@media only screen and (max-width: 700px) {
  .wp-block-lazyblock-jump-nav {
    overflow-x: scroll; } }

body #jump-menu {
  position: sticky;
  top: 0;
  z-index: 1;
  transition: all 0.3s cubic-bezier(0.515, 0.02, 0, 1.02); }
body.headroom--pinned.headroom--not-top #jump-menu {
  transform: translateY(126px);
  transition: all 0.3s cubic-bezier(0.515, 0.02, 0, 1.02); }
