/*
Theme Name: SitePoint Construction
Theme URI: http://sitepoint.com/sitepoint-construction
Author: Sitepoint
Author URI: http://sitepoint.com
Description: A clean and beautifully styled theme for businesses in the construction and professional building industries. Our theme comes with slick but subtle animated SVG icons to get attention, optimised contact forms, sticky headers and a gallery for displaying your recent projects. This layout looks crisp at any screen size. And you can customise the theme to suit the way you do business.
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, two-columns, right-sidebar, custom-background, custom-header, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, full-width-template, microformats, post-formats, sticky-post, threaded-comments, translation-ready
Text Domain: sitepoint-construction
*/
/* ==========================================================================
   Default stylings from HTML5 Boilerplate
   ========================================================================== */
/* Apply a natural box layout model to all elements - http://paulirish.com/2012/box-sizing-border-box-ftw/ */

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

/* Using rem font sizing (Root em’s) with fallback to px for ie8 and below - http://snook.ca/archives/html_and_css/font-size-with-rem */
body {
    margin: 0;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
}
::-webkit-selection {
    background: #5784FE;
    color: #fff;
    text-shadow: none;
}
::-moz-selection {
    background: #5784FE;
    color: #fff;
    text-shadow: none;
}
::selection {
    background: #5784FE;
    color: #fff;
    text-shadow: none;
}
a {
    color: #5E697D;
    text-decoration: underline;
}
a:visited {
    color: #666;
}
a:hover {
    color: #b40101;
}
menu {
    padding: 0;
}
td {
    vertical-align: top;
}
ol,
ul,
li {
    list-style: none;
}

/* ==========================================================================
Basic page styles
========================================================================== */

body {
    margin: 0 auto;
    padding: 0;
    font: 16px/1.5 'Roboto', Helvetica, Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    color: #5E697D;
    text-align: left;
    -webkit-font-smoothing: antialiased;
    background: #F4F5F2;
}

/* Set the default behavior for touch-based browsing in IE10 on devices running Windows 8 */
canvas {
    -ms-touch-action: double-tap-zoom;
}

/* Make sure videos and embeds fit their containers */
embed,
iframe,
object,
video {
    max-width: 100%;
}
.entry-content .twitter-tweet-rendered {
    max-width: 100% !important;
    /* Override the Twitter embed fixed width */
}

/* Responsive images */
img {
    border: 0;
    max-width: 100%;
    height: auto;
    vertical-align: top;
}
.entry-content img,
.comment-content img,
.widget img {
    max-width: 100%;
    /* Fluid images for posts, comments, and widgets */
}
img[class*="align"],
img[class*="wp-image-"],
img[class*="attachment-"] {
    height: auto;
    /* Make sure images with WordPress-added height and width attributes are scaled correctly */
}
img.size-full,
img.size-large,
img.header-image,
img.wp-post-image {
    max-width: 100%;
    height: auto;
    /* Make sure images with WordPress-added height and width attributes are scaled correctly */
}
img.wp-smiley,
.rsswidget img {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Header */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Roboto', sans-serif;
    font-style: normal;
    font-weight: 700;
    color: #19212C;
    margin-top: 0;
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6{
  margin-bottom:1rem;
}
.entry-content p {
  margin-bottom: 1.5em;
}
.entry-content p + p {
  margin-top: 1.5em;
}

h1 {
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.25;
}
h2 {
    margin-bottom: 8px;
    margin-bottom: .5rem;
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.1666;
}
h3 {
    margin-bottom: 6px;
    margin-bottom: 0.375rem;
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.2857;
}
h4 {
    margin-bottom: 5px;
    margin-bottom: 0.3125rem;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
}
h5 {
    margin-bottom: 5px;
    margin-bottom: 0.3125rem;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
}
h6 {
    margin-bottom: 5px;
    margin-bottom: 0.3125rem;
    font-size: 14px;
    font-size: .875rem;
    line-height: 1.2142;
}
hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin: 24px;
    margin: 1.5rem;
}
ol,
ul {
    list-style: none outside none;
}
p,
ol,
ul,
dl,
address {
    margin: 0;
    padding:0;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
}

ol,

ul ul,
ul ol,
ol ol,
ol ul {
    margin-bottom: 0;
}
dt {
    font-style: normal;
    font-weight: 700;
}
figure {
    margin: 1rem 0;
    margin: 16px 0;
}
b,
strong {
    font-style: normal;
    font-weight: 700;
}
em {
    font-style: italic;
    font-weight: 400;
}
strong em,
b em {
    font-style: italic;
    font-weight: 700;
}
ins {
    background: none repeat scroll 0 0 #FFF9C0;
    text-decoration: none;
}
a {
    color: #FFAC23;
    outline: none;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
a:visited {
    color: #666;
}
a:focus {
    outline: thin dotted;
    color: #19212C;
}
a:hover,
a:active {
    outline: 0;
    color: #19212C;
}
.alignleft {
    display: inline;
    float: left;
    margin: 0 20px 16px 0;
    margin: 0 1.25rem 1rem 0;
}
.alignright {
    display: inline;
    float: right;
    margin: 0 0 16px 20px;
    margin: 0 0 1rem 1.25rem;
}
.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 16px;
    margin-bottom: 1rem;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}
blockquote {
    background: url(images/quote.png) no-repeat left center;
    margin: 0 0 18px 0;
    margin: 2rem 0;
    padding: 0 0 0 64px;
    padding: 0 0 0 4rem;
}
blockquote.pull-right {
    border-left: 0 none;
    border-right: 5px solid #5E697D;
    margin: 0 20px 18px 0;
    margin: 0 1.25rem 1.125rem 0;
    padding: 0 16px 0 0;
    padding: 0 1rem 0 0;
    float: none;
}
blockquote p {
    color: #19212C;
    font-weight: 400;
    font-size: 22px;
    font-size: 1.375rem;
    margin-bottom: 0;
}
blockquote.pull-right p,
blockquote.pull-right small {
    text-align: right;
}
blockquote cite:before {
    content: "\2014 ";
}
blockquote cite {
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.125;
    color: #999;
    display: block;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
caption,
th,
td {
    font-weight: normal;
    text-align: left;
}
code,
pre {
    border-radius: 3px;
    color: #555;
    font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
    font-size: 12px;
    font-size: 0.75rem;
    padding: 0 3px 2px;
    padding: 0 0.1875rem 0.125rem;
    overflow: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
}
code {
    background-color: #f7f7f9;
    border: 1px solid #e1e1e8;
    padding: 2px 4px;
    padding: 0.125rem 0.25rem;
}
pre {
    background-color: #fafafa;
    border-color: #ddd;
    border-style: solid;
    border-width: 1px 1px 1px 11px;
    margin: 1.7rem 0 1.7rem 0.3rem;
}
abbr,
dfn,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -0.5em;
}
sub {
    bottom: -0.25em;
}
.wp-caption {
    max-width: 100%;
    /* Keep wide captions from overflowing their container. */
    padding: 4px;
    padding: 0.25rem;
}
.wp-caption .wp-caption-text,
.gallery-caption,
.entry-caption {
    font-style: italic;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #777;
    text-align: center;
}
img.wp-smiley,
.rsswidget img {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}
.entry-content dl.gallery-item {
    margin: 0;
}
.gallery-columns-1 .gallery-item a {
    max-width: 100%;
    width: auto;
}
.gallery .gallery-icon img {
    height: auto;
}
.gallery {
    clear: both;
    margin: 0 auto;
    *zoom: 1;
}
.gallery:before,
.gallery:after {
    content: "";
    display: table;
}
.gallery:after {
    clear: both;
}
#primary .entry-content [id^="gallery-"] img {
    border: none;
}

