@charset "UTF-8";
.header ul li a, a {
    text-decoration: none
}

.footer, .grid.grid--logos figure, .header-section, .masthead, .people, .people figure {
    text-align: center
}

.wp-content ol, ol, ul {
    list-style: none
}

.na, .section-over {
    overflow: hidden
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline
}

h1, h2, h3, h4, h5, html {
    font-family: tenon, sans-serif
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}

blockquote, q {
    quotes: none
}

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

.accordian .accordian__toggle:after, .accordian .accordian__toggle:before, .packages aside:after, .pretty:after, .time:after, .wp-content ul li:before {
    content: ''
}

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

html {
    box-sizing: border-box;
    font-size: 62.5%
}

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

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

.wpcf7-form-control-wrap {
    position: relative;
    display: block
}

.wpcf7-form-control-wrap span.wpcf7-not-valid-tip {
    background: #ed1c24;
    color: #fff;
    display: block;
    padding: 1em;
    margin-bottom: 1em;
    border: 1px solid #ed1c24;
    border-top: none
}

.wpcf7-form-control-wrap input.wpcf7-not-valid {
    margin-bottom: 0;
    border: 1px solid #ed1c24;
    border-bottom: none
}

div.wpcf7-response-output {
    clear: both;
    margin-top: 2em;
    padding: 1.5em
}

div.wpcf7-response-output.wpcf7-validation-errors {
    border: 2px solid #ed1c24;
    color: #fff;
    background: #ed1c24
}

div.wpcf7-response-output.wpcf7-mail-sent-ok {
    color: #fff;
    border: 2px solid #00a453;
    background: #00a453
}

a, body {
    color: #637F81
}

.home .wp-content-capped-p h2 strong, .section-title strong, .type__50 strong, .type__80 strong, h1 span, h1 strong, h2 span, h2 strong, h3 span, h3 strong, h4 span, h4 strong, h5 span, h5 strong {
    color: #A1C5C8
}

html.sr .load-hidden {
    visibility: hidden
}

.container {
    width: 94.5%;
    margin: auto;
    max-width: 1038px
}

.container.container--flex {
    max-width: 100%;
    width: 95%
}

.container.container--wide {
    max-width: 1267px
}

.grecaptcha-badge {
    visibility: hidden !important
}

.sc__2cols {
    column-count: 2
}

.sc__2cols p:empty {
    display: none
}

.block {
    padding: 4em 0
}

.block.block--muted {
    background: #F8F8F8
}

.block.block--guile {
    padding-top: 0
}

body {
    -webkit-text-size-adjust: none;
    font-size: 1.7rem;
    line-height: 2.7rem;
    overflow-x: hidden
}

.type__80, h1 {
    font-size: 6.5rem;
    line-height: 6.8rem
}

.home .wp-content-capped-p h2, .section-title, .type__50, h2 {
    font-size: 3.8rem;
    line-height: 4.4rem
}

.home .wp-content-capped-p h3, .type__36, .wp-content h2 {
    font-size: 2.8rem;
    line-height: 3.2rem
}

.contact-method h2, .packages article h3, .people article h3, .service h2, .type__30, h3 {
    font-size: 2.2rem;
    line-height: 2.8rem
}

.type__22, h4 {
    font-size: 2.2rem;
    line-height: 4rem
}

.contact-method, .type__20, .wp-content blockquote, .wp-content h4:first-of-type, h5 {
    font-size: 1.8rem;
    line-height: 2.4rem
}

h1, h2, h3, h4, h5 {
    font-weight: 400;
    margin-bottom: 1em;
    letter-spacing: -.1rem;
    font-style: normal
}

h1, p {
    margin-bottom: .5em
}

.lead-l {
    font-size: 2.2rem;
    line-height: 3.3rem
}

.lead {
    font-size: 2rem;
    line-height: 3.6rem
}

.spaced {
    margin-bottom: 1.5em
}

p {
    margin-bottom: 30px
}

input::-webkit-input-placeholder {
    color: #bbbbba;
    font-family: tenon, sans-serif;
    font-size: 17px
}

