.font,
.font_bold {
    font-family: Merriweather, serif
}

h1,
h2,
h3,
h4,
p {
    margin-top: 0
}

.lo_nav a,
img {
    display: block
}

.colour_set_3 a:link,
.lo_footer a:link,
a {
    text-decoration: none
}

.background_pattern {
    background-image: url(../images/background.gif)
}

.font_bold {
    font-weight: 700
}

.font {
    font-weight: 400
}

h1,
h3,
h4 {
    font-weight: 700
}

.font_script {
    font-family: Rochester, cursive
}

a,
body,
h1,
h2,
h3,
h4,
input,
strong,
strong a,
textarea {
    font-family: Merriweather, serif
}

.font_size_massive {
    font-size: 2.4em;
    line-height: 1.5em
}

.font_size_larger {
    font-size: 1.75em;
    line-height: 1.5em
}

.font_size_large {
    font-size: 1.25em;
    line-height: 1.5em
}

.font_size {
    font-size: 1em;
    line-height: 1.7em
}

.font_size_small {
    font-size: .875em;
    line-height: 1.6em
}

.font_size_smallest {
    font-size: .75em;
    line-height: 1
}

h1,
h2 {
    font-size: 1.75em
}

.colour_set_1 a:link {
    color: #0c73b5
}

.colour_set_1 a:visited {
    color: #0f91e5
}

.colour_set_1 a:hover {
    color: #0a649d
}

.colour_set_1 a:active {
    color: #07456d
}

.colour_set_2 li,
.colour_set_2 p {
    color: #c0bfbf
}

.colour_set_2 a:link {
    color: #fff;
    font-weight: 700;
    margin-bottom: .9rem;
    display: block
}

h2,
h4,
p {
    margin-bottom: 1.8rem
}

body,
img {
    margin: 0
}

a,
body,
h2,
input,
textarea {
    font-weight: 400
}

.colour_set_2 a:visited {
    color: #c5e6fb
}

.colour_set_2 a:hover {
    color: #063655
}

.colour_set_2 a:active {
    color: #07456d
}

.colour_set_3 {
    background-color: #0c73b5;
    color: #fff
}

.colour_set_3 a:link {
    color: #fff
}

.colour_set_3 a:visited {
    color: #e6e6e6
}

.colour_set_3 a:hover {
    color: #0c73b5
}

.colour_set_3 a:active,
a:active {
    color: #07456d
}

a:link,
h3 {
    color: #0c73b5
}

html {
    font-size: 100%;
    font-size: 16px;
    color: #5a5959
}

body {
    line-height: 1.8rem;
    letter-spacing: 0;
    padding: 0;
    background-color: #fffbf5;
    background-image: url(../images/background-pattern.gif)
}

.lo_nav,
h1,
h2,
h3,
h4 {
    line-height: 1.5em
}

body * {
    -webkit-tap-highlight-color: transparent
}

h2 {
    font-weight: 700
}

.lo_nav,
h3,
h4 {
    font-size: 1.25em
}

h3 {
    margin-bottom: .9rem
}

h2+h3 {
    margin-bottom: 0
}

strong,
strong a {
    font-weight: 700
}

ul {
    list-style-type: square
}

blockquote {
    padding: 0;
    margin-bottom: 3.6rem;
    font-style: italic
}

ol,
ul {
    margin: 0 0 0 1rem;
    padding: 0
}

ol li,
ul li {
    padding-left: 1rem
}

hr {
    border: 0;
    border-top: 2px dashed #0c73b5;
    margin-bottom: 1rem
}

a:visited {
    color: #0f91e5
}

