html {
    height: 100%;
    font-size: 62.5%;
}

body {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    font-family: 'Lato', sans-serif;
    padding: 0;
    margin: 0;
    font-size: 16px;
    font-size: 1.6rem;
    color: #333;
    font-weight: 300;
}

@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?xz2l0c');
  src:  url('../fonts/icomoon.eot?xz2l0c#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.woff2?xz2l0c') format('woff2'),
    url('../fonts/icomoon.ttf?xz2l0c') format('truetype'),
    url('../fonts/icomoon.woff?xz2l0c') format('woff'),
    url('../fonts/icomoon.svg?xz2l0c#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-logo:before {
  content: "\e900";
}

#myScrollSpy {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
}

.navbar-nav a {
    padding: 0 0 5px;
    background: none !important;
    color: #333;
    font-size: 18px;
    font-size: 1.8rem;
}

.fixed {
    position: fixed;
    top: 0;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.video-container iframe, .video-container object, .video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.nav {
    padding: 0;
}

.nav a {
    margin-right: 25px;
    display: inline-block;
    text-align: center;
}

.nav a:last-child {
    margin-right: 0;
}

.content {
    flex: 1 0 auto;
    flex-direction: column;
    word-wrap: break-word;
}

.header, .footer {
    flex: none;
}

.container-fluid {
    width: 100%;
}

.home-image {
    position: relative;
    background: url(../img/main-image.jpg) no-repeat 50% 0;
    background-size: cover;
    color: #333;
    display: flex;
    align-items: center;
    height: 100vh;
}

#services {
    background: url(../img/services-bg.png) no-repeat 50% 50%;
    position: relative;
    background-size: contain;
    background-attachment: fixed;
}

.parallax {
    background-attachment: fixed;

}

#services, #contact {
    background: #efefef;
}

section > .container {
    padding-bottom: 35px;
}

#aboutWrapper {
    background: #ddd;
}

#about figcaption {
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
}

#services ul li {
    font-size: 16px;
    font-size: 1.6rem;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: inherit;
    font-weight: 300;
}

.content .home-image h1 {
    margin: 7rem 0 0;
    font-size: 3rem;
    font-weight: 400;
    word-wrap: normal;
    display: flex;
    flex-direction: column;
    align-items: center;
}

h1 div {
    background: #e1ebee;
    padding: .75rem 1rem;
    color: #000;
}

h1 div:last-child {
    margin-top: 1.5rem;
}

.content .home-image h1 span {
    font-size: 50px;
    font-size: 5rem;
    font-weight: 700;
}

.content .home-image h1 a, .content .home-image h1 a:visited, .content .home-image h1 a:active {
    color: #fff;
    border-bottom: 1px dotted #fff;
}

.content ul li {
    margin: 10px 0;
}

.map-responsive{
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
    min-height: 300px;
}

.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

.img-responsive {
    display: block;
    max-width: 100%;
    height: auto;
    width: 100%;
}

.home-image h1 a:hover {
    color: #84f784;
    border-bottom: 1px dotted transparent;
}

h1 small {
    display: block;
    font-size: 50%;
    text-align: center;
    padding-top: 5px;
    font-style: italic;
}

h2 {
    font-size: 28px;
    font-size: 2.8rem;
    color: #5AB05A;
    margin: 35px 0 15px;
    margin: 3.5rem 0 1.5rem;
    font-weight: 700;
    text-transform: uppercase;
}


h3 {
    color: #333;
    margin: 5px 0;
    margin: .5rem 0;
    -moz-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 400;
}

h4 {
    color: #333;
    margin: 20px 0 5px;
    margin: 2rem 0 .5rem;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 400;
}

section {
    padding: 50px 0;
    padding: 5rem 0;
}

#services section {
    padding: 50px 0 0;
    padding: 5rem 0 0;
}

#services section:last-child {
    padding-bottom: 50px;
    padding-bottom: 5rem;
}

/*section p:last-child {
    margin-bottom: 0;
}*/

b, strong {
    font-weight: 400;
}

a, .btn-lg {
    -moz-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}