input::-moz-placeholder {
    color: #bbbbba;
    font-family: tenon, sans-serif;
    font-size: 17px
}

input:-ms-input-placeholder {
    color: #bbbbba;
    font-family: tenon, sans-serif;
    font-size: 17px
}

input:-moz-placeholder {
    color: #bbbbba;
    font-family: tenon, sans-serif;
    font-size: 17px
}

sup {
    vertical-align: super;
    font-size: .83em
}

.capped {
    max-width: 700px
}

.capped-auto {
    margin: auto
}

.capped-xs {
    max-width: 544px
}

.capped-text {
    max-width: 328px
}

.footer .legal, .washed {
    color: #B6C3C4
}

.home .wp-content-capped-p h2, .section-title {
    color: #121E1F;
    line-height: 1;
    font-weight: 300 !important
}

hr {
    margin-top: 3em;
    height: 2px;
    background: #A1C5C8;
    border: none;
    margin-right: -10000em
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 111111;
    width: 100%;
    transition: all .5s cubic-bezier(.165, .84, .44, 1)
}

.docked #nav-toggle-cb:checked, .na .header {
    z-index: 111
}

.header .container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.header ul li {
    display: inline;
    margin-right: 2.5vw;
    text-transform: uppercase;
    letter-spacing: .2rem
}

.header ul li.butt {
    display: inline-block;
    background: #121E1F;
    color: #fff;
    border-radius: 5px
}

.header ul li.current-menu-item a, .header ul li.current_page_item a {
    color: #fff
}

.header ul li a {
    font-weight: 700;
    color: #fff;
    font-size: 12px;
    transition: opacity .5s ease-in-out
}

.header ul li a:hover {
    text-decoration: underline
}

.b-filled .header {
    background: #A1C5C8
}

.nav-toggle-icon__btm {
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%
}

#nav-toggle {
    display: block
}

#nav-toggle-cb:checked ~ .header__nav-toggle {
    z-index: 11111111
}

#nav-toggle-cb:checked ~ .header__nav-toggle .nav-toggle-icon__top {
    -ms-transform: translateX(12px) rotate(45deg);
    transform: translateX(12px) rotate(45deg)
}

#nav-toggle-cb:checked ~ .header__nav-toggle .nav-toggle-icon__btm {
    -ms-transform: translateX(12px) rotate(-45deg);
    transform: translateX(12px) rotate(-45deg)
}

#nav-toggle-cb:checked ~ .header__nav-toggle .nav-toggle-icon__mid {
    -ms-transform: translateX(35px) scaleX(0);
    transform: translateX(35px) scaleX(0)
}

#nav-toggle-cb:checked ~ nav {
    right: 0
}

.header__nav-toggle > * {
    transition: all .2s cubic-bezier(.075, .82, .165, 1)
}

.fixed .header__nav-toggle {
    z-index: 1111111111
}

.header__nav-toggle svg * {
    transition: all .2s ease-in-out
}

.header__nav-toggle {
    -ms-transform: scale(.8);
    transform: scale(.8)
}

.primary__info {
    display: none
}

.primary__info a {
    color: #fff;
    font-size: 16px;
    line-height: 20px
}

.primary__info address {
    color: #fff;
    opacity: .5;
    font-size: 12px;
    line-height: 22px;
    font-style: normal;
    margin-top: 1em
}

.footer .container {
    padding: 3em 0
}

.footer .legal {
    font-size: 15px
}

.footer .container > * {
    margin-bottom: 1em
}

.footer .main-contact {
    margin-bottom: 1em;
    font-size: 120%
}

.footer .footer-sub {
    margin-top: 1em
}

.footer a[href^="tel:"], .footer address {
    font-weight: 300
}

.masthead b, .masthead strong, .pretty, .time {
    font-weight: 700
}

.footer a:hover {
    opacity: .8
}

.footer .social a {
    margin: 0 1vh
}

.grid > * {
    margin-bottom: 2em
}

.grid.grid--stretch {
    -ms-flex-align: stretch;
    align-items: stretch
}

