@charset "utf-8";

body,
html {
  height: 100%;
}

.clear,
.content-wrapper {
    clear: both;
}

header,
footer-nav,
footer,
article,
section,
hgroup,
aside {
    display: block;
}

img {
    border: none;
    line-height: 0%;
}

hr {
    width:100%;
    background-color:#333;
    border:none;
    height:1px;
    margin:30px 0 30px;
}

/* TAGS */

body {
    font-size: 100%;
    color: #333;
    margin: 0;
    font-family: 'Outfit', sans-serif;
    min-width: 300px;
    font-weight: 500;
}

input, select, textarea {
    color: #333;
    font-family: 'Montserrat', sans-serif;
    font-size:1em;
    border-radius:3px;
}

.hide
{
    display:none;
}

a {
     transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    text-decoration: none;
    color: #2aa8cf;
}

a:hover {
    color: #98ce47;
}

.panel.pagecontent a {
    text-decoration:underline;
}

.panel.pagecontent img {
    max-width:100%;
    height:auto;
}

p {
    margin:0 0 20px 0;
    line-height:1.4em;
}

.pagecontent p {
    line-height:1.7em;
}

.content-wrapper p strong, .content-wrapper li strong {
    font-weight:800;
}

h1,h2,h3,strong {
    color:#333;
}

h1,h2,h3 {
    margin: 0 0 20px 0;
    clear:both;
    font-weight:900;
}

h1 {
    font-size: 2.2em;
    text-transform:uppercase;
}

h2 {
    font-size: 1.7em;
    text-transform:uppercase;
}

h3 {
    font-size: 1.2em;
}

ul {
    padding: 0px;
    margin: 0 0 10px 18px;
}

/*
.panel>h1 { 
    margin: 0 0 30px 0;
    text-align:center;
}
*/

.buttonwrap {
    padding:15px 0;
}

a.button {
    padding: 8px 15px;
    background-color:#f8cf55;
    border-radius: 5px;
    color:#333;
    text-transform: uppercase;
    text-align: center;
    text-decoration:none;
    font-size: 15px;
    letter-spacing:0.05em;
    font-weight: 600!important;
}

a.button i {
    font-size: 0.9em;
}

a.button:hover {
    background-color:#333;
    color:#2aa8cf!important;
}

.line {
    clear: both;
    width: 960px;
    margin-right: auto;
    margin-left: auto;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #cdcdcd;
    margin-bottom: 20px;
    padding-top: 15px;
}

#home .line {
    display:none;
}

.pop-up {
    display: none;
    width: 650px;
    padding: 15px 30px;
}


/* PANEL CSS */

.panel {
    width: 100%;
    clear: both;
    margin:0 auto;
}

.panel.grey {
    background-color:#f6f6f6;
}

.panel.pad {
    padding:70px 0 50px 0;
}

.panel.pagecontent .content-wrapper {
    text-align:left;
    padding:30px 0 50px;
}

/* END PANEL CSS */


/* CONTENT WRAPPER */

.content-wrapper {
    max-width: 1140px;
    width:100%;
    margin: 0 auto;
    text-align:center;
    box-sizing: border-box;
}

@media screen and (max-width: 1140px) {
    .content-wrapper {
        padding: 0 10px;
    }
}
/* END CONTENT WRAPPER */


/* HEADER */

header {
    width: 100%;
    font-weight: bold;
}

@media screen and (max-width: 320px) {
    header {
        font-size: 0.95em;
    }
}

header .content-wrapper#logo-contact-guarantee {
    padding: 15px 10px;
}

/*
#headwrap {
    width: 100%;
    clear: both;
    margin: 0 auto;

}
*/

.pages header {
    position:relative;
    box-shadow:none;
}

header #logo {
    float: left;
    max-width: 220px;
    margin-top: 3px;
}

/*
@media screen and (max-width: 880px) {
    header #logo {
        margin-top:7px;
    }
}
*/

header #logo img {
    width:100%;
    height:auto;
}

header #telephone-get-quote {
    float: right;
    text-align: right;
    box-sizing: border-box;
    line-height: 1.2em;
    font-weight: 700;
}

header #telephone-get-quote span {
    display:block;
    float: right;
    text-align: right;
    line-height: 1.2em;
}

header #telephone-get-quote span strong {
    font-size: 1.3em;
}

header #telephone-get-quote span strong em {
    font-style: normal;
}

header #telephone-get-quote a  {
    color:#333;
}

header #telephone-get-quote a#get-quote  {
    float: right;
    clear: both;
    margin-top: 13px;
}

header #telephone-get-quote a#email {
    color:#2aa8cf;
}