.content .btn-lg {
    background: #AA4339;
    border-radius: 4px;
    color: #fff !important;
    border: none;
    padding: 0 20px;
    padding: 0 2rem;
    font-size: inherit;
    min-width: 120px;
    min-width: 12rem;
    height: 50px;
    height: 5rem;
    font-weight: 400;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1.5rem;
}

.content .btn-lg:hover {
    background: #f30606;
    color: #fff;
}

/*.content a, .content a:active, .content a:visited {
    color: #d40808;
    border-bottom: 1px dotted transparent;
}

.content a:hover {
    color: #d40808;
    border-bottom: 1px dotted #fd0581;
}*/

ul, ol {
    padding-left: 20px;
}

.header {
    background: rgba(50, 143, 50, 0.97);
    position: fixed;
    padding: 10px 0;
    -moz-transition: all .5s ease-in-out;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    z-index: 30;
}

.phone {
    border: none !important;
    box-shadow: none !important;
}

.header .navbar-nav a, .header a {
    color: #fff;
}

a {
    color: #DC7070;
    text-decoration: none;
}

a:hover, a:active, a:focus {
    border-bottom: 1px dotted #DC7070;
    color: #DC7070;
    text-decoration: none;
}

.quote {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 300;
    display: inline;
}

.quotee {
    font-weight: 100;
    margin-left: 15px;
}

.footer {
    padding: 25px 15px;
    font-size: 12px;
    font-size: 1.2rem;
    background: #8D1C1C;
    color: #fff;
}

.footer .copyright {
    font-size: 14px;
    font-size: 1.4rem;
}

.footer .links {
    text-align: right;
}

.footer .links a {
    margin: 0;
    color: #fff;
    border-bottom: 1px dotted transparent;
}

.links i {
    margin-right: 5px;
}

.footer .links a:hover {
    border-bottom: 1px dotted #fff;;

}

.footer .links a:first-child {
    padding-left: 0;
    margin-right: 15px;
    border-left: none;
}

.footer .links a:last-child {
    padding-right: 0;
    margin-right: 0;
}

.wdb, .wdb a {
    color: #ccc !important;
}

.footer .wdb a:hover {
    border-bottom: 1px dotted #999;
}

.logo a {
    display: flex;
    align-items: center;
    color: #fff;
    border: none;
}

.fixed .logo a {
    color: #fff;
}

.logo i {
    font-size: 4.2rem;
    -moz-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    /*text-shadow: 1px 1px 10px rgba(255,255,255,1);*/
}

.fixed .logo i {
    font-size: 50px;
    font-size: 5rem;
    margin-top: 0 !important;
}

.logo span {
    line-height: 50px;
    line-height: 5rem;
    float: right;
    margin-left: 10px;
    font-size: 18px;
    font-size: 1.8rem;
}

.header .navbar-nav a {
    outline: none !important;
}

.header nav a:focus, .header nav a:hover {
    -webkit-box-shadow: inset 0px -4px 0px 0px #fff;
    -moz-box-shadow: inset 0px -4px 0px 0px #fff;
    box-shadow: inset 0px -4px 0px 0px #fff;
}

.header nav a.active, .header nav a:focus, .header nav a:focus, .header nav a:hover {
    -webkit-box-shadow: inset 0px -4px 0px 0px #fff;
    -moz-box-shadow: inset 0px -4px 0px 0px #fff;
    box-shadow: inset 0px -4px 0px 0px #fff;
    border: none;
    color: #fff;
}

.header .row {
    display: flex;
    /*height: 60px;
    height: 6rem;*/
}

.header .rightMenu, .header .logo {
    width: auto;
    flex-grow: 1;
    align-items: center;
    justify-content: flex-end;
    display: flex;
    color: #fff;
}

.header .rightMenu {
    flex-direction: column;
    align-items: flex-end;
}

.header .rightMenu p {
    font-size: 12px;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    -moz-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}

.header .rightMenu p, .header .rightMenu p a {
    color: #ccc;
}

.header .logo {
    justify-content: flex-start;
    align-items: flex-end;
}

.fixed.header .logo {
    align-items: center;
}