.grid.grid--center {
    -ms-flex-align: center;
    align-items: center
}

.grid.grid--tight > * {
    margin-bottom: 0 !important
}

.grid.grid--logos {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap
}

.grid.grid--logos > * img {
    max-width: 65%;
    max-height: 80px
}

.grid--space2x {
    margin-bottom: 80px
}

.grid--space {
    margin-bottom: 40px
}

.grid.grid--logos > * {
    -ms-flex: 0 0 48%;
    flex: 0 0 48%;
    margin-top: 3em;
    margin-bottom: 2em
}

.masthead {
    background-color: #A1C5C8;
    color: #fff;
    padding: 15vh 0 0;
    margin: 0 0 4em
}

.masthead.masthead--image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%
}

.masthead img {
    display: block
}

.masthead aside {
    -ms-flex-item-align: start;
    align-self: flex-start
}


.stretch {
    width: 100%;
    height: 220px;
    position: relative
}

.stretch img {
    position: absolute;
    height: 100%;
    width: 100%;
    object-fit: cover
}

.accordians > :first-of-type {
    border-top: 2px solid #A1C5C8
}

.accordian {
    padding: 1em 0;
    border-bottom: 2px solid #A1C5C8
}

.accordian.active .accordian__toggle {
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.accordian .accordian__toggle {
    transition: transform cubic-bezier(.215, .61, .355, 1) .3s;
    width: 25px;
    height: 25px;
    position: absolute;
    top: .5em;
    left: 0
}

.accordian .accordian__toggle:before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    background: #121E1F;
    margin-left: -1px
}

.accordian .accordian__toggle:after {
    position: absolute;
    top: 50%;
    left: 0;
    height: 2px;
    width: 100%;
    margin-top: -1px;
    background: #121E1F
}

.accordian .accordian__header div {
    position: relative;
    display: -ms-flexbox;
    display: flex
}

.accordian .accordian__header div h3 {
    color: #121E1F;
    margin-left: 136px;
    margin-bottom: 0
}

.accordian .pretty, .accordian .time {
    margin-top: 0
}

.accordian__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height ease-in-out .3s
}

.active .accordian__content {
    max-height: 1000px
}

.accordian__content .accordian__content_image {
    max-width: 451px;
    width: 100%
}

.accordian__content div {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 2em;
    margin-bottom: 60px
}

.people.people--title h2 {
    margin-bottom: 0
}

.people figure {
    margin: 0 auto 3em
}

.wp-stars, body .wp-gr .wp-google-place .wp-google-right {
    text-align: center !important
}

.people article h3 {
    padding-top: 2em;
    color: #121E1F;
    font-weight: 300;
    margin-bottom: 0
}

.service h2 {
    margin-bottom: 1.5em;
    color: #121E1F
}

.contact-method {
    margin-bottom: 30px !important
}

.contact-method h2 {
    margin-top: 20px;
    margin-bottom: 1em;
    color: #121E1F
}

.packages article h3 {
    padding-top: 30px;
    color: #121E1F
}

.packages figure {
    z-index: 11;
    width: 312px;
    margin: 0 auto;
    height: 435px;
    position: relative
}

.packages figure img {
    position: absolute;
    object-fit: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.packages aside {
    margin: 80px auto 0;
    max-width: 360px;
    position: relative
}

.packages aside:after {
    width: 312px;
    height: 435px;
    background: #A1C5C8;
    position: absolute;
    top: -40px;
    left: -40px
}

.packages > * {
    margin-bottom: 2em
}

.packages > :first-of-type {
    margin-top: 2em
}

#mappy {
    height: 250px;
    height: 60vh;
    max-height: 572px;
    background: #eee
}

.block--muted, .container--google {
    position: relative
}

body .wp-gr .wp-google-review {
    text-align: center !important;
    background: #fff !important;
    padding: 2em !important;
    position: relative !important;
    font-family: tenon, sans-serif !important;
    color: #A1C5C8 !important;
    font-size: 15px !important
}

