/*
Author: Paul Davey
Author URI: http://pixelsharp.co.uk
Description: Castle Care Styles
Version: 1.0.0
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Global
# Sections
# Typography
# Icons
# Forms
# Clearings
# Content
--------------------------------------------------------------
        ## Header / Nav
        ## Homepage
	    ## About
	    ## Services
        ## Contact
        ## Footer

--------------------------------------------------------------
# Global
Colour Palette: color: #ffffff
                color: #ffffff
                color: #ffffff
                color: #ffffff
                color: #ffffff
                color: #ffffff
                color: #ffffff
--------------------------------------------------------------*/
html {
    height: 100%;
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    position: relative;
}
a {
    text-decoration: none;
    color: #888;
}
a:hover {
    color: #c21020;
}
a.dotted{
    border-bottom: 1px dotted #999;
}
a:hover,
a:active,
a:focus{
    outline: 0;
}
b{
    font-weight: 600;
}
.hide{
    display: none;
}
ul.bullets {
    margin: 0.75em 0;
    padding-left: 1em;
    list-style: none;
}
ul.bullets li {
}
ul.bullets li:before {
    position: relative;
    content: '\25A0';
    color: #c21020;
    left: -1em;
    top: -0.15em;
    font-size: 0.8em;
}
img.u-pull-right{
    margin-left: 1.8rem;
}
svg{
    color: #c21020;
    fill: currentColor;
}
.container{
    max-width: 1100px;
    margin: 0 auto;
    padding: 0px 15px;
}
.container.flex:after{
    display: none;
}
.full-width {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

/*----- general responsive -----*/

@media screen and (min-width: 600px){
    ul.bullets {
    list-style: none;
    /* padding:0; */
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    width: 100%;
}
}
@media screen and (min-width: 800px){
    ul.bullets {
    width: 75%;
}
}
@media screen and (min-width: 900px){

}

/*--------------------------------------------------------------
# Articles and Sections - General
--------------------------------------------------------------*/

section.container{
    margin-top: 35px;
}
section.grey{
    padding: 5rem 0 0;
    margin-top: 2rem;
    width: 100%;
    background: #f2f2f2;
}
section h2{
    border-bottom: solid 1px #ebebeb;
    font-size: 2rem;
    font-weight: 700;
    padding-bottom: 11px;
    margin-bottom: 0;
    position: relative;
    letter-spacing: -0.5px;
    margin-bottom: 5rem;
}
section.grey h2{
    border-bottom: solid 1px #d1d1d1;
}
section h2:after{
    content:"";
    position: absolute;
    left: 0;
    bottom: -1px;
    display: block;
    width: 30px;
    height: 3px;
    background-color: #c21020;
}
article.page{
    margin-bottom: 4rem;
}

section p, article p, ul.bullets li{
    color: #888;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.5;
}

#title-bar > div{
    display:flex;
    justify-content: space-between;
    align-items: center;
}
#title-bar h2{
    font-size: 1.9rem;
    font-weight: 700;
    display: inline;
    margin-bottom: 0;
    padding: 6px 0;
}
#title-phone{
    display: none;
}
#title-phone h6{
    font-weight: 600;
    display: block;
    margin: 0;
    font-family: 'source sans pro', sans-serif;
    font-size: 1.4rem;
    text-transform: none;
}
#title-phone span{
    display: block;
    margin-top: -3px;
}


@media (min-width: 380px){
#title-phone{
    display:inline-block;
    text-align: right;
    margin: 5px 0;
}
#title-bar h2{font-size: 2.5rem;}
}
@media (min-width: 500px){
section.container{margin-top: 65px;}
section h2{font-size: 2.5rem; margin-bottom: 5rem;}
}    


/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
h3{
    font-size: 1.35rem;
    font-weight: 700;    
    letter-spacing: -0.5px;
    text-transform:uppercase;
}
h6{
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 0;
    letter-spacing: -0.1px;
    text-transform:uppercase;
}
.line-under{
    border-bottom: solid 1px #ebebeb;
    position: relative;
    padding-bottom: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}   
.line-under::after{
    content:"";
    position: absolute;
    left: 0;
    bottom: -1px;
    display: block;
    width: 30px;
    height: 3px;
    background-color: #c21020;
}
@media (min-width: 500px){
    h3{font-size: 1.44rem;}
}