.fixed.header .rightMenu p {
    margin-top: -5px;
}

.header h1 {
    font-size: 20px;
    font-size: 2rem;
    margin-top: 0;
    margin-bottom: 0;
}

.small, small {
    font-size: 85%;
    color: #999;
    margin-top: -5px;
}

.phone {
    margin: 0 0 0 5px;
}

.social {
    margin-left: 5px;
    font-size: 24px;
    font-size: 2.4rem;
}

.social i {
    font-size: 16px;
    font-size: 1.6rem;
}

/*figure {
    margin: 0 0 25px;
    margin: 0 0 2.5rem;
    position: relative;
    padding: 5px;
    border: 1px solid #ccc;
}

figcaption {
    text-align: center;
    margin-top: 10px;
    margin-top: 1rem;
    font-size: 14px;
    font-size: 1.4rem;
}

figure img, #about img {
    -webkit-clip-path: circle(100% at center);
    clip-path: circle(100% at center);
    border: 1px solid #999;
}*/

.back {
    opacity: 0;
    color: #000;
    position: fixed;
    border-radius: 2px;
    height: 50px;
    width: 50px;
    text-decoration: none;
    text-align: center;
    right: 5%;
    bottom: 10%;
    z-index: 5;
    display: flex;
    border: 1px solid #000 !important;
    justify-content: center;
    align-items: center;
    background: #fff;
}

.back i {
    font-size: 20px;
    font-size: 2rem;
    color: #000;
}

.back.active {
    display: block;
}