/* Text meant only for screen readers */
.assistive-text {
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */

    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
}
.menu-toggle,
button,
input {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin: 0;
    font-size: 100%;
    vertical-align: middle;
}
.menu-toggle,
button,
input {
    *overflow: visible;
    line-height: normal;
}
.menu-toggle::-moz-focus-inner,
button::-moz-focus-inner,
input::-moz-focus-inner {
    padding: 0;
    border: 0;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
}
input[type="button"] {
    width: auto;
}
.menu-toggle,
.btn input[type="submit"] {
    display: inline-block;
    padding: 8px 14px;
    padding: 0.5rem 0.875rem;
    margin-bottom: 0;
    margin-left: .3em;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    text-align: center;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
    vertical-align: middle;
    cursor: pointer;
    background-color: #ebe9eb;
    border: 1px solid #ccc;
    border: 0;
    border-color: rgba(0, 0, 0, 0.1);
    border-color: #e6e6e6;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.menu-toggle,
a.btn {
    text-decoration: none;
}
.menu-toggle:hover,
.btn:hover,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
    background-color: #dad8da;
}
.btn:first-child {
    margin-left: 0;
}
.menu-toggle:hover,
.btn:hover,
input[type="submit"]:hover {
    color: #5E697D3a3a3a;
    text-decoration: none;
    background-color: #dad8da;
    /* Buttons in IE7 don't get borders, so darken on hover */
}
.menu-toggle:focus,
.btn:focus,
input[type="submit"]:focus {
    outline: thin dotted #5E697D;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}
.menu-toggle:active,
.btn.active,
.btn:active,
input[type="submit"]:active {
    background-color: #dad8da;
    background-color: #dad8da \9;
    background-image: none;
    outline: 0;
    position: relative;
    top: 1px;
}
.btn.disabled,
.btn[disabled] {
    cursor: default;
    background-color: #dad8da;
    background-image: none;
    opacity: 0.65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
.btn.disabled:active,
.btn[disabled]:active {
    top: 0;
}
button.btn,
input[type="submit"].btn {
    padding-top: 2px;
    padding-bottom: 2px;
}
button.btn::-moz-focus-inner,
input[type="submit"].btn::-moz-focus-inner {
    padding: 0;
    border: 0;
}
.btn-large,
input[type="submit"].btn-large {
    padding: 10px 15px;
    padding: 0.625rem 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.btn-small,
input[type="submit"].btn-small {
    padding: 5px 9px;
    padding: 0.3125rem 0.5625rem;
    font-size: 13px;
    font-size: 0.8125rem;
}

/* Form fields */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
textarea {
    padding: 8px;
    margin-bottom: 1rem;
    padding: 0.5rem;
    border: none;
    background: #edf2f5;
    border: 1px solid #edf2f5;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}
.page-template-template-contact input[type="text"],
.page-template-template-contact input[type="password"],
.page-template-template-contact input[type="email"],
.page-template-template-contact input[type="url"],
textarea {
  border: 1px solid #808080;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
textarea:focus {
    outline: none;
    border: 1px solid #19212C;
    -webkit-box-shadow: none;
    box-shadow: none;
}
input[type="submit"] {} .wpcf7 textarea {
    resize: none;
}
::-webkit-input-placeholder {
    color: #7d8c9f;
    font-size: 1rem;
    font-family: Roboto;
}
:-moz-placeholder {
    /* Firefox 18- */

    color: #7d8c9f;
}
::-moz-placeholder {
    /* Firefox 19+ */

    color: #7d8c9f;
}
:-ms-input-placeholder {
    color: #7d8c9f;
}
select {
    max-width: 100%;
}

/* HTML5 galleries */
.gallery .gallery-item {
    float: left;
    margin: 10px 1% 0;
    text-align: center;
}
.gallery-columns-1 .gallery-item {
    width: 100%;
    margin: 10px 0 0;
}
.gallery-columns-2 .gallery-item {
    width: 47.5%
}
.gallery-columns-3 .gallery-item {
    width: 31%
}
.gallery-columns-4 .gallery-item {
    width: 22.5%
}
.gallery-columns-5 .gallery-item {
    width: 17.75%
}
.gallery-columns-6 .gallery-item {
    width: 14%
}
.gallery-columns-7 .gallery-item {
    width: 12%
}
.gallery-columns-8 .gallery-item {
    width: 10.25%
}
.gallery-columns-9 .gallery-item {
    width: 9%
}

/* Small headers */
.archive-title,
.page-title,
.entry-content th,
.comment-content th {
    font-style: normal;
    font-weight: 700;
    line-height: 2;
    text-transform: capitalize;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}
.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}
.button,
[type=button],
[type=reset],
[type=submit],
a.button,
button,
.wpcf7 input[type="submit"] {
    display: inline-block;
    line-height: 1;
    border: 1px solid #19212C;
    border-radius: 4px;
    background: #19212C;
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    text-transform: uppercase;
    padding: .7rem 1.2rem;
    margin: .5rem 0;
    white-space: nowrap;
    vertical-align: middle;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
}
.accent-button,
a.accent-button,
[type=submit],
input[type="submit"] {
    color: #fff;
    border: 1px solid #19212C;
    background: #19212C;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.accent-button:hover,
.accent-button:active,
.accent-button:focus,
[type=submit]:focus,
[type=submit]:hover,
[type=submit]:active,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus  {
  border-color: #35465d;
  background-color: #35465d;
}

/* ==========================================================================
Site specific styles
========================================================================== */

#wrapper {
    width: 100%;
    position: relative;
    text-align: left;
}
#headercontainer {
    width: 100%;
}
.header-image img {
  width: 100%;
}
.bx-viewport,
.bx-wrapper {
    position: relative;
    width: 100%;
    top: 0;
    left: 0;
    border: none;
}
.feat-item {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 500px;
    display: flex;
    align-items: center;
}
.feat-overlay {
    background: rgba(255, 255, 255, 0);
    position: relative;
    width: 100%;
    display: table;
    vertical-align: middle;
    text-align: left;
}
.feat-overlay-inner {
    vertical-align: middle;
    display: table-cell;
}
.parallax-window {
    min-height: 500px;
    background: transparent;
}
.parallax-content {
    position: relative;
    display: flex;
    align-items: flex-end;
    height: 500px;
}
.parallax-content .parallax-caption {
    margin: 4rem 0;
    background: rgba(0, 0, 0, 0.7);
    padding: 1.25rem;
    width: 22rem;
}
.parallax-content h5,
.parallax-content p {
    color: #fff;
}
.parallax-content h5 {
    text-transform: uppercase;
}
.parallax-content p:last-child {
    margin-bottom: 0;
}
.featured-area h1,
.featured-area h2,
.featured-area h3,
.featured-area h4,
.featured-area h5,
.featured-area h6,
.featured-area p  {
  color: #fff;
  line-height: 1em;
}
.featured-area p {
    line-height: 1.5rem;
    font-size: 1.125rem;
    font-size: 18px;
}
#headercontainer {
    background: #FFAC23;
    position: fixed;
    z-index: 9999;
    width: 100%;
    line-height: 120px;
    height: 120px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.home #headercontainer {
    background: rgba(255, 255, 255, 0.1);
}
.home .main-navigation a {
    color: #fff;
}
.home .menu-btn a {
    color: #fff;
    border-color: #fff;
    background: transparent;
}
#headercontainer.sticky {
    line-height: 80px;
    height: 80px;
    background: #FFAC23;
}
.site-header {
    position: relative;
}
.site-title h1 {
    font-family: "Roboto";
    font-weight: normal;
    font-size: 2.125rem;
    text-transform: uppercase;
    color: #fff;
    margin: 0;
}
.site-title h1.x-long, #footercontainer .site-title h1.x-long {
font-size: 1.6rem;
display: inline-block;
font-weight: bold;
}
.site-title h1.xx-long, #footercontainer .site-title h1.xx-long {
  font-size: 1rem;
  display: inline-block;
  font-weight: bold;
  white-space: nowrap;
}
.site-title a {
    line-height: 120px;
    height: 120px;
    color: #fff;
    text-decoration: none;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}