/*--------------------------------------------------------------
# icons
--------------------------------------------------------------*/
.icon-graduation-cap{
    fill: #8ab2c7;
}

/*--------------------------------------------------------------
# Comments
--------------------------------------------------------------*/
.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/

#page-content{
    margin-top: 75px;
}
@media (min-width: 400px){ #page-content{margin-top: 90px;}}
/*--------------------------------------------------------------
## Header / Nav
--------------------------------------------------------------*/
#site-header{
    position: fixed;
    background: #ffffff;
    z-index: 1000;
    /* border-bottom: solid #8c8c8c 1px; */
    width: 100%;
}
#site-navigation{
    display: flex;
    align-items: center;
    height: 75px;
}

@media (min-width: 400px){
#site-navigation{
    height: 90px;
}
}
figure.logo{
    display: flex;
    width: 190px;
    margin: 0 1rem 0 0;
}
@media (min-width: 400px){ figure.logo{width: 220px;}}
@media (min-width: 500px){ figure.logo{width: 240px;}}
@media (min-width: 750px){ figure.logo{width: 280px;}}

a.mob-menu{
    margin: 0 0 0 auto;
    display: flex;
}
a.mob-menu svg{
    width: 54px;
    height: 49px;
    padding: 15px;
    margin-right: -15px;
}
@media (min-width: 900px){
    figure.logo{ margin-right: 4rem;}
}
@media (min-width: 1100px){
    figure.logo{margin-right: 12rem;}
}
figure.logo svg{
    width: 400px;
    height: 86px;
}

ul.nav-menu {
    position: absolute;
    right: -12.1rem;
    list-style: none;
    top: 77px;
    transition: right 0.15s linear;
}
ul.nav-menu.slide-in{
    right: 0rem;
}
ul.nav-menu li{
    background-color: #c21020;
    padding-left: 4rem;
    transition: background-color 0.1s linear;
    border-top: 1px solid;
    border-color: #fff;
    margin: 0;
}
ul.nav-menu li:first-child{
    border-top: none;
}
ul.nav-menu li:hover{
    background-color: #e11629;
}
ul.nav-menu li:last-child {
    border-bottom-left-radius: 3px;
}
ul.nav-menu li a{
    display: block;
    font-family: 'Raleway', 'HelveticaNeue', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    line-height: 40px;
    letter-spacing: 0.3px;
    padding-right: 21px;
    font-size: 1.2rem;
    text-align: right;
    color: #fff;
}
ul.nav-menu li.active{
    background: #9f0000;
}


@media (min-width: 750px){
a.mob-menu{
    display: none;
}    
ul.nav-menu{
    position: static;
    margin: 0;
    display: flex;
    flex-grow: 1;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}
ul.nav-menu li{
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    width: 19%;
    background: none;
    padding: 0;
    border: none;
}
ul.nav-menu li:before{
    position:absolute;
    content: "";
    display: block;
    bottom: 25px;
    left:0;
    background: #dadada;
    width: 100%;
    height: 2px;
}
ul.nav-menu li.active:before{
    background: #c21020;
}
ul.nav-menu li a{font-weight: 600;color: #3c3c3c;width: 100%;line-height: 90px;text-align: center;z-index: 0;padding: 0;}
ul.nav-menu li.active{
    background: #f3f3f3;
}
ul.nav-menu li:last-child {
    border-radius: 0;
}
ul.nav-menu li:hover:not(.active){
    background-color: transparent;
}
}

@media (min-width: 900px){ul.nav-menu li a{ font-size: 1.30rem;}}
@media (min-width: 1100px){ul.nav-menu li a{ font-size: 1.35rem;}}


/*--------------------------------------------------------------
## HomePage
--------------------------------------------------------------*/

#hero-box-pos{
    position: relative;
    margin-bottom: 1rem;
}
#hero-box{
    position: relative;
    color: #484848;
    font-family: montserrat, sans-serif;
    padding-top: 3px;
    width: 100%;
}
#hero-box h2{
    font-weight: 700;
    font-size: 1.6rem;
    margin-bottom: 0.8rem;
    border-top: solid 1px #959595;
    padding-top: 3px;
    position: relative;
}
#hero-box h2:after{
    content:"";
    position: absolute;
    left: 0;
    top: -3px;
    display: block;
    width: 30px;
    height: 3px;
    background-color: #c21020;
}
#hero-box h4{
    font-weight: 400;
    font-size: 1.2rem;
    font-style: italic;
    letter-spacing: -0.3px;
    margin-bottom: 0;
}
#hero-box span{
    font-weight: 400;
    font-size: 1.7rem;
    font-style: italic;
    float: right;
    margin-top: 1rem;
}
@media (max-width: 340px){#hero-box span{margin-top: 0}} 

/******* start responsive ***********/
@media (min-width: 450px){
#hero-box-pos {
    margin-bottom: 2rem;
}
#hero-box h2{
    font-size: 2.1rem;
}
#hero-box span{
    font-size: 1.7rem;
    line-height: 1.5rem;
}
#hero-box h4{
    font-size: 1.4rem;
}
}