a:hover {
    color: #0a649d
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

.lo_layout_block {
    max-width: 54em;
    margin: 0 auto;
    overflow: hidden;
    padding: 2rem 1rem
}

.lo_layout_inner {
    max-width: 54em;
    margin-bottom: 0
}

.lo_header {
    background-color: #eed2a3;
    background-image: url(../images/background_beige.gif);
    width: 100%;
    z-index: 1;
    overflow: hidden
}

.lo_header a:link {
    color: #0c73b5
}

.lo_header a:visited {
    color: #0f91e5
}

.lo_header a:hover {
    color: #0a649d
}

.lo_header a:active {
    color: #07456d
}

.lo_header .lo_layout_block {
    padding-top: .5rem;
    padding-bottom: .5rem;
    background-color: background_colour
}

.lo_nav {
    float: right
}

.lo_nav ul {
    margin-top: 1.8rem
}

.lo_nav li {
    margin-bottom: .9rem
}

.lo_nav a {
    font-weight: 700
}

.lo_content .lo_layout_block {
    background-color: #fffbf5;
    background-image: url(../images/background-pattern.gif)
}

.lo_footer {
    overflow: hidden;
    width: 100%;
    background-color: #0c73b5;
    color: #fff;
    background-image: url(../images/background_blue.gif)
}

.social_icons .sprite_email,
.social_icons .sprite_facebook,
.social_icons .sprite_instagram,
.social_icons .sprite_twitter,
.top_contact .phone_icon {
    background-image: url(../images/sprites.svg)
}

.lo_footer a:link {
    color: #fff
}

.lo_footer a:visited {
    color: #e6e6e6
}

.lo_footer a:hover {
    color: #0c73b5
}

.lo_footer a:active {
    color: #07456d
}

.top_contact {
    display: inline-table;
    width: 100%;
    line-height: 0;
    overflow: hidden;
    clear: both
}

.top_contact .phone_icon {
    display: inline-block;
    background-position: -361px -73px;
    height: 24px;
    width: 32px;
    position: relative;
    top: 6px
}

.top_contact .phone {
    font-size: 1.1rem;
    display: table-cell;
    vertical-align: middle;
    text-align: left
}

.top_contact .phone a {
    color: #5a5959
}

.top_contact .social_icons {
    display: table-cell;
    text-align: right;
    width: 120px
}

.logo_wrap {
    width: 100%;
    position: relative
}

.logo_wrap .site_name {
    max-width: 28rem;
    width: 100%;
    margin-left: -.3rem;
    margin-bottom: 1rem
}

.col_dk_2-3,
.col_dk_2-5,
.col_dk_3,
.col_dk_3-5,
.logo_wrap h1 {
    margin-bottom: 0
}

.logo_wrap h1 {
    font-size: 1rem;
    margin-top: -1rem;
    margin-left: .5rem
}

.cat_logo_wrap {
    float: left;
    width: 9rem
}

.logo {
    display: block;
    width: 100%
}

.sprite_social {
    width: 48px;
    height: 48px;
    display: inline-block;
    margin-right: 0!important
}

.social_icons .sprite_twitter {
    background-position: -200px -130px
}

.social_icons .sprite_twitter:hover {
    background-position: -200px -59px
}

.social_icons .sprite_facebook {
    background-position: -151px -130px
}

.social_icons .sprite_facebook:hover {
    background-position: -151px -59px
}

.social_icons .sprite_instagram {
    background-position: -167px -130px
}

.social_icons .sprite_instagram:hover {
    background-position: -167px -59px
}

.social_icons .sprite_email {
    background-position: -298px -130px
}

.social_icons .sprite_email:hover {
    background-position: -298px -59px
}

.col_dk_3 {
    width: 33.3333%
}

.article .small {
    font-size: .75em;
    line-height: 1
}

.article ul.columns {
    list-style: none;
    margin-left: 0;
    overflow: hidden
}

.article li {
    width: 100%;
    padding-left: 0;
    padding-right: 1rem
}

.article li li:nth-child(1),
.article li li:nth-child(2) {
    padding: 0
}

.article li li:nth-child(3) {
    padding: 0;
    float: left
}

.article img {
    width: 100%;
    margin: 0 auto;
    border: 12px solid #fff;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px
}

.article .content_highlight {
    background-color: #0c73b5;
    color: #fff;
    text-align: center;
    padding: .5rem;
    font-weight: 700;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin-bottom: 2rem
}

.areas {
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    margin-bottom: 1rem
}

.testimonial_page h4 {
    margin-bottom: 1.8rem
}

.testimonials {
    max-width: 30rem;
    margin: 0 auto
}

.testimonials .more_link {
    width: 100%;
    text-align: right
}

.testimonials .date,
.testimonials .name {
    text-align: right
}

.testimonials .date {
    font-size: .875em;
    line-height: 1.6em
}

.testimonials .testimonial_wrap {
    font-style: italic;
    overflow: hidden;
    margin-bottom: 1rem;
    background-color: #ddf0fd;
    padding: 1rem;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px
}

.testimonials .testimonial_wrap .name {
    text-align: right;
    font-style: normal;
    margin: 0;
    font-weight: 700
}

.testimonials .testimonial_wrap .date {
    margin: 0;
    text-align: right
}

.testimonials .testimonial_wrap p {
    margin-bottom: .9rem
}

.header_menu ul {
    list-style-type: none;
    margin-left: 0
}

.header_menu li {
    padding-left: 0
}

.intro_text {
    font-size: 1.25em;
    line-height: 1.5em
}

.intro_text h3 {
    color: #5a5959;
    font-size: 1.5rem
}

#map_canvas {
    width: 100%;
    margin: 0 auto;
    height: 400px;
    border: 12px solid #fff;
    border-radius: 5px
}

#map_canvas,
input,
textarea {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px
}

/*.map_scroll {
    width: 45px;
    height: 400px;
    position: absolute;
    margin-top: -400px;
    right: 1rem;
    z-index: 99;
    background-image: url(/images/mapscroll.gif);
    zoom: 1;
    filter: alpha(opacity=10);
    opacity: .1;
    background-position: -5px 0
}*/