#headercontainer.sticky .site-title a {
    line-height: 80px;
    height: 80px;
    color: #19212C;
    text-shadow: 0 0 0 rgba(0,0,0,0);
}
#headercontainer.sticky .slicknav_icon-bar {
    background: #19212C;
}
.site-title img {
    vertical-align: middle;
    width: 300px;
}
#bannercontainer {
    width: 100%;
}
.banner {
    color: #eaeaea;
    min-height: 75px;
}
#maincontentcontainer {
    width: 100%;
    padding: 32px 0;
    padding: 4rem 0;
}
.site-content {
    font-size: 16px;
    font-size: 1rem;
    color: #5E697D;
    line-height: 1.5;
    position: relative;
}
.home.page .site-content {
    padding-bottom: 0;
}
.home.page .site-content article {
    margin-bottom: 0;
}

/* ==========================================================================
Main Content
========================================================================== */

.content-section {
    padding-top: 80px;
    padding-bottom: 80px;
    background: #FFFFFF;
    text-align: center;
}
figure .icon-animated {
    height: 110px;
    color-fill: #B86e25;
}
.bg_icon {
  width:110px;
  height:110px;
  fill: red;
}
.content-section h5 {
    text-transform: uppercase;
    letter-spacing: .1rem;
}
.projects-section,
.post-type-archive-projects {
    background: #F3F4F5;
}
.projects-section .button {
    margin-top: 32px;
    margin-top: 2rem;
}
.single-projects article {
    border-bottom: 1px solid #ddd;
}
.single-projects .site-content {
    margin-bottom: 5rem;
}
.single-projects #bx-pager a {
    position: relative;
    width: 100px;
    height: 56px;
    overflow: hidden;
    display: inline-block;
    margin-right: 2rem;
}
.single-projects #bx-pager .active {
    border: 1px solid #FFAC23;
}
.single-projects #bx-pager img {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: auto;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.services-section h5 a{
    text-decoration: none;
    color: #FFAC23;
}
.services-section h5 {
    margin-bottom: 2rem;
}
.single-service {
  margin-bottom: 3rem;
  width: 100%;
}
.service-content {
  padding-left: 2rem;
}