@media (min-width: 750px){
#hero-box-pos{
    margin-bottom: 0;
}
#hero-box{
    position: absolute;
    top: 44px;
    left: -10px;
    padding: 25px;
    background-color: rgba(0, 0, 0, 0.6);
    color: #ffffff;
    width: auto;
}
#hero-box h2{
    font-weight: 700;
    font-size: 3.1rem;
    margin-bottom: 0.8rem;
}
#hero-box span{
    font-size: 2.1rem;
    margin-top: 3.2rem;
    line-height: 1.5rem;
}
#hero-box h4{
    font-size: 1.7rem;
}
}


/******* end responsive ***********/

#hero-image img{
    width: 100%;
    display: block;
}
#hero-bar, #title-bar{
    width: 100%;
    background-color: #c21020;
    color: #fff;
}
#hero-bar ul {
    display: flex;
    list-style: none;
    align-items: flex-start;
    flex-direction: column;
}
#hero-bar li {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 12px 0;
}
#hero-bar span a{
    color: #fff;
}
/******* start responsive ***********/

@media (max-width: 749px){
    #hero-bar li:nth-child(2), #hero-bar li:nth-child(3) {
    display: none;}
}
#hero-bar div{
    margin-left: 2rem;
}
@media (min-width: 400px){ #hero-bar div{margin-left: 2.5rem;}}   
#hero-bar svg{
    width: 25px;
    height: 24px;
    color: #fff;
}
#hero-bar h6{
    font-size: 1.4rem;
    font-weight: 600;
    display: block;
    margin: 0;
    font-family: 'source sans pro', sans-serif;
    letter-spacing: .3px;
    line-height: 1.7rem;
    text-transform: none;
}
#hero-bar span{
    font-size: 1.5rem;
    line-height: 1.7rem;
    color: #fff;
}

@media (min-width: 750px){
#hero-image img{
    min-height: 400px;
    max-height: 500px;
    object-fit: cover;
}    
#hero-bar ul {
    flex-direction: row;
    width: 100%;
    justify-content: space-around;
    align-items: center;
}
#hero-bar div{
    margin-left: 2rem;
}
#hero-bar svg{
    width: 30px;
    height: 50px;
}
#hero-bar h6{
    font-size: 1.40rem;
    line-height: 2rem;
    letter-spacing: 1.1px;
}
#hero-bar span{
    font-size: 1.7rem;
    line-height: 1.8rem;
}
}
@media (min-width: 900px){
#hero-bar ul {width: 90%;justify-content: space-between;}
}

/******* end responsive ***********/

#hl-boxes{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 0;
    margin-right: -15px;
}
#hl-boxes li{
    width: 100%;
    display: flex;
    position: relative;
}
#hl-boxes svg{
    position: absolute;
    left: 0;
    top: 0;
}
#hl-boxes #icon1{width: 35px;height: 45px;}
#hl-boxes #icon2{width: 35px;height: 35px;}
#hl-boxes #icon3{width: 39px;height: 35px;}
#hl-boxes #icon4{width: 39px;height: 21px;}
#hl-boxes #icon5{width: 32px;height: 33px;}
#hl-boxes #icon6{width: 34px;height: 33px;}

#hl-boxes div{
    margin-left: 4rem;
    -ms-flex: 0 1 auto;
    padding: 0 1.5rem;
}
#hl-boxes h3{
    margin-bottom: 1rem;
}

/******* start responsive ***********/