@media screen and (max-width: 430px) {

    header #telephone-get-quote span strong em {
        display: none;
    }

    header #telephone-get-quote a#email {
        display: none;
    }

    header #logo {
        max-width: 180px;
    }

    header #telephone-get-quote {
        margin-top: 4px;
    }

    header #telephone-get-quote a#get-quote  {
        margin-top: 9px;
        text-transform: none;
    }
}

@media screen and (max-width: 355px) {

    header #logo {
        max-width: 150px;
    }

    header #telephone-get-quote {
        margin-top: 1px;
    }

    header #telephone-get-quote span strong {
        font-size: 1.1em;
    }

    header #telephone-get-quote a#get-quote i {
        display: none;
    }

    header #telephone-get-quote a#get-quote  {
        margin-top: 4px;
    }
}

header a#ten-year-guarantee {
    position: absolute;
    left: calc(50% - 70px);
    margin: 2px 0 0 35px;
    color: #333;
}

header a#ten-year-guarantee:hover {
    color: #2aa8cf;
}

header a#ten-year-guarantee span {
    width: 120px;
    height: 70px;
    background-color:#f8cf55;
    display:block;
    float:left;
    box-sizing:border-box;
    text-align:center;
    font-size: 0.85em;
    text-transform:uppercase;
    line-height: 1.2em;
    padding-top: 7px;
}

header a#ten-year-guarantee:hover span {
    background-color:#333;
}

header #ten-year-guarantee span em {
    display:block;
    background-color:#333;
    color:#fff;
    font-style:normal;
    margin-top: 7px;
    font-weight:300;
    font-size:0.9em;
    padding:3px 0;
}

/*
@media screen and (max-width: 820px) {
    header #telhead span:nth-child(1) {
        width:290px;
    }

    header #telhead span:nth-child(2) {
        width:115px;
    }    
}

@media screen and (max-width: 750px) {
    header #telhead span:nth-child(1) {
        display:none;
    }

    header #logo {
        margin-left:2%;
        width:calc(96% - 125px);
        max-width:252px;
        margin-top:12px;
    }

    header #telhead span:nth-child(2) {
        width:115px;
    }    
}
*/

@media screen and (max-width: 630px) {

    header {
        padding-top: 25px;
    }

    header a#ten-year-guarantee {
        position: absolute;
        left: 0;
        margin: 0;
        top: 0;
        width: 100%;
        font-size: 1em;
    }

    header a#ten-year-guarantee span {
        width: calc(100% - 90px);
        height: auto;
        text-align:right;
        padding: 5px 10px 5px 0;
        display: block;
        float: left;
    }

    header #ten-year-guarantee span em {
        margin: 0;
        padding: 5px 0;
        width: 90px;
        position: absolute;
        top: 0;
        right: 0;
        text-align: center;
    }
}

@media screen and (max-width: 320px) {

    header a#ten-year-guarantee span {
        width: calc(100% - 85px);
    }

    header #ten-year-guarantee span em {
        width: 85px;
    }
}

/*
@media screen and (max-width: 400px) {
    header #logo {
        margin-top:17px;
    }
}
*/

/* END HEADER */




/* BOXED LINK */

a.borderbox
{
    text-align:center;
    border: 1px solid #666;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding:10px 30px;
    text-decoration:none;
    clear:both;
    font-size:1.2em;
}

/* END BOXED LINK */




/* HOME BANNER */

.bannerwrap {
    width:100%;
    aspect-ratio: 18 / 5;
}

.bannerbg {
    width:100%;
    aspect-ratio: 18 / 5;
    font-weight:700;
    position:absolute;
    box-sizing:border-box;
    padding:0;
    overflow:hidden;
    display:none;
}

.bannerbg:nth-child(4)
{
    display:block;
}

.bannerbg img {
    width:100%;
    height:auto;
    position:absolute;
    z-index:-1;
}

.bannerbg .tbl {
    width:100%;
    aspect-ratio: 18 / 5;
    display:table;
    margin:0 auto;
}

.bannerbg .cellwrap {
    display:table-cell;
    vertical-align:middle;
    width:100%;
}

.bannerbg .cell {
    box-sizing:border-box;
    width:100%;
    max-width:1140px;
    margin:0 auto;
    z-index:1;
}

.bannerbg .cell .boxwrap {
    max-width:500px;
    width:96%;
    padding:2%;
    background-image: url(/images/whitebg.png);
}

@media screen and (max-width: 1140px) {

    .bannerbg .cellwrap {
        width:98%;
        padding:0 1%;
    }

    .bannerwrap,.bannerbg,.bannerbg .tbl {
        aspect-ratio: 18 / 7;
    }
}

@media screen and (max-width: 960px) {

    .bannerwrap,.bannerbg,.bannerbg .tbl {
        aspect-ratio: 18 / 9;
    }

    .bannerbg img {
        width:auto;
        height:100%;
    }
}