.fadeInUp, .fadeOutDown {
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }

  to {
    opacity: .5;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }

  to {
    opacity: .5;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: .5;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: .5;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

.social a {
    font-size: 4rem;
    margin-left: 15px;
    color: #ccc;
    border: none !important;
}

.social a:first-child {
    margin-left: 0;
}

.social a:hover {
    color: #999;
}

.promo {
    position: fixed;
    height: 100px;
    width: 141px;
    right: 0;
    background: rgba(255, 235, 59, .9);
    display: flex;
    flex-direction: row;
    justify-content: center;
    text-align: center;
    z-index: 31;
    border-radius: 5px 0 0 5px;
    top: calc(50% - 50px);
    transition: all 0.3s;
    overflow: hidden;
    font-size: 1.4rem;
}

.promo i {
    font-size: 2.8rem;
}

.promo.open {
    right: 0;
}

.promo a {
    color: #000 !important;
    padding: 10px;
    border: none !important;
    font-size: 2.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: linear-gradient(#000, #000), linear-gradient(transparent, transparent);
    background-size: 0 3px, auto;
    background-repeat: no-repeat;
    background-position: center bottom;
}

.promo a:hover {
    background-size: 100% 3px, auto;
}

.togglePromo {
    width: 40%;
    text-align: center;
    padding: .6rem;
    font-weight: 400;
}

.togglePromo span {
    display: block;
}

.promoOffer {
    font-size: 1.6rem !important;
}

.promoOffer strong {
    text-align: left;
    margin-left: 1.5rem;
}

button:disabled {
    background: #AA4339 !important;
    cursor: no-drop;
}

.alert-success {
    margin-bottom: 2.5rem;
    padding: 1.5rem 3rem 1.5rem 1.5rem;
    font-size: 1.6rem;
    opacity: 1;
    position: relative;
}

.alert-dismissible .close {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    padding: 0;
    color: inherit;
    font-size: 3rem;
}

/*.secondary {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}*/

.form-control {
    border: 1px solid #ccc;
    box-shadow: none;
    border-radius: 5px;
    padding: 2px 10px 0 10px;
    margin-bottom: 0;
    font-size: 2rem;
    background: #fff;
    font-weight: 100;
    -webkit-appearance: none;
    height: 4.4rem;
    line-height: 4.4rem;
}

textarea.form-control {
    height: auto;
    line-height: 1.5;
}

hr {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}

.marginTop5 { margin-top:5px; }
.marginTop10 { margin-top:10px; }
.marginTop15 { margin-top:15px; }
.marginTop20 { margin-top:20px; }
.marginTop25 { margin-top:25px; }
.marginTop30 { margin-top:30px; }
.marginTop35 { margin-top:35px; }

.marginBottom5 { margin-bottom:5px; }
.marginBottom10 { margin-bottom:10px; }
.marginBottom15 { margin-bottom:15px; }
.marginBottom20 { margin-bottom:20px; }
.marginBottom25 { margin-bottom:25px; }
.marginBottom30 { margin-bottom:30px; }
.marginBottom35 { margin-bottom:35px; }

.paddingTop5 { padding-top:5px; }
.paddingTop10 { padding-top:10px; }
.paddingTop15 { padding-top:15px; }
.paddingTop20 { padding-top:20px; }
.paddingTop25 { padding-top:25px; }
.paddingTop30 { padding-top:30px; }
.paddingTop35 { padding-top:35px; }

.paddingBottom5 { padding-bottom:5px; }
.paddingBottom10 { padding-bottom:10px; }
.paddingBottom15 { padding-bottom:15px; }
.paddingBottom20 { padding-bottom:20px; }
.paddingBottom25 { padding-bottom:25px; }
.paddingBottom30 { padding-bottom:30px; }
.paddingBottom35 { padding-bottom:35px; }

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  font-size: 14px !important;
  font-size: 1.4rem !important;
  line-height: 30px;
}
::-moz-placeholder { /* Firefox 19+ */
  font-size: 14px !important;
  font-size: 1.4rem !important;
  line-height: 30px;
}
:-ms-input-placeholder { /* IE 10+ */
  font-size: 14px !important;
  font-size: 1.4rem !important;
  line-height: 30px;
}
:-moz-placeholder { /* Firefox 18- */
  font-size: 14px !important;
  font-size: 1.4rem !important;
  line-height: 30px;
}

.vagaro-container.vagaro-embedded-widget div {
    margin:  0 !important;
}

/************* BREAKPOINTS *****************/
@media screen and (max-width:1199px) {   
}

@media screen and (max-width:991px) {
}

@media screen and (max-width:767px){  

    .header, .header.fixed {
        padding: 0;
        background: #328F32;
        position: fixed;
    }

    .header .logo {
        margin-bottom: 0;
        align-items: center;
        position: relative;
        z-index: 10;
    }

    .header .logo i {
        font-size: 36px;
        font-size: 3.6rem;
    }

    .header .navbar-nav a, .header a {
        color: #fff;
        display: flex;
    }

    .navbar-nav a {
        margin: 1rem 0;
    }

    .header.fixed .row, .header .row {
        height: 50px;
        height: 5rem;
        padding: 5px 0;
    }

    .logo a img, .fixed .logo a img {
        height: 40px;
    }

    .sidebar-open #mainMenu {
        left: 0;
        overflow: scroll;
    }

    #mainMenu {
        padding-top: 7.5rem;
        margin-bottom: 0;
        animation: none !important;
        opacity: 1 !important;
        align-items: flex-start;
        margin-top: 0;
        transition: left 0.3s;
        position: fixed !important;
        height: 100%;
        top: 0;
        background: #000;
        width: 100%;
        left: -100%;
        display: flex;
    }

    body.sidebar-open {
        overflow: hidden;
    }

    .content .home-image h1 a, .content .home-image h1 a:visited, .content .home-image h1 a:active {
        font-size: 32px;
        font-size: 3.2rem;
    }

    .navbar-toggle {
        border: 1px solid #fff;
        margin: 0;
    }

    .content .home-image h1 {
        font-size: 2rem;
    }

    .container-fluid .container {
        /*padding: 0;*/
        width: 100%;
    }

    .container-fluid.header .container {
        padding: 0 15px;
    }

    .navbar-toggler {
        position: fixed;
        top: 5px;
        transition: all 0.3s;
        padding: 1rem 1rem .9rem 1rem;
        border-color: #fff !important;
        z-index: 9;
    }

    .navMenu-icon {
        float: right;
        height: 17px;
        width: 18px;
        cursor: pointer;
        display: inline-block;
        position: relative;
        transform: rotate(0deg);
        transition: .5s ease-in-out;
    }

    .navMenu-icon span {
        background: #fff;
        border-radius: 5px;
        display: block;
        height: 2px;
        left: 0;
        opacity: 1;
        position: absolute;
        transform: rotate(0deg);
        transition: .3s ease-in-out;
        width: 100%;
    }

    .navMenu-icon span:first-child {
        top: 2px;
        transform-origin: left center;
    }

    .navMenu-icon span:nth-child(2) {
        top: 7px;
        transform-origin: left center;
    }

    .navMenu-icon span:nth-child(3) {
        top: 12px;
        transform-origin: left center;
    }

    .navbar-toggler:not(.collapsed) .navMenu-icon span:first-child {
        left: 3px;
        top: 0px;
        transform: rotate(45deg);
    }

    .navbar-toggler:not(.collapsed) .navMenu-icon span:nth-child(2) {
        opacity: 0;
        width: 0;
        top: 7px;
        transform-origin: left center;
    }

    .navbar-toggler:not(.collapsed) .navMenu-icon span:nth-child(3) {
        left: 3px;
        transform: rotate(-45deg);
        top: 13px;
    }

    .rightMenu .nav {
        position: fixed;
        left: 0;
        right: 0;
        text-align: left;
        top: 50px;
        top: 5rem;
        background: #328F32;
        border-bottom: 1px solid #333;
        padding: 0;
        -moz-transition: all .5s ease-in-out;
        -webkit-transition: all .5s ease-in-out;
        transition: all .5s ease-in-out;
    }

    .rightMenu .nav li {
        margin-right: 0;
        display: block;
        padding: 10px 0;
    }

    .navbar-toggle .icon-bar {
        background-color: #fff;
    }

    .home-image {
        height: 400px;
        background-size: cover;
    }

    section {
        padding: 30px 0;
    }

    #services section {
        padding: 30px 0 0;
    }

    #services section:last-child {
        padding-bottom: 0;
    }

    .footer [class^="col-"] {
        text-align: center;
    }

    .footer [class^="col-"]:last-child {
        text-align: center;
        padding-top: 15px;
    }

    .contactInfo {
        margin-top: 25px;
    }

    #about figcaption {
        margin-bottom: 25px;
    }

    #myScrollSpy {
        justify-content: center;
    }

    #about img {
        margin-bottom: 25px;
    }

    .promo {
        height: auto;
        width: 80px;
        top: calc(50% - 53px);
    }

    .promo a {
        display: block;
    }

    .promoOffer strong {
        text-align: center;
        margin-left: 0;
        margin-top: .5rem;
    }

    .promoOffer {
        font-size: 1.4rem !important;
    }
}