form {
    max-width: 100%
}

input,
textarea {
    width: 100%;
    height: 3rem;
    padding: .25rem .5rem;
    color: #5a5959;
    font-size: 1.25em;
    line-height: 1.5em;
    font-weight: 700;
    border: 1px solid #747272;
    border-radius: 5px
}

.box,
.error {
    color: #de4b37
}

#postcode {
    width: 10rem
}

.radio_buttons {
    display: inline-table;
    margin-bottom: 1.8rem
}

.radio_buttons input {
    height: auto;
    width: auto
}

.radio_buttons .rad_butt {
    display: inline-table-cell;
    width: 3rem;
    float: left
}

#postcode.tickon {
    background: url(../images/sprites.svg)-290px -200px no-repeat
}

textarea {
    height: 6em;
    margin-bottom: -8px;
}

label {
    display: block;
    margin-bottom: .1rem;
    padding-left: .5rem
}

.form_email {
    display: none
}

.tickon {
    background: url(../images/sprites.svg)10px -200px no-repeat
}

.tickoff {
    background: 0 0
}

.box {
    margin-bottom: 1rem;
    height: 1rem;
    font-size: .875em;
    line-height: 1.6em
}

.focus {
    border: 1px solid #5a5959
}

.complete {
    border: 1px solid #fffbf5
}

.error {
    border: 1px solid #de4b37;
    background-color: #fffcfc
}

.button,
.form_message h3 {
    color: #fff
}

.form_wrap {
    max-width: 30rem;
    margin: 0 auto
}

.form_message_wrap {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 999;
    color: #fff;
    background-color: #5a5959;
    zoom: 1;
    filter: alpha(opacity=97);
    opacity: .97;
    display: none
}

.form_message {
    position: absolute;
    top: 50%;
    width: 100%;
    height: 300px;
    margin-top: -150px;
    padding: 2em;
    text-align: center
}