.edit-link {
    margin-bottom: 1rem;
}
.cards-holder {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}
.card {
    position: relative;
    display: block;
    background-color: #fff;
    margin: 1rem .4rem;
}
.card a {
    position: relative;
    -webkit-filter: contrast(1.1) saturate(1.1);
    filter: contrast(1.1) saturate(1.1);
    overflow: hidden;
    display: block;
}
.card .image-permalink {
  height:186px;
}
.single-service .card .image-permalink {
  height: 180px;
}
.card-img-top {
    width: 100%;
    display: block;
    transition: all 0.7s cubic-bezier(0.43, 0, 0.14, 1);
    z-index: 1;
}
.card-img-top:hover {
    transform: scale(1.1) rotate(-1deg);
    transition: all 0.4s cubic-bezier(0.43, 0, 0.14, 1);
}
.card a:before {
    z-index: 2;
}
.card a:after {
    z-index: 3;
}
.card a::after {
    background: -webkit-radial-gradient(40% 40%, circle, rgba(255, 255, 255, 0.8), rgba(255, 200, 200, 0.6), #111 60%);
    background: radial-gradient(circle at 40% 40%, rgba(255, 255, 255, 0.8), rgba(255, 200, 200, 0.6), #111111 60%);
    mix-blend-mode: overlay;
    opacity: .4;
}
.card a:after,
.card a:before {
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    pointer-events: none;
}
.card-block {
    padding: 1.25rem;
    min-height: 137px;
}
.card-block h5,
.card-block p {
    text-align: left;
}
.card-block a {
    text-decoration: none;
    -webkit-filter: none;
    filter: none;
    color: #19212C;
}
.card-title {
    margin-bottom: .75rem;
}
.card-block p:last-child {
    margin-bottom: 0;
}
.clients-section h4 {
    text-transform: uppercase;
}

.clients-section .grid-parent {
  display: flex;
  justify-content: center;
}

.clients-section a img {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.clients-section a:hover img {
    opacity:.8;
}

.testimonial-section {
    background: #FFAC23;
}
.content-section.testimonial-section {
    padding-bottom: 60px;
}
.testimonial-section h3 {
    white-space: pre-line;
}
.testimonial-section h5,
.testimonial-section h3,
.testimonial-section span {
    color: #fff;
    margin-bottom: 2rem;
    display: block;
}
.section-header {
    text-align: center;
    margin-bottom: 50px;
}
.entry-meta {
    clear: both;
}
.contact-section {
    display: none;
}
.page-template-template-contact .cancel-contact {
  display: none;
}
.acf-map {
	width: 100%;
	height: 530px;
	border: #ccc solid 1px;
	margin: 0;
}

/* fixes potential theme css conflict */
.acf-map img {
   max-width: inherit !important;
}

.telephone {
    color: #19212C;
    text-decoration: none;
}
.telephone:hover {
  color: #919191;
}
.map-section {
  position: relative;
  height: 530px;
}
#map {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
}
.map-address {
  position: absolute;
  top: 25%;
  left: 10%;
  z-index: 99;
  background:#fff;
  padding: 50px 100px 30px 50px;
}
.map-address h5 {
  text-transform: uppercase;
  color: #4F4F4F;
  margin-bottom: 1rem;
}
.map-address .address {
  line-height: 1.5rem;
}
.map-address p {
  color: #4F4F4F;
  margin-bottom: 1rem;
}
.activeArea { position: absolute; top: 50px; left: 50px; right: 50px; height: 200px; }
.site-footer a.btn-close,
a.btn-close {
    color: #19212C;
    font-size: 2.5rem;
    font-weight: bold;
    text-decoration: none;
    position: absolute;
    right: 28px;
    top: 15px;
}
.btn-close:hover {
    color: #919191;
}
#contact-modal {
    display: none;
}
.modal:before {
    content: "";
    display: none;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
}
.modal-dialog {
    background: #ffae20;
    border: #ffae20 solid 1px;
    border-radius: 5px;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform .6s ease-in-out;
    width: 80%;
    max-width: 600px;
    z-index: 10001;
}
#lean_overlay {
    position: fixed;
    z-index:100;
    top: 0px;
    left: 0px;
    height:100%;
    width:100%;
    background: #000;
    display: none;
}
.modal-body {
    padding: 0 1rem 2rem;
}
.modal-header{
    padding: 2rem 2.25rem 1rem;
}
.modal-footer {
    padding: 3em 1.7rem 1rem
}
.site-footer .modal-header h3 {
    color: #19212C;
}
.modal input[type="text"],
.modal input[type="email"],
.modal textarea {
    width: 100%;
}
.comments-link {
    font-style: italic;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    float: right;
}
.entry-header {
    margin-bottom: 16px;
    margin-bottom: 1rem;
}
.entry-header .entry-title a {
    text-decoration: none;
}
.entry-header h1 a:visited {
    color: #5E697D;
}
.entry-header h1 a:hover {
    color: #339bcb;
}
article.sticky .featured-post {
    font-style: normal;
    font-weight: 700;
    background-color: #eee;
    color: #777;
    font-size: 16px;
    font-size: 1rem;
    line-height: 3;
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
    text-align: center;
}
.site-content article {
    margin-bottom: 40px;
    margin-bottom: 2.5rem;
    -ms-word-wrap: break-word;
    -webkit-hyphens: auto;
    word-wrap: break-word;
}
.header-meta {
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
    padding: 5px 0;
    padding: 0.3125rem 0;
    *zoom: 1;
}
.header-meta:before,
.header-meta:after {
    content: "";
    display: table;
}
.header-meta:after {
    clear: both;
}
.header-meta a {
    text-decoration: none;
}
.header-meta a:visited {
    color: #5E697D;
}
.header-meta a:hover {
    color: #339bcb;
}
.entry-content {
    margin-bottom: 20px;
    margin-bottom: 1.25rem;
    zoom: 1;
}
.entry-content:before,
.entry-content:after {
    content: "";
    display: table;
}
.entry-content:after {
    clear: both;
}
.post-categories a,
.post-tags a {
    font-size: 14px;
    font-size: 0.875rem;
    color: #647085;
    padding: 0 5px;
    padding: 0 0.3125rem;
    margin: 0 3px 0 0;
    margin: 0 0.1875rem 0 0;
    display: inline;
    text-decoration: none;
}
.post-categories a:visited,
.post-tags a:visited {
    color: #fff;
}
.post-categories a:hover,
.post-tags a:hover {
    color: #19212C;
}
.entry-header address,
.comment-content address {
    font-style: italic;
    font-weight: 400;
    display: block;
}
.entry-header address {
    display: inline;
}
.entry-header time,
.entry-header address {
    font-style: italic;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    margin: 0 20px 0 0;
    margin: 0 1.25rem 0 0;
}
.page-links {
    clear: both;
    line-height: 1.75;
    color: #5E697D;
}
.page-links .page-numbers {
    background-color: #5E697D;
    padding: 2px 4px;
    padding: 0.125rem 0.25rem;
    color: #fff;
}
.page-links a {
    text-decoration: none;
}
.page-links a .page-numbers {
    background-color: transparent;
    color: #5E697D;
}
.page-links a:hover .page-numbers {
    background-color: #339bcb;
    color: #fff;
}
.more-link {
    text-decoration: none;
    outline: 0;
    color: #339bcb;
    color: #666;
text-decoration: none;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 1px;
color: #666;
display: inline-block;
margin-top: 16px;
padding: 9px 0 10px;
border-color: #339bcb;
-o-transition: .2s;
-ms-transition: .2s;
-moz-transition: .2s;
-webkit-transition: .2s;
}
.more-link:hover,
.more-link:active,
.more-link:visited {

}
.post-edit-link {
    text-decoration: none;
}
.entry-content dl,
.comment-content dl {
    margin: 0 24px;
    margin: 0 1.5rem;
}
.entry-content dt,
.comment-content dt {
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
}
.entry-content dd,
.comment-content dd {
    line-height: 1.5;
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
}
.entry-content table,
.comment-content table {
    border-bottom: 1px solid #ccc;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 2;
    margin: 0 0 24px;
    margin: 0 0 1.5rem;
    width: 100%;
}
.entry-content table caption,
.comment-content table caption {
    font-size: 16px;
    font-size: 1rem;
    margin: 24px 0;
    margin: 1.5rem 0;
}
.entry-content td,
.comment-content td {
    border-top: 1px solid #ccc;
    padding: 6px 10px 6px 0;
    padding: 0.375rem 0.625rem 0.375rem 0;
}
.entry-content ol,
.comment-content ol,
.entry-content ul,
.comment-content ul {
    margin: 0 0 24px;
    margin: 0 0 1.5rem;
    line-height: 1.5;
    padding: 0;
}
.entry-content ul ul,
.comment-content ul ul,
.entry-content ol ol,
.comment-content ol ol,
.entry-content ul ol,
.comment-content ul ol,
.entry-content ol ul,
.comment-content ol ul {
    margin-bottom: 0;
}
.entry-content ul,
.comment-content ul {
    list-style: disc outside;
}
.entry-content ol,
.comment-content ol {
    list-style: decimal outside;
}
.entry-content li,
.comment-content li {
    margin: 0 0 0 28px;
    margin: 0 0 0 1.75rem;
    list-style: inherit;
}

/* Author profiles */

.author .archive-header {
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
}
.author-info {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin: 24px 0;
    margin: 1.5rem 0;
    padding: 24px 0;
    padding: 1.5rem 0;
    overflow: hidden;
    *zoom: 1;
}
.author-info:before,
.author-info:after {
    content: "";
    display: table;
}
.author-info:after {
    clear: both;
}
.author-description h2 {
    font-size: 24px;
    font-size: 1.5rem;
}
.author-description p {
    color: #777;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.5;
    margin-bottom: 8px;
    margin-bottom: 0.5rem;
}
.author-link {
    font-size: 14px;
    font-size: 0.875rem;
}
.author-link a {
    color: #777;
    text-decoration: none;
}
.author-link a:visited {
    color: #666;
}
.author-link a:focus,
.author-link a:hover,
.author-link a:active {
    outline: 0;
    color: #339bcb;
}
.author.archive .author-info {
    border-top: 0;
    margin: 0 0 48px;
    margin: 0 0 3rem;
}
.author.archive .author-avatar {
    margin-top: 0;
}
.author.archive .author-link {
    display: none;
}
.author-avatar {
    float: left;
    margin-top: 8px;
    margin-top: 0.5rem;
}
.author-description {
    float: right;
    width: 80%;
}
.social-meta a {
    text-decoration: none;
    margin-right: 5px;
    margin-right: 0.3125rem;
}