@media (min-width: 500px){
#hl-boxes li{
    width: 50%;
    display: flex;
    position: relative;
}
}
@media (min-width: 900px){
#hl-boxes li{
    width: 30%;
    display: flex;
    position: relative;
}
#hl-boxes #icon1{ width: 40px; height: 51px;}
#hl-boxes #icon2{ width: 40px; height: 40px;}
#hl-boxes #icon3{ width: 44px; height: 40px;}
#hl-boxes #icon4{ width: 44px; height: 25px;}
#hl-boxes #icon5{ width: 37px; height: 38px;}
#hl-boxes #icon6{ width: 39px; height: 38px;}
#hl-boxes div{
    margin-left: 5rem;
}
}

/******* end responsive ***********/
#services-container{
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#services-panel1, #services-panel2, #services-panel3{
    width: 100%;
}
.services-panel{
    margin-bottom: 3rem;
}
.services-panel h3{
    margin: 25px 0 15px;
}
.services-panel img{
    width: 100%;
    background: #efefef;
    border-radius: 2px;
}
.services-panel p{margin-bottom: 4.5px;}
a.readmore{
    display: inline-block;
    margin: 4.5px 0 10.5px;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    color: #c21020;
    font-weight: 700;
    font-size: 14px;
    transition: color 0.1s ease-in-out;
}
a.readmore:hover{
    color: #ff0000;
}

.services-subpanel{
    width: 100%;
    margin-bottom: 3rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
#services-subpanel4{
    margin-bottom: 0;
}
#services .services-subpanel img{
    width: 100px;
    display: block;
    object-fit: contain;
}
.services-subpanel > div{
    width: calc(100% - 120px);
}
.services-subpanel h3{
    margin: 0 0 10.5px;
}
.services-subpanel p{
    margin: 0;
}

/******* start responsive ***********/

@media (min-width: 600px){
#services-panel1, #services-panel2 {width: 47%;}
#services-panel3 {
    width: 100%;
}
.services-subpanel {
    width: 47%;
}
#services-panel3{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
}
@media (min-width: 900px){
#services-panel1, #services-panel2, #services-panel3{
    width: 32%;
}
.services-subpanel {
    width: 100%;
}
}

/******* end responsive ***********/


#partners ul{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 4.5rem;
}
#partners li{
    margin: 1rem 2rem;
    padding: 7px 12px 0;
    border: solid 1px #d8d8d8;
    border-radius: 3px;
}
#partners li svg{
    color: #222;
    width: 12rem;
    height: 6rem;
}

/*--------------------------------------------------------------
## About Us / Brochures
--------------------------------------------------------------*/

#about{
    margin-bottom: 5rem;
}
#about-txt p{
    color: #505050;
    font-size: 1.4rem;
}
#about-txt p b {
    font-size: 1.66rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}
#about p.signature {
    position: relative;
    font-size: 1.66rem;
    padding-top: 7rem;
}
#about p.signature::after{
    position: absolute;
    content:"";
    display: block;
    top: 0;
    left: 0;
    width: 12rem;
    height: 6rem;
    background-image: url('../images/signature.png');
}
#van{
    float: left;
    padding: 0 0 3rem 0;
    width: 100%;
    max-width: 37rem;
}
#van~p{
    clear: left;
}

@media (min-width: 620px){
#van{
    float: right;
    padding: 0 0 4rem 4rem;
    max-width: 38%;
    min-width: 37rem;
    margin-top: 6px;
}
#about-txt p{
    font-size: 1.5rem;
}
}
#downloads{
    margin-bottom: 6rem;
}
#downloads h3{
    margin-bottom: 3rem;
}
#downloads h5{
    font-size:1.4rem;
    font-style: italic;
    margin-top: 2rem;
}
#downloads p{
    margin: 0 0 0 2rem;
    color: #c21020 !important;
}
#downloads p a{
    color:#c21020;
}

/*--------------------------------------------------------------
## Services
--------------------------------------------------------------*/

#service h3.line-under{
    padding-bottom: 8px;
    margin-bottom: 3rem;
}
#service img{
    display: inline-block;
    width: 100%;
    max-width: 30rem;
    vertical-align: top;
    margin-bottom: 2rem;
}
#service .txt{
    display: inline-block;
    width: 100%;
    margin-bottom: 4rem;
}
@media (min-width: 700px){
   #service img{
    width: 30%;
    margin-bottom: 8rem;
}
#service .txt{
    width: 69%;
    padding-left: 5rem;
    margin-top: -6px;
}
}