body .wp-gr .wp-google-left, body .wp-gr .wp-google-right {
    display: block !important;
    width: unset !important
}

body .wp-gr .wp-google-left img {
    float: none !important;
    margin-bottom: 2em
}

body .wp-gr.wpac .wp-google-review .wp-google-stars {
    display: block;
    margin: 0 0 1em !important
}

body .wp-gr .wp-google-place .wp-google-left, body .wp-gr .wp-google-place .wp-google-name, body .wp-gr .wp-google-place .wp-google-powered, body .wp-gr .wp-google-url {
    display: none !important
}

.wp-google-wrapper {
    padding-left: 30px;
    padding-right: 30px
}

.wp-gr .grw-slider:not(.wp-dark) .grw-slider-review-inner.grw-slider-review-border {
    background: 0 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important
}

.wp-gr .grw-slider:not(.wp-dark) .grw-slider-review-inner > svg {
    display: none
}

body .wp-gr.wpac a.wp-google-name {
    color: #121E1F !important;
    display: block;
    width: 100%
}

.form {
    margin-bottom: 4em
}

.form .wpcf7-list-item {
    margin-left: 0;
    display: block
}

.form p {
    margin-bottom: 1em
}

.form input[type=text], .form input[type=email], .form textarea {
    background: #FAFAFA;
    padding: 1.5em;
    color: #A1C5C8;
    width: 100%;
    border: none;
    font-size: 17px;
    font-family: tenon, sans-serif;
    margin-bottom: 2em
}

.form input[type=submit] {
    color: #fff;
    -webkit-apperance: none;
    background: #A1C5C8;
    padding: 1.5em;
    font-family: tenon, sans-serif;
    width: 100%;
    border: none;
    font-size: 1.8rem;
    line-height: 1.8rem
}

.wp-content ol li, .wp-content ul li {
    font-size: 1.6rem;
    line-height: 3.6rem
}

.form aside label {
    display: none
}

.form aside .wpcf7-list-item label {
    display: block
}

.form textarea::-webkit-input-placeholder {
    color: #9A9C9D;
    font-family: tenon, sans-serif;
    font-size: 1.6rem;
    line-height: 3.6rem
}

.form input::-webkit-input-placeholder {
    color: #9A9C9D;
    font-family: tenon, sans-serif
}

.form input::-moz-placeholder {
    color: #9A9C9D;
    font-family: tenon, sans-serif
}

.form input:-ms-input-placeholder {
    color: #9A9C9D;
    font-family: tenon, sans-serif
}

.form input:-moz-placeholder {
    color: #9A9C9D;
    font-family: tenon, sans-serif
}

.wp-content a, .wp-content b, .wp-content strong {
    color: #A1C5C8
}

.slick-slider .slick-slide {
    margin-right: 28px
}

.slick-slider .slick-slide:last-child {
    margin-right: 0
}

.slick-slide {
    max-width: 320px;
    float: left;
    height: inherit !important
}

.ss-controls {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 1em 0 2em
}

.slick [aria-hidden=false] {
    opacity: 1 !important
}

.slick.slick-initialized .slick-slide {
    display: -ms-flexbox;
    display: flex
}

.slick-track {
    display: -ms-flexbox !important;
    display: flex !important
}

.wp-content p:last-child {
    margin-bottom: 0
}

.wp-content.wp-content-capped-p p, .wp-content.wp-content-leads h2 {
    max-width: 486px
}

.wp-content h2, .wp-content h3, .wp-content h4, .wp-content h5, .wp-content h6 {
    margin-bottom: 1em
}

.wp-content img {
    height: auto
}

.wp-content ul {
    text-align: left;
    margin-bottom: 2em
}

.wp-content ul li {
    position: relative;
    padding-left: 1em;
    margin-bottom: .25em
}

.wp-content ul li:before {
    position: absolute;
    top: .75em;
    left: 0;
    background: #A1C5C8;
    width: 7px;
    height: 7px;
    border-radius: 50%
}

.wp-content ol {
    counter-reset: item;
    text-align: left;
    margin: 0 0 2em;
    padding-left: 1.5em
}