/* ==========================================================================
Custom Post Type
========================================================================== */

.single-projects .entry-title,
.single-services .entry-title,
.single-projects .header-meta,
.single-services .entry-header,
.page-template-template-about-us .entry-title {
    text-align: center;
}
.service-image {
  padding: 0;
}
.post-type-archive-services .cards-holder{
  margin-bottom: 0;
}
.page-template-template-about-us .entry-title {
  margin: 0 0 2rem;
}
.single-projects .publish-date,
.single-projects .publish-author .comments-link,
.single-projects .publish-author,
.single-projects .comments-link {
    display: none;
}
.single-projects .wp-post-image,
.single-services .wp-post-image,
.page-template-template-about-us .wp-post-image  {
    width: 100%;
}
.page-template-template-about-us .wp-post-image {
  margin: 0 auto 2rem;
  display: block;
}
.single-projects .section-header a{
    color: #647085;
    font-size: 1.125rem;
    text-decoration: none;
}
.single-services .entry-header, .single-services .wp-post-image  {
  margin-bottom: 50px;
}
.single-service .card {
  margin: 0;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-top: 0;
  margin-bottom: 10px;
}
.list-inline>li:first-child {
    padding-left: 0;
}
.list-inline>li {
    display: inline-block;
    padding-right: 5px;
    padding-left: 5px;
}
.next-post a {
    float: right;
}
.previous-post a,
.next-post a {
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: none;
    color: #19212C;
}
.previous-post img {
    padding: 3px 5px 3px 0;
}
.next-post img {
    padding: 3px 0 3px 5px;
}
.previous-post a:hover,
.next-post a:hover {
    color: #FFAC23;
}

/* ==========================================================================
Post Formats
========================================================================== */

.entry-media {
    margin: 0 auto 16px;
    margin: 0 auto 1rem;
    max-width: 792px;
    width: 100%;
}
.entry-media .wp-caption,
.entry-media .wp-caption-text,
.entry-media [class*="align"] {
    margin: 0 auto;
}
/* Aside */

.format-aside .entry-content {
    margin: 20px 0 18px 0;
    margin: 1.25rem 0 1.125rem 0;
}
.format-aside .entry-content p:last-child {
    margin-bottom: 0;
}
/* Status */

.format-status .entry-content {
    border-left: 5px solid #ddd;
    margin: 20px 0 18px 0;
    margin: 1.25rem 0 1.125rem 0;
    padding: 0 0 0 15px;
    padding: 0 0 0 0.9375rem;
}
.format-status .entry-content p {
    font-size: 20px;
    font-size: 1.25rem;
    font-style: italic;
}
.format-status .entry-content p:last-child {
    margin-bottom: 0;
}
/* Quote */

.format-quote .entry-content blockquote:before {
    font-family: 'FontAwesome';
    font-weight: normal;
    font-style: normal;
    speak: none;
    vertical-align: top;
    font-size: 40px;
    font-size: 2.5rem;
    content: "\f10d";
    color: #ddd;
    top: -15px;
    left: 0;
    position: absolute;
    z-index: -1;
}
.format-quote .entry-content {
    margin-top: 24px;
    margin-top: 1.5rem;
    position: relative;
}
.format-quote .entry-content blockquote {
    border: none;
    margin-left: 40px;
    margin-left: 2.5rem;
}
/* Audio */

.format-audio .wp-audio-shortcode {
    margin-bottom: 16px;
    margin-bottom: 1rem;
}

/* ==========================================================================
Archives
========================================================================== */

.archive-header,
.page-header {
    margin-bottom: 32px;
    margin-bottom: 2rem;
    border-bottom: 1px solid #ccc;
}
.archive-meta {
    font-style: italic;
    font-weight: 400;
    color: #777;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 2;
    margin-top: 16px;
    margin-top: 1rem;
}

.nav-links a, .nav-links span {
  text-decoration: none;
  padding: 5px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

/* ==========================================================================
Comments
========================================================================== */

.comments-title {
    margin-bottom: 48px;
    margin-bottom: 3rem;
    font-size: 32px;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: normal;
}
.comments-area article {
    padding-bottom: 16px;
    padding-bottom: 1rem;
    margin: 24px 0;
    margin: 1.5rem 0;
    border-bottom: 1px solid #ccc;
}
.comments-area article header {
    margin: 0 0 24px;
    margin: 0 0 1.5rem;
    overflow: hidden;
    position: relative;
}
.comments-area article header img {
    float: left;
    padding: 0;
    line-height: 0;
}
.comments-area article header cite,
.comments-area article header time {
    display: block;
    margin-left: 84px;
    margin-left: 5.25rem;
}
.comments-area article header cite {
    font-style: normal;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
}
.comments-area article header time {
    font-style: italic;
    font-weight: 400;
    line-height: 1.8;
    text-decoration: none;
    font-size: 14px;
    font-size: 0.875rem;
    color: #5e5e5e;
}
.comments-area article header a {
    text-decoration: none;
    color: #5e5e5e;
}
.comments-area article header a:hover {
    color: #21759b;
}
.comments-area article header cite a {
    color: #444;
}
.comments-area article header cite a:hover {
    text-decoration: underline;
}
.comments-area article header h4 {
    position: absolute;
    top: 0;
    right: 0;
    padding: 8px 14px;
    padding: 0.5rem 0.875rem;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: normal;
    color: #fff;
    background-color: #0088d0;
    background-repeat: repeat-x;
    background-image: -moz-linear-gradient(top, #009cee, #0088d0);
    background-image: -ms-linear-gradient(top, #009cee, #0088d0);
    background-image: -webkit-linear-gradient(top, #009cee, #0088d0);
    background-image: -o-linear-gradient(top, #009cee, #0088d0);
    background-image: linear-gradient(top, #009cee, #0088d0);
    border-radius: 3px;
    border: 1px solid #007cbd;
}
.comments-area li.bypostauthor cite span {
    position: absolute;
    margin-left: 6px;
    margin-left: 0.375rem;
    padding: 2px 6px;
    padding: 0.125rem 0.375rem;
    font-size: 12px;
    font-size: 0.75rem;
}
a.comment-reply-link {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.8;
    color: #686868;
    text-decoration: none;
}
a.comment-reply-link:hover {
    color: #21759b;
}
.commentlist .pingback {
    line-height: 1.8;
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
    padding-bottom: 0;
}
.commentlist .children {
    margin-left: 48px;
    margin-left: 3rem;
}
.commentlist {
    padding-left: 0;
}
/* Comment form */

#respond {
    margin-top: 48px;
    margin-top: 3rem;
}
#respond h3#reply-title #cancel-comment-reply-link {
    margin-left: 12px;
    margin-left: 0.75rem;
    font-weight: normal;
    font-size: 12px;
    font-size: 0.75rem;
}
#respond form {
    margin: 24px 0 32px 0;
    margin: 1.5rem 0 2rem 0;
}
#respond form p {
    margin: 12px 0;
    margin: 0.75rem 0;
}
#respond form p.logged-in-as {
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
}
#respond form label {
    display: block;
    line-height: 1.8;
}
#respond form input[type="text"],
#respond form textarea {
    font-family: inherit;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.8;
    padding: 8px;
    padding: 0.5rem;
    width: 100%;
}
#respond form input[type="text"] {
    width: 48%;
}
#respond form p.form-allowed-tags {
    margin: 0;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #5e5e5e;
}
#respond form p.form-allowed-tags code {
    background: none;
    border: none;
    color: #5e5e5e;
}
label .required,
span.required {
    color: #bb0504;
}
form label.error {
    font-style: normal;
    font-weight: 700;
    display: block;
    padding: 0 10px 0 10px;
    padding: 0 0.625rem 0 0.625rem;
    margin: 5px 0 5px 0;
    margin: 0.3125rem 0 0.3125rem 0;
    font-size: 14px;
    font-size: 0.875rem;
    border-left: 4px solid #bb0504;
    display: none;
}
#respond form label.error {
    line-height: 1.3;
}