/*--------------------------------------------------------------
## Quotes / Checkatrade
--------------------------------------------------------------*/

#test-container{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.test-panel{
    width: 100%;
    margin-bottom: 8rem;
}
#quote-container{
    list-style: none;
}
#quote-container li{
    margin: 0;  
}
#quote-container li span, #quote-container li.fadeout cite{
    transition: opacity 0.750s;    
}
#quote-container li.fadeout span, #quote-container li.fadeout cite{
    opacity: 0; 
}

#quote-container li blockquote{
    position: relative;
    padding: 2.5rem 2.5rem 2.5rem 5.5rem;
    font-size: 1.7rem;
    margin: 0 0 3rem;
    font-style: italic;
    color: #666;
    background-color: #fff;
}
#quote-container li blockquote::before{
    position: absolute;
    content: '“';
    top: 30px;
    left: 0;
    background: #bbb;
    color: #fff;
    width: 30px;
    height: 30px;
    font-size: 45px;
    line-height: 50px;
}
#quote-container li blockquote::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 20px 0 0;
    border-color: #fff transparent transparent transparent;
    bottom: -20px;
    left: 30px;
}
#quote-container .quote-btn{
    display: inline-block;
    float: right;
    margin-left: 3px;
    margin-top: -8px;
    border: 2px solid #ddd;
    border-radius: 2px;
    height: 45px;
    width: 45px;
    text-align: center;
    color: #999;
    transition: all 200ms ease-out;
}
#quote-container .quote-btn.hov{
    background-color: transparent;
    border-color: #adadad;
    color: #333;
}
#quote-container .quote-btn svg{
    width: 11px;
    height: 41px;
    color: #999;
    transition: all 200ms ease-out;
}
#quote-container li .carousel:hover svg{
    color: #333;
}
.test-panel svg.stars{
    display: block;
    width:75px;
    height:15px;
}
cite.test-author{
    display: inline-block;
    font-size: 1.4rem;
    letter-spacing: -0.5px;
    font-weight: 700;
    font-style: normal;
    font-family: 'Montserrat', sans-serif;
}


/******* checkatrade ***********/

#checkatrade table{
    border-collapse:separate;
    border-spacing: 9px;
    margin-bottom: 0;
    width: 100%;
    background-color: #fff;
    padding: 0.5rem;
}
#checkatrade td{
    padding: 0;
    border: 0;
}
#checkatrade .bar{
    position: relative;
    background-color: pink;
    color: #fff;
    margin-bottom: 1.3rem;
    font-size: 1.4rem;
    width: 100%;
    height: 3.3rem;
}
#checkatrade .bar:last-child{
    margin-bottom: 0;
}
#checkatrade .bar span{
    position: absolute;
    display: block;
    content: "";
    left: 0;
    top: 0;
    width: 96%;
    line-height: 3.3rem;
    background-color: #c21020;
    color: #fff;
    padding: 0 0 0 4rem;
}
#checkatrade tr:nth-child(2) span{
    width: 93%;
}
#checkatrade tr:nth-child(3) span{
    width: 99%;
}
#checkatrade tr:nth-child(4) span{
    width: 97%;
}
#checkatrade table svg{
    position: absolute;
    left: 0;
    top: 7px;
    display: block;
    width: 38px;
    height: 19px;
    color: #fff;
}
#checkatrade td.mark{
    font-size: 1.1em;
    padding-left: 0;
    font-weight: 600;
    font-family: "open sans", arial, sans-serif;
}
#checkatrade svg.ctrade{
    margin: 2rem 0 0 1.5rem;
    width: 14rem;
    height: 2rem;
}

/******* start responsive ***********/

@media (min-width: 400px) {
    #quote-container li blockquote {padding: 4.5rem 4.5rem 4.5rem 7.5rem;}
    #checkatrade .bar{font-size: 1.7rem;}
    #checkatrade td.mark {padding-left: 2rem;}
    #testimonial .carousel{margin-left: 10px;}
}
@media (min-width: 500px) {
    #checkatrade table{ padding: 3rem }
    #checkatrade svg.ctrade{margin: 2rem 0 0 4rem;}
}
@media (min-width: 950px){

    .test-panel{ width: 47% }
    #quote-container li blockquote::before {
        width: 45px;
        height: 45px;
        font-size: 60px;
        line-height: 70px;
        padding-left: 2px;
    }
}