@media screen and (max-width: 500px) {

    .bannerwrap,
    .bannerbg,
    .bannerbg .tbl {
        aspect-ratio: 18 / 14;
    }
    .bannerbg .cell {
        font-size:0.8em;
    }
    .bannerbg .cell .boxwrap {
        width:92%;
        padding:4%;
    }
}

.bannerbg .cell .boxwrap p {
    font-size:1.8em;
    margin: 0 0 10px 0;
    font-weight:400;
}

.bannerbg .cell .boxwrap p:nth-child(1) {
    margin: 0;
}

.bannerbg .cell .boxwrap strong a {
    color:#333;
    font-size:1.6em;
    font-weight:800;
    text-transform:uppercase;
}

.banner-bottom {
    width:100%;
    background-color:#333;
    text-align:center;
    color:#FFF;
    font-size:1.6em;
    padding:20px 0;
    font-weight:400;
    clear:both;
}

/*
@media screen and (max-width: 500px)
{
.bannerbg .cell {
    padding-top:25%;
    font-size:0.8em;
}
.banner-bottom {
    font-size:1.2em;
    padding:10px 0;
}
}
*/

/* BREADCRUMBS */

.panel#breadcrumbs {
    background-repeat:none;
    background-size:cover;
    background-position:right center;
    margin-bottom:0;
}

#breadcrumbs .content-wrapper
{
    text-align:left;
    padding:30px 0 50px;
    border-bottom:solid 1px #333;
}

#breadcrumbs ul {
    width:100%;
    font-size: 0.9em;
    margin: 0;
    color:#333;
}

#breadcrumbs ul li {
    float:left;
    list-style-type:none;
    padding: 0;
}

#breadcrumbs ul li a {
    color:#2aa8cf;
}

#breadcrumbs ul i {
    padding: 0 13px 0 15px;
}

#breadcrumbs ul li.home {
    background:none;
    padding-left: 0;
}

/* END BREADCRUMBS */


/* SERVICES PANEL */

.panel.services {
    padding: 60px 0 40px;
    margin:0;
    text-align:center!important;
}

.panel.services span.circle {
    width:228px;
    height:228px;
    display:block;
    margin:20px auto;
    border-radius:100%;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}

.panel.services .box p {
    margin:0 auto 13px auto;
    max-width:300px;
}

.panel.services .box h3>a {
    color:#333;
    font-size:1.3em;
    margin-top:15px;
}

.panel.services .box p.descwrap {
    height:67px;
    overflow:hidden;
}

/* END SERVICES PANEL */



/* WHY CHOOSE */

.whychoose {
    padding:60px 0 10px;
}

.whychoose i {
    color:#2aa8cf;
    font-size: 5.2em;
    margin-bottom: 10px;
}

.panel.whychoose .box h3 {
    margin-bottom: 10px;
}

.panel.whychoose .box h3>a {
    color:#333;
    font-size:1.3em;
    margin-top:15px;
}

.panel.whychoose .box p {
    margin:0 auto 10px auto;
    max-width:300px;
}

.panel.whychoose .box {
    margin-bottom:40px!important;
}

/* END WHY CHOOSE */


/* START TP BANNER */

.panel.ratedpeople {
    padding:20px 0 40px 0;
    text-align:center;
}

.content-wrapper#ratedpeople .threecol {
    font-size:1.1em;
}

#ratedpeople i {
    background-color:#84b818;
    color:#fff;
    padding:5px 4px 4px 4px;
    border-radius:2px;
    margin:0 2px 0 0;
    font-size:1.1em;
}

.panel.ratedpeople .threecol .box, span#ratedpeople {
    margin-bottom:50px!important;
    background-color:#211c23;
    border-top:solid 7px #84b818;
    padding:30px 2% 1% 2%;
    box-sizing:border-box;
    display:block;
}

#ratedpeople .box {
    margin-bottom:25px;
}

#ratedpeople p {
    color:#84b818;
    line-height:1.5em;
}

#ratedpeople p strong {
    font-weight:300;
    font-size:1.3em;
    color:#fff;
    font-style:italic;
}

#ratedpeople p em {
    font-style:normal;
    font-size:0.9em;
}

@media screen and (max-width: 500px)
{
#ratedpeople p:nth-child(2) {
    height:auto;
    overflow:visible;
}
}

/* END TP BANNER */


/* START ACCREDITATIONS */