.wp-content ol li {
    text-align: left;
    margin-bottom: 1em;
    position: relative
}

.wp-content ol li:before {
    margin-right: 0;
    margin-left: -1.25em;
    position: absolute;
    top: 0;
    left: 0;
    content: counter(item) ". ";
    counter-increment: item;
    color: #A1C5C8
}

.wp-content blockquote {
    padding-left: 1em;
    border-left: 2px solid #A1C5C8;
    margin-bottom: 2em;
    margin-left: 5vw
}

.wp-content.wp-content--page h2, .wp-content.wp-content--page h4, .wp-content.wp-content--page h6 {
    color: #121E1F
}

.post-fi {
    margin-bottom: 4em
}

.post-fi img {
    height: auto
}

.time {
    color: #A1C5C8;
    margin-bottom: 0
}

.container--google .header-section {
    margin-bottom: 1.8em;
    -ms-flex-align: center;
    align-items: center
}

.container--google .header-section .home .wp-content-capped-p h2, .container--google .header-section .section-title, .home .wp-content-capped-p .container--google .header-section h2 {
    margin-bottom: 0
}

.service ul li {
    line-height: 1.5
}

.service h2 {
    margin-top: 60px
}

.header {
    padding: 30px .5em
}

.b-filled .header {
    padding: .5em
}

.header ul li.butt {
    padding: .3em 1.5em;
    margin-right: 0
}

.nav-toggle__icon {
    fill: #fff
}

.home .wp-content-capped-p {
    margin-bottom: 4em
}

.home .wp-content-capped-p h2 {
    margin-bottom: 2em
}

.home .wp-content-capped-p h3 {
    margin-top: 30px
}

.home .layout header .wp-content-capped-p h2, .home .layout header h2.section-title, .home .layout header h2.section-title.type__50, .home .wp-content-capped-p .layout header h2 {
    line-height: 5rem
}

.post_item .post_image {
    height: 250px;
    border-radius: 10px;
    margin-bottom: 1em;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%
}

.post_item .post_content {
    font-weight: 500;
    color: #A1C5C8;
    border-bottom: 3px solid #fff
}

.post_item .post_content h2 {
    margin-bottom: 0
}

.post_item .post_content:hover {
    border-bottom-color: #637F81
}

.wp-pagenavi {
    text-align: center
}

.wp-pagenavi > a {
    background-color: #A1C5C8;
    color: #fff;
    border-color: #A1C5C8 !important
}

.wp-pagenavi > a:hover {
    border-color: #637F81 !important
}

.wp-pagenavi > span {
    background: #fff;
    border-color: #A1C5C8 !important;
    color: #A1C5C8
}

.wp-pagenavi > * {
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    margin: 0 10px;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    border: 1px solid #A1C5C8;
    line-height: 36px;
    font-weight: 600
}

@media screen and (min-width: 500px) {
    .wp-google-reviews {
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-align: stretch;
        align-items: stretch;
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important
    }

    .wp-google-reviews > * {
        -ms-flex-preferred-size: 48%;
        flex-basis: 48%
    }
}