/******* end responsive ***********/

/*--------------------------------------------------------------
## Gallery
--------------------------------------------------------------*/

section#gallery{
    margin-top: 7rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    padding: 0;
}
#gallery a{
    margin: 0 1.5rem 3rem;
    color: transparent;
    transition: color 0.3s ease-in-out;
}
#gallery figure{
    margin: 0 0 4rem;
    position: relative;
}
#gallery figure img {
    max-width: 210px;
    width: 100%;
    display: block;
    margin: 0 auto;
}
#gallery figcaption{
    position: relative;
    display: block;
    margin: -24px auto;
    padding-left: 1rem;
    transition: background-color 0.3s ease-in-out;
    max-width: 210px;
}
#gallery a:hover{
    color: #fff;
}
#gallery a:hover figcaption{
    background-color: #38383885;
}

@media (min-width: 1000px){
#gallery a{margin-bottom: 3rem;}    
}

/*--------------------------------------------------------------
## Contact
--------------------------------------------------------------*/

#googleMap{
    width: 100%;
    height: 30rem;
}

#contact{
    padding-bottom: 80px;
}

#contact-panel{
    width: 100%;
    margin-top: 35px;
    background: rgba(128, 128, 128, 0.16);
    padding: 13px 25px;
    font-size: 1.3rem;
    font-weight: 300;
    line-height: 1.4em;
}
#contact-panel table{
    width: 100%;
}
#contact-panel tr.notes{
    font-size: 1.35rem;
}
#contact-panel td{
    border: none;
}
#contact-form{
    width: 100%;
    position: relative;
    margin-bottom: 0;
}
#error-messages{
    display: block;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    transition: max-height 0.5s ease-in-out;
    font-size: 0.85em;
}
#error-messages.error {
    max-height: 3em;
    color: #c10000;
}
#contact-form label{
    font-weight: 300;
}
#contact-form p{
    margin-bottom: 0;
    margin: 0.4em 0 0.4em;
}
#contact-form input, #contact-form textarea{
    margin-bottom: 0;
    width: 100%;
}
#contact-form input.input-small{
    width: 5em;
}
.g-recaptcha{flex-grow: 1;margin-bottom: 2rem;}
#contact-submit{
    display: flex;
    margin-top: 2rem;
    flex-wrap: wrap;
    min-height: 10rem;
}
#contact-submit .btn{
    background: #c10000;
    color: #fff;
    width: auto;
}
#contact-submit .btn.hide{
    display: none;
}
.input-xlarge{
    height: 10em;
    width: 100%;
}
.mail_tick{
    width: 6rem;
    height: 6rem;
    margin-bottom: 2rem;
}
#contact-form span{
    display: block;
    margin-top: 2rem;
    font-size: 1.2rem;
}
/******* start responsive ***********/

@media (min-width: 450px){
    #contact-panel{
        padding: 45px 59px;
        font-size: 1.45rem;
    }
}
@media (min-width: 760px){
    #contact-form{
        width: 50%;
        float: left;
    }
    #contact-panel table{
        width: 50%;
        float: left;
        padding-right: 8rem;
    }
}
@media (max-width: 950px){
    #contact .container {
        width: 100%;
    }
}
@media (min-width: 950px){
    #contact-panel{
        margin-top: 45px;
        font-size: 1.6rem;
    }
}
@media (min-width: 1075px){
    #contact-submit{
        justify-content: space-between;
        width:  100%;
        align-items: center;
    }
    .g-recaptcha{
    flex-shrink: 1;
}
}

/******* end responsive ***********/



/******* email-loader ***********/

#email-loader {
    display: none;
    position: absolute;
    left: calc(50% - 66px/2);
    width: 66px;
    height: 66px;
    border-radius:50%;
    border: 2px solid #cecece;
    border-top: 2px solid #c21020;
    -webkit-animation: spin 0.8s linear infinite; /* Safari */
    animation: spin 0.8s linear infinite;
}
#email-loader.show { display: block;}

/* Safari */
@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


/*--------------------------------------------------------------
## footer
--------------------------------------------------------------*/