.panel.accreditations{padding:25px 0 25px 0;background-color:#fff}
.panel.accreditations h3{font-size:.7em;font-weight:300;margin:0 0 10px;padding:0;color:#B5B5B5;text-transform:uppercase}
.panel.accreditations a{display:block}
.panel.accreditations .sevencol{display:table;height:100%}
.panel.accreditations .sevencol .box{display:table-cell;align:center;vertical-align:middle;height:100%;float:none;padding:0 10px;
    box-sizing:border-box;width:15.2%}
.panel.accreditations .sevencol .box:nth-child(4){width:12%}
.panel.accreditations .sevencol .box:nth-child(6){width:12%}
.panel.accreditations .sevencol .box img{max-width:80%;height:auto;-webkit-filter:grayscale(100%);filter:grayscale(100%)}
.panel.accreditations .sevencol img:hover{-webkit-filter:none;filter:none}

@media screen and (max-width:800px) { 
    .panel.accreditations .sevencol .box{padding:0 10px}
}

@media screen and (max-width:500px) { 
    .panel.accreditations .sevencol .box{padding:0}
}

/* END ACCREDITATIONS */

.sticky {
    max-width:290px;
    position:fixed;
    top:10px;
}


iframe
{
width:100%;    
}

#noresults {
    text-align:center;
    margin-bottom:60px;
    display:none;
}

/* CONTENT */

panel .content-wrapper img.imgleft {
    float:left;
    margin:0 2% 0 0;
}

.panel .content-wrapper img.imgright {
    float:right;
    margin:0 0 0 2%;
}

#gallery {
    width:100%;
    height:auto;
}

/* END CONTENT */


/* SERVICE LINKS */

ul#servicelinks {
    margin:0;
    padding:0;
    list-style:none;
}

ul#servicelinks li {
    width:100%;
}

ul#servicelinks li a {
    width:88%;
    padding:15px 6%;
    text-decoration:none;
    background-color:#333;
    display:block;
    font-weight:700;
    text-transform:uppercase;
    font-size:1.2em;
    letter-spacing:0.02em;
    border-bottom:solid 1px #fff;
    color: #fff;
}

ul#servicelinks li:last-of-type a {
    border-bottom:none;
}

ul#servicelinks li a:hover,ul#servicelinks li a.active {
    background-color:#f8cf55;
    color:#333;
}


/* END SERVICE LINKS */


/* ABOUT US CONTENT */

.about p {
    font-size:1.3em;
}

/* ABOUT US CONTENT */


/* FOOTER */

footer {
    width:100%;
    background-color: #333;
    color: #fff;
    clear: both;
    margin:0 auto;
    padding:0 0 20px 0;
    font-weight:300;
}

footer .box {
    text-align:left;
}

footer p {
    margin-bottom:10px;
}

footer p strong {
    text-transform:uppercase;
    color:#fff;
    font-weight:800!important;
    width:100%;
    display:block;
    padding:25px 0 15px 0;
    font-size:1.2em;
}


footer a {
    color: #fff!important;
    text-decoration:none;
}

footer ul {
    margin:15px 0 0 0;
    padding: 0;
}

footer ul li {
    margin:0 0 5px 0;
    padding:0;
    list-style:none;
}

footer .box.social a {
    background-color:#3a6284;
    width:37px;
    height:33px;
    padding-top:4px;
    display:block;
    font-size:1.5em;
    text-align:center;
    float:left;
    margin:5px 5px 0 0;
    border-radius:20px;
}

footer .box.social a:hover {
    background-color:#f6a548;
    color:#FFF;
}


footer .box p em {
    display:block;
    width:25%;
    float:left;
    font-style:normal;
}

footer .box p span {
    display:block;
    width:75%;
    float:right;
}

footer p#wbd
{
    font-size:0.8em;
    clear:both;
    padding-top:15px;
}

footer #wbd a
{
    text-decoration:underline;
}

footer #wbd a:hover
{
    text-decoration:none;
}


@media screen and (max-width: 800px) {
    
    footer .box p em {
        display:none;
    }

    footer .box p span {
        width:100%;
        float:left;
    }
}

a#top {
    display: block;
    width: 100%;
    clear:both;
    height: 35px;
    overflow:hidden;
    clear:both;
    border-bottom-width: 10px;
    border-bottom-style: solid;
    border-bottom-color: #2aa8cf;
     transition: none;
    -moz-transition: none;
    -webkit-transition: none;
    -o-transition: none;
    font-size:0.9em;
    background-color:#333;
}

a#top:hover  {
    border-bottom-color: #fff;
}

a#top:hover em  {
    background-color:#fff;
    color:#2aa8cf;
}

a#top em {
    display:block;
    width: 100px;
    height:100px;
    padding-top:8px;
    background-color:#2aa8cf;    
    margin: 5px auto 0 auto;
    border-radius: 100px;
    font-style: normal;
    text-align:center;
    font-size: 1.15em;
    text-transform: uppercase;
    color: #fff;
    font-weight:500;
}

/* END FOOTER */