@media screen and (max-width:450px){
}

@media screen and (min-width:768px) {

    .home-image {
        min-height: 400px;
    }

    .navbar-toggler {
        display: none;
    }

    nav .container, nav .container-fluid {
        padding: 0;
    }

    #mainMenu a {
        display: flex !important;
    }

    /*.logo i {
        margin-top: 40px;
        margin-top: 4rem;
    }*/

    .home-image .pull-right {
        /*display: flex;
        justify-content: flex-end;
        flex-direction: column;*/
        width: auto;

    }

    .rightMenu .nav {
        display: flex !important;
        height: auto !important;
        margin-bottom: -10px;
        flex-direction: row;
    }

    #services .row .row, #services .row .row .col-xs-12 {
        display: flex;
    }

    #services .row .row .col-xs-12 {
        flex-direction: column;
    }
}

@media screen and (min-width:768px) and (max-width:991px){
    .rightMenu li {
        margin-right: 20px;
    }

    .navbar-nav a {
        font-size: 1.6rem;
    }

    .logo i, .fixed .logo i {
        font-size: 3rem;
    }

}

@media screen and (min-width:451px) and (max-width:767px){
}

@media (min-width: 992px){
}

@media screen and (min-width:992px) and (max-width:1199px){

}

@media (max-width: 1024px){
}

@media screen and (min-width:768px) and (max-width:1199px){

}

@media (min-width: 1400px){
}
/* END BREAKPOINTS */