/* ==========================================================================
Footer
========================================================================== */

#footercontainer {
    width: 100%;
}
#footercontainer .site-title a {
    color: #19212C;
    height: auto;
    line-height: inherit;
}
.footer-social-links {
    float: right;
}
.footer-section {
    padding: 80px 0;
    background: #fff;
}
.footer-social-links a {
    color: #19212C;
    font-size: 1.5rem;
    margin-left: 1.25rem;
}
.footer-social-links a:hover {
    color: #323d4c;
}
.site-footer {
    font-size: 16px;
    font-size: 1rem;
    color: #999;
}
.site-footer h3 {
    color: #777;
}
.site-footer a {
    color: #999;
}
.site-footer a:visited {
    color: #19212C;
}
.site-footer a:hover {
    color: #339bcb;
}
.site-footer a:focus {
    outline: thin dotted;
    color: #339bcb;
}
.site-footer .widget-area .widget {
    margin-bottom: 16px;
    margin-bottom: 1rem;
}
.smallprint {
    color: #19212C;
    text-align: center;
}
.smallprint p {
    margin-top: 0.6875rem;
    margin-top: 10px;
}
.smallprint a {
    color: #555;
}
.smallprint a:visited {
    color: #555;
}
.smallprint a:hover {
    color: #339bcb;
}

/* ==========================================================================
Widgets
========================================================================== */

.widget-area ul {
    list-style: none outside none;
    padding-left: 0;
}
.widget-area .widget {
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
    word-wrap: break-word;
    margin-bottom: 48px;
    margin-bottom: 3rem;
}
.widget select {
    margin-left: 1px;
    margin-left: 0.0625rem;
}
.widget-area .widget ul ul {
    margin-left: 12px;
    margin-left: 0.75rem;
}
.widget_rss li {
    margin: 12px 0;
    margin: 0.75rem 0;
}
.widget_recent_entries .post-date,
.widget_rss .rss-date {
    font-size: 12px;
    font-size: 0.75rem;
    margin-left: 12px;
    margin-left: 0.75rem;
}
#wp-calendar {
    margin: 0;
    width: 100%;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 2;
}
#wp-calendar th,
#wp-calendar td,
#wp-calendar caption {
    text-align: center;
}
#wp-calendar thead {
    border-top: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
}
#wp-calendar caption {
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    text-align: left;
}
#wp-calendar #today {
    background-color: #ddd;
}
#wp-calendar tfoot {
    border-top: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
}
#wp-calendar #next {
    padding-right: 24px;
    padding-right: 1.5rem;
    text-align: right;
}
.widget_search label {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.5;
}
.widget_twitter li {
    list-style-type: none;
}
.widget_twitter .timesince {
    display: block;
    text-align: right;
}

/* ==========================================================================
Content Navigation
========================================================================== */

.site-content nav {
    clear: both;
    line-height: 2;
    overflow: hidden;
}
#nav-above {
    padding: 24px;
    padding: 1.5rem;
}
#nav-above {
    display: none;
}
.paged #nav-above {
    display: block;
}
.nav-previous,
.previous-image {
    float: left;
    width: 50%;
    line-height: 1.3;
}
.nav-previous a,
.nav-next a {
    text-decoration: none;
}
.nav-next,
.next-image {
    float: right;
    text-align: right;
    width: 50%;
    line-height: 1.3;
}
.nav-single + .comments-area,
#comment-nav-above {
    margin: 48px 48px 48px 0;
    margin: 3rem 3rem 3rem 0;
}
ul.page-numbers {
    padding: 0;
    margin: 0;
    text-align: center;
    line-height: 2;
}
li a.page-numbers,
li span.page-numbers {
    padding: 5px;
    padding: 0.3125rem;
    text-decoration: none;
}
li a:visited.page-numbers {
    color: #5E697D;
}
li a:hover.page-numbers {
    background-color: #339bcb;
    color: #fff;
}
li a:hover.prev,
li a:hover.next {
    background-color: transparent;
    color: #339bcb;
}
.page-numbers li {
    display: inline;
}
li span.current {
    background-color: #5E697D;
    color: #fff;
}
li a.prev,
li a.next,
li span.dots {
    border: none;
}