#site-footer{
    margin-top: auto;
    /* padding-top: 4rem; */
    border-top: solid 1px #c9c9c9;
    min-height: 20rem;
    box-shadow: 0 0 8px 2px #c9c9c9;
}
#site-footer > .container{
    display: flex;
    flex-wrap: wrap;
    margin: 4rem auto;
}
#site-footer ul{
    list-style: none;
    margin: 1.5rem 0 0 0;
}
.footer-menu{
    margin: 1.8rem 0 1rem;
    width: 100%
}
.footer-menu li{
    margin: 4px 0;
    color: #888;
}
.footer-menu li a{
    text-transform:uppercase;
    font-size: 1.35rem;
    letter-spacing: 0px;
}
.ft1 svg{
    width: 14rem;
    height: 3rem;
    margin: 18px 0 0;
}
.ft4 li a{
    text-transform:none;
}
svg#home, svg#phone, svg#envelope{
    width: 21px;
    height: 15px;
    display: inline;
    margin: 0 10px -1px 0;
    color: #888;
}
svg#phone {margin-bottom: -3px}
svg#envelope{margin-bottom: -5px;}

.ft4 h7{
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.5px;
    transform: scaleX(0.93);
    display: inline-block;
    margin: 0 0 0 -8px;
}
.ft4 p{
    line-height: 1.7rem;
    font-size: 1.3rem;
    display: inline-block;
    vertical-align: text-top;
    margin-bottom: 0;
}
#footer-bar{
    background-color:#e9e9e9;
}
#footer-bar > .container{
    display: flex;
    line-height: 2.5rem;
    font-size: 1.25rem;
    flex-direction: column;
    align-items: center;
    padding: 9px 0;
}
#footer-bar span{
    color: #7b7b7b;
    order: 2;
}
#footer-bar span#copyright{order: 1;}



/******* start responsive ***********/

@media (min-width: 570px) {
    .footer-menu{ width: 47% }
    .ft1 {order: 1;}
    .ft2 {order: 3;}
    .ft3 {order: 4;}
    .ft4 {order: 2;}
    #footer-bar > .container {
        flex-direction: row;
        padding: 9px 0;
    }
    #footer-bar span#copyright{ margin-left: auto; order: 2 }
}
@media (min-width: 1000px){
    .footer-menu { width: 25% }
    .ft1 {order: 1;}
    .ft2 {order: 2;}
    .ft3 {order: 3;}
    .ft4 {order: 4;}
}

/******* end responsive ***********/

/*--------------------------------------------------------------
## Privacy / Terms and Conditions
--------------------------------------------------------------*/

#overlay{
    background-color:rgba(0,0,0,1);
}
#overlay-content{
    position: relative;
    margin: 0 auto;
    width: 100%;
    max-width: 86rem;
    border-bottom: 3rem solid #f3f3f3;
    height: 100%;
}
#overlay-content .header{
    background-color: #FFFFFF;
    border-bottom: 4px solid #c21020;
    padding: 12px 7rem;
    display: table;
    width:  100%;
}
#overlay-content .header svg{
    float: right;
    height: 43px;
    width: 29px;
}
.policies header div{
    margin-bottom: 15px;
}
.policies{
    background-color: #F3F3F3;
    font-size: 1.3rem;
    letter-spacing: 0.4px;
    padding: 2rem;
    overflow-y: scroll;
    height: calc(100% - 7rem);
}
.policies section{
    padding: 0 0 2rem 0;
}
.policies h2, .policies h4, .policies h5{
    font-family: 'Source Sans Pro', sans-serif;
    color: #4a4a4a;
}
.policies h2{
    font-size: 3.2rem;
    font-weight: 300;
    margin-bottom: 3.5rem;
}
.policies h4{
    margin-bottom: 0px;
    font-size: 1.8rem;
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    line-height: 7rem;
    letter-spacing: normal;
}
.policies h5{
    margin-bottom: 5px;
    font-size: 1.45rem;
    text-decoration: underline;
    letter-spacing: 0.8px;
}
.policies p{
    margin: 0;
}
.policies ol{
    margin-left: 15px;
    list-style: lower-alpha;
}
.policies hr{
    margin: 0 0 12px;
}
#policydate p{
    margin-top: 4rem;
    text-align: right;
    font-weight: 600;
}
@media (min-width: 450px){
    #overlay-content{ width: 95%; height: calc(100% - 10rem); margin-top: 5rem; margin-bottom: 7rem;}
    #overlay {background-color:rgba(0,0,0,0.6);}
    .policies{padding: 4rem 7rem;}
}