.button {
    width: 100%;
    min-width: 5em;
    font-size: 1.5em;
    cursor: pointer;
    border: 1px solid #5a5959;
    background: #63d48c;
    background-image: -webkit-linear-gradient(top, #8bdfa9, #63d48c);
    background-image: -moz-linear-gradient(top, #8bdfa9, #63d48c);
    background-image: -ms-linear-gradient(top, #8bdfa9, #63d48c);
    background-image: -o-linear-gradient(top, #8bdfa9, #63d48c);
    background-image: linear-gradient(to bottom, #8bdfa9, #63d48c);
    -webkit-border-radius: 4;
    -moz-border-radius: 4;
    border-radius: 4px
}

.button:hover {
    background: #0f91e5;
    background-image: -webkit-linear-gradient(top, #3bc96f, #2da458);
    background-image: -moz-linear-gradient(top, #3bc96f, #2da458);
    background-image: -ms-linear-gradient(top, #3bc96f, #2da458);
    background-image: -o-linear-gradient(top, #3bc96f, #2da458);
    background-image: linear-gradient(to bottom, #3bc96f, #2da458)
}

.footer_widgets .widget {
    margin-bottom: 1.8rem;
    width: 100%;
    float: left;
    font-size: 1em;
    line-height: 1.7em
}

.footer_widgets .widget td {
    padding-right: 1rem
}

.footer_widgets .widget li,
.footer_widgets .widget p {
    color: #c0bfbf
}

.footer_widgets .widget a:link {
    color: #fff;
    font-weight: 700;
    margin-bottom: .9rem;
    display: block
}

.footer_widgets .widget a:visited {
    color: #c5e6fb
}

.footer_widgets .widget a:hover {
    color: #063655
}

.footer_widgets .widget a:active {
    color: #07456d
}


/*!
 * Pikaday
 * Copyright © 2014 David Bushell | BSD & MIT license | http://dbushell.com/
 */

.pika-single {
    z-index: 9999;
    display: block;
    position: relative;
    color: #333;
    background: #fff;
    border: 1px solid #ccc;
    border-bottom-color: #bbb;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif
}

.pika-single:after,
.pika-single:before {
    content: " ";
    display: table
}

.pika-single:after {
    clear: both
}

.pika-single.is-hidden {
    display: none
}

.pika-single.is-bound {
    position: absolute;
    box-shadow: 0 5px 15px -5px rgba(0, 0, 0, .5)
}

.pika-lendar {
    float: left;
    width: 240px;
    margin: 8px
}

.pika-title {
    position: relative;
    text-align: center
}

.pika-label {
    display: inline-block;
    position: relative;
    z-index: 9999;
    overflow: hidden;
    margin: 0;
    padding: 5px 3px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 700;
    background-color: #fff
}

.pika-title select {
    cursor: pointer;
    position: absolute;
    z-index: 9998;
    margin: 0;
    left: 0;
    top: 5px;
    filter: alpha(opacity=0);
    opacity: 0
}

.pika-next,
.pika-prev {
    display: block;
    cursor: pointer;
    position: relative;
    outline: 0;
    border: 0;
    padding: 0;
    width: 20px;
    height: 30px;
    text-indent: 20px;
    white-space: nowrap;
    overflow: hidden;
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 75% 75%;
    opacity: .5
}

.pika-next:hover,
.pika-prev:hover {
    opacity: 1
}

.is-rtl .pika-next,
.pika-prev {
    float: left;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==)
}

.is-rtl .pika-prev,
.pika-next {
    float: right;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=)
}

.pika-next.is-disabled,
.pika-prev.is-disabled {
    cursor: default;
    opacity: .2
}

.pika-select {
    display: inline-block
}

.pika-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 0
}

.pika-table td,
.pika-table th {
    width: 14.285714285714286%;
    padding: 0
}

.pika-table th {
    color: #999;
    font-size: 12px;
    line-height: 25px;
    font-weight: 700;
    text-align: center
}

.pika-button {
    cursor: pointer;
    display: block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    outline: 0;
    border: 0;
    margin: 0;
    width: 100%;
    padding: 5px;
    color: #666;
    font-size: 12px;
    line-height: 15px;
    text-align: right;
    background: #f5f5f5
}

.pika-week {
    font-size: 11px;
    color: #999
}

.is-today .pika-button {
    color: #3af;
    font-weight: 700
}

.is-selected .pika-button {
    color: #fff;
    font-weight: 700;
    background: #3af;
    box-shadow: inset 0 1px 3px #178fe5;
    border-radius: 3px
}

.is-inrange .pika-button {
    background: #D5E9F7
}

.is-startrange .pika-button {
    color: #fff;
    background: #6CB31D;
    box-shadow: none;
    border-radius: 3px;
}

.is-endrange .pika-button {
    color: #fff;
    background: #3af;
    box-shadow: none;
    border-radius: 3px;
}

.is-disabled .pika-button {
    pointer-events: none;
    cursor: default;
    color: #999;
    opacity: .3;
}

.pika-button:hover {
    color: #fff;
    background: #ff8000;
    box-shadow: none;
    border-radius: 3px;
}

.pika-table abbr {
    border-bottom: none;
    cursor: help;
}

@media (min-width:490px) {
    .lo_nav {
        margin-bottom: .75rem
    }
    .lo_nav li {
        float: left;
        margin-left: 1rem;
    }
    .top_contact .phone {
        font-size: 1.2rem;
        text-align: right;
    }
    .logo_wrap {
        padding-left: 7rem;
        float: left;
    }
    .cat_logo_wrap {
        position: absolute;
        top: -2rem;
        left: -1rem;
        width: 12rem;
    }
    .areas {
        -webkit-columns: 3;
        -moz-columns: 3;
        columns: 3;
    }
    .formdate_wrap {
        display: table;
    }
    .formdate_gap,
    .formdate_left,
    .formdate_right {
        display: table-cell;
    }
    
    .formdate_gap {
        width: 10%;
    }
}

@media (min-width:744px) {
    .areas,
    .columns {
        line-height: 1.6em;
    }
    html {
        font-size: 20px;
    }
    .areas,
    .columns {
        font-size: .875em
    }
    .lo_layout_block {
        padding: 2rem 3rem;
    }
    .lo_nav {
        margin-bottom: 1rem;
    }
    .logo_wrap {
        width: 100%;
        margin-top: 0;
        height: 7rem;
    }
    .cat_logo_wrap {
        top: -1.5rem
    }
    .article li {
        width: 33.33333%;
        float: left;
    }
    .article li li:nth-child(1) {
        padding: 0 1rem 0 0;
    }
    .article li li:nth-child(2) {
        padding: 0 .5rem;
    }
    .article li li:nth-child(3) {
        padding: 0 0 0 1rem;
        float: right;
    }
    .areas {
        -webkit-columns: 5;
        -moz-columns: 5;
        columns: 5
    }
    .intro_text h3 {
        font-size: 1.75rem
    }
    .map_scroll {
        display: none;
    }
    #postcode.tickon {
        background-position: -260px -200px;
    }
    textarea {
        margin-bottom: -4px;
    }
    .tickon {
        background-position: 140px -200px;
    }
    .footer_widgets .widget {
        margin-bottom: 0;
        width: 33.3333%
    }
}

.border {
    /*style kludge so that date inputs look like other inputs. class 'complete' removes the border but is also used in form validation. Date inputs are always 'complete' (i.e they're optional) so border is removed whereas it is only removed on completion in other inputs.*/
    border: 1px solid #747272;
}