/* ==========================================================================
Main Navigation
========================================================================== */
.navigation_container {
    display: inline-block;
    vertical-align: middle;
    height: auto;
}
.main-navigation {
    text-align: left;
    float: right;
    clear: right;
}
.slicknav_menu {
    display: none;
}
.main-navigation h1 {
    font-size: 32px;
    font-size: 2rem;
    line-height: 1.25;
}
.nav-menu {
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.5;
    display: inline-block;
    vertical-align: middle;
    height: auto;
}
.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}
.main-navigation li {
    float: left;
    position: relative;
    margin: 0 0 0 20px;
    /* Margin on the left side of each top level menu item (since it's floated right) */
    margin: 0 0 0 1.25rem;
}
.main-navigation li:first-child {
  margin-left: 0;
}
.home .main-navigation li:hover > a {
    color: #19212C;
}
.main-navigation ul ul li {
    margin: 0;
}
.main-navigation li.menu-item-has-children > a:after {
    /* If you don't want the arrows on the top level drop down, simply remove this style */

    font-family: 'FontAwesome';
    font-weight: normal;
    font-style: normal;
    speak: none;
    vertical-align: middle;
    font-size: 9px;
    font-size: 0.5625rem;
    content: " \f078";
}
.main-navigation ul li li.menu-item-has-children > a:after {
    /* If you don't want the arrows on the sub-menu options, simply remove this style */

    font-family: 'FontAwesome';
    font-weight: normal;
    font-style: normal;
    speak: none;
    vertical-align: middle;
    font-size: 9px;
    font-size: 0.5625rem;
    content: " \f054";
}
.main-navigation a {
    display: block;
    text-decoration: none;
    padding: 10px 0;
    font-size: 0.8125rem;
    letter-spacing: .1rem;
    text-transform: uppercase;
    color: #fff;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.home .sticky-header-spacer {
    display: none;
}
.sticky-header-spacer {
    height: 120px;
}
#headercontainer.sticky .main-navigation a {
    color: #19212C;
}
#headercontainer.sticky .main-navigation ul {
    text-shadow: 0 0 0 rgba(0,0,0,0);
}
.main-navigation .menu-btn a {
    padding: 10px 15px;
}
#headercontainer.sticky .menu-btn a {
    background: #19212C;
    color: #fff;
    border-color: #19212C;
}
#headercontainer.sticky .menu-btn:hover > a {
    color: #19212C;
    background: transparent;
}
.main-navigation ul ul a {
    color: #fff;
    /* Nav bar dropdown link color */
}
.main-navigation li:hover > a {
    color: #19212C;
    /* Nav bar link color on hover */
}
.main-navigation .menu-btn > a {
    border: 1px solid #fff;
    background: transparent;
    color: #fff;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.home .main-navigation .menu-btn >a {
    color: #fff;
    background: transparent;
    border-color: #fff;
}
.main-navigation .menu-btn:hover > a {
    color: #19212C;
    background: transparent;
}
#headercontainer.sticky li:hover > a {
    color: #fff;
}
.main-navigation ul ul:hover > a {
    color: #19212C;
    /* Nav bar dropdown level 2 link color on level 3 hover */

    background-color: #fff;
    /* Nav bar dropdown link background color on hover */
}
.main-navigation ul ul a:hover {
    color: #19212C;
    /* Nav bar dropdown link color on hover */
}

/*** DROPDOWN ***/
.navigation_container .nav-menu .sub-menu,
.navigation_container .nav-menu .children {
  background-color: #fff;
  display: none;
  padding: 0;
  position: absolute;
  margin-top:0;
  left: 0;
  z-index: 99999;
  text-shadow: none;
}

.navigation_container ul.nav-menu ul a,
.navigation_container .nav-menu ul ul a {
  color: #727272;
  margin: 0;
  padding:6px 10px;
  min-width: 165px;
  line-height:20px;
  -o-transition:.22s;
  -ms-transition:.22s;
  -moz-transition:.22s;
  -webkit-transition:.22s;
  transition:.22s;
}

.navigation_container ul.nav-menu ul li,
.navigation_container .nav-menu ul ul li {
  padding-right:0;
  margin-right:0;
}

.navigation_container ul.nav-menu ul a:hover,
.navigation_container .nav-menu ul ul a:hover {

}

.navigation_container ul.nav-menu li:hover > ul,
.navigation_container .nav-menu ul li:hover > ul {
  display: block;
}

.navigation_container .nav-menu .sub-menu ul,
.navigation_container .nav-menu .children ul {
  left: 100%;
  top: 0;

}

/* ==========================================================================
WPML translation plugin
========================================================================== */
#lang_sel {
    width: 65%;
    height: 35px;
}
#lang_sel li {
    width: 100%;
}
#lang_sel ul ul {
    top: 35px;
    width: 100%;
}
#lang_sel a.lang_sel_sel {
    border-radius: 3px;
}
#lang_sel a,
#lang_sel a:visited {
    font-size: 16px;
    font-size: 1rem;
    padding: 5px 0 5px 10px;
}
.main-navigation .menu-item-language .iclflag {
    margin-top: 7px;
}
#lang_sel .iclflag {
    margin-top: 2px;
}
#lang_sel .lang_sel_sel .iclflag {
    margin-top: 6px;
}
#lang_sel_footer .iclflag,
#lang_sel_footer .icl_lang_sel_current {
    margin-top: 6px;
}