@media screen and (min-width: 600px) {
    .header-section {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .header-section .pretty, .header-section .time {
        margin-top: 0
    }

    .header__nav-toggle {
        display: none
    }

    .grid.grid--4 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap
    }

    .grid.grid--4 > * {
        -ms-flex: 0 0 48%;
        flex: 0 0 48%
    }

    .people {
        display: -ms-flexbox;
        display: flex;
        text-align: left;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .people figure {
        -ms-flex-preferred-size: 30%;
        flex-basis: 30%
    }

    .people article {
        -ms-flex: 1;
        flex: 1;
        margin-left: 3em
    }
}

@media screen and (min-width: 600px) and (max-width: 1000px) {
    .grid.grid--logos > * {
        -ms-flex: 0 0 32%;
        flex: 0 0 32%
    }

    .grid.grid--logos > :nth-of-type(3n) {
        margin-right: 0
    }
}

@media screen and (min-width: 700px) {
    .packages .package {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .packages .package aside {
        -ms-flex-preferred-size: 30%;
        flex-basis: 30%
    }

    .packages .package article {
        -ms-flex: 1;
        flex: 1;
        max-width: 564px
    }

    .packages > * {
        margin-bottom: 6em
    }

    .packages > :nth-of-type(2n) hr {
        margin-right: 0;
        margin-left: -10000em
    }

    .packages > :nth-of-type(2n) figure {
        margin-right: 0
    }

    .packages > :nth-of-type(2n-1) aside {
        -ms-flex-order: 1;
        order: 1;
        margin-left: 0
    }

    .packages > :nth-of-type(2n-1) article {
        -ms-flex-order: 2;
        order: 2
    }

    .packages > :nth-of-type(2n-1) figure {
        margin-left: 0
    }

    .packages > :nth-of-type(2n) aside {
        margin-right: 0;
        margin-left: 40px
    }

    .container--google {
        padding-top: 20px
    }

    .container--google .wp-google-place {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important
    }

    .wp-google-reviews > * {
        -ms-flex-preferred-size: 32%;
        flex-basis: 32%
    }

    .wp-google-reviews > :nth-of-type(4n) {
        display: none
    }
}

@media screen and (min-width: 768px) {
    .block {
        padding: 8em 0
    }

    .type__80, h1 {
        font-size: 7.2rem;
        line-height: 7.5rem
    }

    .home .wp-content-capped-p h2, .section-title, .type__50, h2 {
        font-size: 4.8rem;
        line-height: 5.5rem
    }

    .home .wp-content-capped-p h3, .type__36, .wp-content h2 {
        font-size: 3.6rem;
        line-height: 5rem
    }

    .contact-method h2, .packages article h3, .people article h3, .service h2, .type__30, h3 {
        font-size: 3rem;
        line-height: 4rem
    }

    .contact-method, .type__20, .wp-content blockquote, .wp-content h4:first-of-type, h5 {
        font-size: 2rem;
        line-height: 3.6rem
    }

    .lead-l {
        font-size: 2.8rem;
        line-height: 4.4rem
    }

    .grid.grid--2 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap
    }

    .grid.grid--2 > * {
        -ms-flex: 0 0 48%;
        flex: 0 0 48%
    }

    .grid.grid--2-wide > * {
        -ms-flex: 0 0 46%;
        flex: 0 0 46%
    }

    .grid.grid--3 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    .grid.grid--3 > * {
        -ms-flex: 0 0 48%;
        flex: 0 0 48%;
        margin-bottom: 63px
    }

    .grid.grid--4 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    .grid.grid--4 > * {
        -ms-flex: 0 0 30%;
        flex: 0 0 30%;
        margin-right: 2.5%
    }

    .grid.grid--4 > :nth-of-type(3n) {
        margin-right: 0
    }

    .masthead {
        margin: 0 0 8em
    }

    .stretch {
        height: 508px
    }

    .service h2 {
        min-height: 80px
    }

    .packages article h3 {
        padding-top: 76px
    }

    .form {
        margin-bottom: 6em
    }

    .form .cols {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .form .cols > * {
        -ms-flex-preferred-size: 48%;
        flex-basis: 48%
    }

    .form .cols .full {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }
}

@media screen and (min-width: 800px) {
    .layout {
        display: -ms-flexbox;
        display: flex
    }

    .layout header {
        -ms-flex-preferred-size: 360px;
        flex-basis: 360px;
        margin-right: 60px
    }

    .layout article {
        -ms-flex: 1;
        flex: 1
    }
}

@media screen and (min-width: 900px) {
    .masthead {
        padding: 0;
        text-align: left
    }

    .masthead .container {
        height: 714px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .masthead aside {
        -ms-flex-item-align: end;
        align-self: flex-end
    }

    .masthead article {
        -ms-flex-preferred-size: 52%;
        flex-basis: 52%;
        max-width: 496px;
        padding-bottom: 45px
    }

    .masthead.masthead--basic .container {
        height: auto;
        padding: 120px 0 80px
    }

    .masthead aside {
        -ms-flex-preferred-size: 55%;
        flex-basis: 55%
    }

    .masthead article {
        padding-top: 45px
    }
}

@media screen and (min-width: 990px) {
    .footer {
        padding-top: 6em;
        padding-bottom: 0;
        text-align: left;
        min-height: 482px
    }

    .footer .main-contact {
        font-size: 35px;
        margin: 1em 0 .5em;
        display: inline-block
    }

    .footer .container {
        padding-left: 482px;
        background: url(../img/footer-pug.jpg) bottom left no-repeat;
        padding-bottom: 2em
    }

    .footer .legal {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 6em;
        margin-bottom: 0
    }

    .footer .footer-main a[href^="tel:"], .footer .footer-main address {
        font-size: 2.2rem;
        line-height: 4rem
    }

    .footer .footer-sub {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .footer .footer-sub a:before {
        content: "/";
        margin-left: .75em;
        margin-right: .35em
    }
}

@media screen and (min-width: 1000px) {
    ul li {
        line-height: 1.3
    }

    ul li li {
        display: block;
        margin-right: 0 !important
    }

    ul li li:last-child {
        margin-bottom: 0
    }

    .menu-header-menu-container > ul > li {
        position: relative
    }

    .menu-item-has-children {
        padding-right: 10px
    }

    .menu-item-has-children:after {
        content: '';
        width: 5px;
        height: 5px;
        border-right: 1px solid #A1C5C8;
        border-bottom: 1px solid #A1C5C8;
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        top: 8px;
        right: 0
    }

    .menu-item-has-children .menu-item-has-children:after {
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 10px;
        border-color: #000
    }

    .menu-header-menu-container .menu-item-has-children {
        position: relative
    }

    .menu-header-menu-container .menu-item-has-children:hover > ul {
        opacity: 1;
        top: 20px;
        padding-top: 30px;
        background: #fff;
        visibility: visible
    }

    .menu-header-menu-container ul ul {
        opacity: 0;
        visibility: hidden;
        padding: 1em;
        display: block;
        position: absolute;
        min-width: 220px;
        left: 0;
        top: 20px;
        transition: all .2s ease-in-out
    }

    .menu-header-menu-container ul ul li {
        margin-bottom: 15px;
        display: block;
        position: relative
    }

    .menu-header-menu-container ul ul li:last-child {
        margin-bottom: 0
    }

    .menu-header-menu-container ul ul li a {
        color: #A1C5C8
    }

    .menu-header-menu-container ul ul li ul {
        position: absolute;
        left: 105%;
        opacity: 0;
        visibility: hidden;
        top: 0
    }

    .menu-header-menu-container ul ul li.menu-item-has-children:hover ul {
        padding-top: 10px;
        opacity: 1;
        top: -10px !important;
        visibility: visible;
        left: calc(100% + 1em)
    }

    .grid.grid--logos {
        -ms-flex-pack: center !important;
        justify-content: center !important
    }

    .grid.grid--logos img {
        max-width: 100%
    }

    .grid.grid--logos > * {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        padding: 0 2vw
    }

    .grid.grid--logos > :nth-of-type(4n) {
        margin-right: 0
    }

    .accordian__content {
        padding-left: 136px
    }

    .section-over.top-space {
        padding-top: 2em
    }
}

@media screen and (max-width: 1000px) and (min-width: 600px) {
    .header .header__nav-toggle {
        display: block
    }
}

@media screen and (min-width: 1024px) {
    .type__80, h1 {
        font-size: 8rem;
        line-height: 7.5rem
    }

    .home .wp-content-capped-p h2, .section-title, .type__50, h2 {
        font-size: 5rem;
        line-height: 6.5rem
    }
}

@media screen and (min-width: 1100px) {
    .grid.grid--3 {
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .grid.grid--3 > * {
        -ms-flex: 0 0 30%;
        flex: 0 0 30%;
        margin-right: 5%
    }

    .grid.grid--3 > :nth-of-type(3n) {
        margin-right: 0
    }

    .grid.grid--4 > *, .grid.grid--4 > :nth-of-type(3n) {
        margin-right: 3.33%
    }

    .grid.grid--3-ctas a:nth-child(3n+1):nth-last-child(-n+3), .grid.grid--3-ctas a:nth-child(3n+1):nth-last-child(-n+3) ~ a {
        margin-bottom: 0
    }

    .grid.grid--4 {
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .grid.grid--4 > * {
        -ms-flex: 0 0 22.5%;
        flex: 0 0 22.5%
    }

    .grid.grid--4 > :nth-of-type(4n) {
        margin-right: 0
    }

    .packages aside {
        margin-left: 0;
        margin-right: 110px
    }
}

@media screen and (min-width: 1200px) {
    .footer .main-contact {
        font-size: 50px
    }
}

@media screen and (min-width: 1280px) {
    .slick-slide {
        min-width: 320px
    }
}

@media screen and (min-width: 1400px) {
    .container.container--offsetLeft {
        max-width: none;
        width: 97.25%;
        margin-left: 10vw;
        margin-right: 0
    }
}

@media screen and (max-width: 1000px) {
    .header nav, .na .header {
        z-index: 11111111
    }

    .header ul ul {
        display: none
    }

    .header ul li:hover a {
        color: #fff
    }

    .header ul li.active > ul {
        display: block !important
    }

    .header .menu-header-menu-container {
        overflow-y: scroll;
        height: 70%
    }

    .header nav {
        padding: 2em;
        position: fixed;
        right: -100%;
        height: 100%;
        width: 100%;
        background: #A1C5C8;
        transition: right .2s ease-in-out;
        top: 67px
    }

    .header nav li {
        display: block;
        margin-right: 0 !important;
        margin-bottom: 10px
    }

    .header nav li a {
        color: #fff;
        font-size: 16px
    }

    .header nav li li {
        opacity: .55;
        font-size: 16px
    }

    .header nav li li li {
        opacity: 1
    }

    .header #menu-header-menu {
        margin: auto
    }

    .header .menu-header-menu-container > ul > li {
        font-size: 22px;
        margin-bottom: .5em
    }

    .header .menu-item-has-children {
        position: relative
    }

    .header .menu-item-has-children:after {
        display: none
    }

    .header .menu-item-has-children > a:after {
        content: '';
        width: 10px;
        height: 10px;
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff;
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        display: inline-block;
        margin-left: .5em;
        position: relative;
        top: -4px
    }

    .primary__contact {
        line-height: 1.7
    }

    .primary__info {
        display: block
    }

    .header {
        padding: .5em
    }
}

@media screen and (max-width: 900px) {
    .masthead {
        padding-top: 85px
    }

    .masthead img {
        margin: 2em auto 0
    }
}

@media screen and (max-width: 768px) {
    .accordian .accordian__header div {
        -ms-flex-align: center;
        align-items: center
    }

    .accordian .accordian__header div h3 {
        margin-left: 30px !important
    }

    .accordian .accordian__header div.accordian__toggle {
        top: auto !important;
        width: 15px;
        height: 15px
    }

    .accordian .accordian__content div {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .accordian .accordian__content div img {
        max-width: 100%;
        width: 100%;
        margin-bottom: 40px
    }
}

@media screen and (max-width: 700px) {
    .container--google {
        text-align: center
    }

    .container--google .home .wp-content-capped-p h2, .container--google .section-title, .home .wp-content-capped-p .container--google h2 {
        margin-bottom: 0
    }

    .container--google .wp-google-list {
        margin-top: 2em !important
    }

    .wp-google-wrapper {
        padding-left: 15px;
        padding-right: 15px
    }
}

@media screen and (max-width: 600px) {
    .home .wp-content-capped-p {
        margin-bottom: 3em
    }

    .home .wp-content-capped-p h2 {
        margin-bottom: 1em
    }
}

@media screen and (max-width: 576px) {
    .header figure {
        max-width: 140px
    }
}