/* ==========================================================================
WooCommerce
========================================================================== */
h1.page-title {
    font-style: normal;
    font-weight: 700;
    color: #5E697D;
    margin-top: 0;
}
h1.page-title {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.25;
}
.woocommerce .woocommerce-info:before,
.woocommerce-page .woocommerce-info:before,
.woocommerce .woocommerce-message:before,
.woocommerce-page .woocommerce-message:before {
    color: #339bcb;
}
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-message {
    border-color: #339bcb;
}
.woocommerce #content div.product p.price,
.woocommerce #content div.product span.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-page #content div.product p.price,
.woocommerce-page #content div.product span.price,
.woocommerce-page div.product p.price,
.woocommerce-page div.product span.price,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    color: #339bcb;
}
.woocommerce span.onsale,
.woocommerce-page span.onsale {
    line-height: 2.6;
    min-height: 3em;
    min-width: 3em;
    background-color: #339bcb;
    *background-color: #339bcb;
}
.woocommerce #content nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce-page #content nav.woocommerce-pagination ul li span.current,
.woocommerce-page nav.woocommerce-pagination ul li span.current {
    background-color: #5E697D;
    color: #fff;
}
.woocommerce nav.woocommerce-pagination li a.page-numbers,
.woocommerce nav.woocommerce-pagination li span.page-numbers {
    padding: 5px;
    padding: 0.3125rem;
    text-decoration: none;
    line-height: 1.25;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li {
    margin: 0 .1rem;
    border: none;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers {
    border: none;
}
.woocommerce nav.woocommerce-pagination li a.prev,
.woocommerce nav.woocommerce-pagination li a.next,
.woocommerce nav.woocommerce-pagination li span.dots {
    border: none;
}
.woocommerce nav.woocommerce-pagination li a:hover.page-numbers {
    background-color: #339bcb;
    color: #fff;
}
.woocommerce nav.woocommerce-pagination li a:hover.prev,
.woocommerce nav.woocommerce-pagination li a:hover.next {
    background-color: transparent;
    color: #339bcb;
}
.shipping-calculator-button {
    text-decoration: none;
}

/* ==========================================================================
Page Builders
========================================================================== */

/* Divi Builder - Resize rows to match Sitepoint Construction */
.page-template-page-builderfullwidth.et_divi_builder #et_builder_outer_content .et_pb_section .et_pb_row,
.page-template-page-builderblank.et_divi_builder #et_builder_outer_content .et_pb_section .et_pb_row,
.page-template-page-builderboxed.et_divi_builder #et_builder_outer_content .et_pb_section .et_pb_row {
    max-width: 1180px;
    padding-left: 10px;
    padding-right: 10px;
}
/* Visual Composer - Remove the negative margin when using the full-width page builder template */

.page-template-page-builderfullwidth.wpb-js-composer .vc_row,
.page-template-page-builderblank.wpb-js-composer .vc_row {
    margin-left: 0;
    margin-right: 0;
}
/* SiteOrigin Page Builder - Ensure the grid only extends 100% */

.page-template-page-builderfullwidth.siteorigin-panels .panel-grid,
.page-template-page-builderblank.siteorigin-panels .panel-grid {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Elementor Page Builder - Ensure the grid only extends 100% */

.page-template-page-builderfullwidth.elementor-page .elementor-section.elementor-section-boxed > .elementor-container,
.page-template-page-builderblank.elementor-page .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1180px;
}
/* ==========================================================================
Media Queries
========================================================================== */

@media only screen and (max-width: 1100px) {
    .banner h1 {
        font-size: 44px;
        font-size: 2.75rem;
    }
    .banner h2 {
        font-size: 24px;
        font-size: 1.5rem;
    }
    .map-address {
      left: 25%;
      top: 10%;
      width: 50%;
      padding: 30px;
    }
}
@media only screen and (max-width: 767px) {
    blockquote {
        padding: 3rem 0 0 0;
        margin: 2rem 0;
        background-position: top left;
    }
    .previous-post,
    .next-post {
        margin-bottom: 1.5rem;
    }
    .parallax-content .parallax-caption {
        margin: 0 1rem 2rem;
    }
    .client-logo {
        margin-bottom: 3rem;
        margin-bottom: 32px;
    }
    header .main-navigation {
        margin-top: 0;
        float: none;
    }
    .widget-area {
        margin-top: 32px;
        margin-top: 2rem;
    }
    .header-meta {
        margin-bottom: 16px;
        margin-bottom: 1rem;
    }
    .header-meta a {
        padding: 12px 12px 12px 0;
        padding: .75rem .75rem .75rem 0;
    }
    .header-meta .post-categories a {
        padding: 5px;
        padding: .3125rem;
    }
    .card .image-permalink {
      height: 170px;
    }
    .single-projects .bx-wrapper {
        margin-bottom: 1rem;
    }
    .single-projects #bx-pager {
        display: flex;
        align-content: space-around;
        justify-content: space-between;
    }
    .single-projects #bx-pager a {
        width: 24%;
        height: 40px;
        margin: 0;
    }
    .single-service .service-image {
      margin-bottom: 1rem;
    }
    .services-section h5 {
      margin-bottom: 1rem;
    }
    .single-service .service-content {
      padding-left: 10px;
    }
    ul.page-numbers {
        line-height: 3;
    }
    li a.page-numbers,
    li span.page-numbers {
        padding: 12px 10px;
        padding: .75rem .625rem;
    }
    .more-link {
        padding: 12px 12px 10px 0;
        padding: .75rem .75rem .625rem 0;
    }
    .widget-area a {
        padding: 12px 12px 10px 0;
        padding: .75rem .75rem .625rem 0;
    }
    .widget-area li {
        margin: 12px 12px 10px 0;
        margin: .75rem .75rem .625rem 0;
    }
    .footer-social-links a {
        margin-left: 0;
        margin-right: 20px;
        margin-right: 1.25rem;
    }
    #footercontainer .site-title h1 {
        margin-bottom: 10px;
    }
    input[type="text"],
    input[type="password"],
    input[type="email"],
    input[type="url"],
    textarea,
    .button,
    [type=button],
    [type=reset],
    [type=submit],
    a.button,
    button,
    .wpcf7 input[type="submit"],
    .accent-button,
    a.accent-button {
        width: 100%;
    }
    .home .menu-btn,
    .home .slicknav_nav li.menu-btn {
        display: none;
    }
    .contact-section {
        display: block;
    }
    .modal-body {
        padding-bottom: 0;
    }

    .modal-footer {
        padding-top: 0;
    }
    .home .cancel-contact {
      display: none;
    }
    .wpcf7 textarea {
    height: 100px;
    }
    div.wpcf7-response-output {
        margin-top: 1em;
    }
    .modal-footer h4 {
        font-size: 1.3rem;
        margin-top: 1rem;
        text-align: center;
    }
    .modal:target .modal-dialog {
      box-shadow: 1px 1px 6px 1px rgba(0, 0, 0, 0.2);
      -webkit-box-shadow: 1px 1px 6px 1px rgba(0, 0, 0, 0.2);
    }
    .map-address {
      left: 5%;
      top: 3%;
      width: 90%;
      padding: 15px 30px 0;
      background: rgba(255, 255, 255, 0.69);
    }
    .card-block {
      min-height: 160px;
    }

}
@media only screen and (max-width: 519px) {
    .header-meta .publish-date,
    .header-meta .publish-author,
    .header-meta .post-categories,
    .header-meta .comments-link {
        float: left;
        margin: 8px 0;
        margin: .5rem 0;
    }
    .header-meta .post-categories {
        margin-right: 8px;
        margin-right: .5rem;
    }
    .card-block {
      min-height: 160px;
    }
}

/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {
  .main-navigation {
      display: none;
  }
  .slicknav_menu {
      display: block;
  }
}

@media only screen and (max-width: 420px) {
    .site-title h1.x-long, .site-title h1.xx-long {
      font-size: 1.5rem;
      vertical-align: middle;
    }

    .site-title h1 a {
      font-size: 24px;
      font-weight: bold;
    }
    .site-title h1.x-long a, .site-title h1.xx-long a {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1rem;
      vertical-align: middle;
      white-space: normal;
    }

    li a.prev span,
    li a.next span {
        display: none;
    }
    li a.prev i,
    li a.next i {
        font-size: 24px;
        font-size: 1.5rem;
    }
    .main-navigation ul ul a,
    .main-navigation li:hover > a {
        color: #5E697D;
    }
    .navigation_container .rm-opened li {
        border-bottom: 1px solid rgba(51, 51, 51, 0.1);
    }
    .main-navigation li {
        margin: 0;
    }

    .single-service .card .image-permalink {
      height: 168px;
    }
    .footer-social-links {
      float: none;
      text-align: center;
    }
    .smallprint {
      margin-bottom: 1rem;
    }
    #footercontainer .site-title a {
      margin-bottom: 1rem;
      display: block;
    }
}
@media only screen and (max-width: 320px) {
    .author-description {
        float: left;
        width: 100%;
    }
}

/* ==========================================================================
   Non-semantic helper classes from HTML5 Boilerplate
   Please define your styles before this section.
   ========================================================================== */
/* For image replacement */
.ir {
    display: block;
    border: 0;
    text-indent: -999em;
    overflow: hidden;
    background-color: transparent;
    background-repeat: no-repeat;
    text-align: left;
    direction: ltr;
    *line-height: 0;
}
.ir br {
    display: none;
}

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden {
    display: none !important;
    visibility: hidden;
}

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}
/* Hide visually and from screenreaders, but maintain layout */

.invisible {
    visibility: hidden;
}
/* Contain floats: h5bp.com/q */

.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}
/* ==========================================================================
   Print styles from HTML5 Boilerplate
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
        filter: none !important;
        -ms-filter: none !important;
    }
    /* Black prints faster: h5bp.com/s */

    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]:after {
        content: " (" attr(href) ")";
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }
    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }
    /* Don't show links for images, or javascript/internal links */

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    thead {
        display: table-header-group;
    }
    /* h5bp.com/t */

    tr,
    img {
        page-break-inside: avoid;
    }
    img {
        max-width: 100% !important;
    }
    @page {
        margin: 0.5cm;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}
