/*
Theme Name: GHOST
Theme URI: http://ghostdesignsystem.com/
Author: Aaron Landry
Author URI: http://aaronlandry.net/
Description: Customizable template that is based on the GHOST Design System.
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ghost
*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {margin: 0;}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {display: block;}
audio, canvas, progress, video {display: inline-block; vertical-align: baseline;}
audio:not([controls]) {display: none; height: 0;}
[hidden], template {display: none;}
a {background-color: transparent;}
a:active, a:hover {outline: 0;}
abbr[title] {border-bottom: 1px dotted;}
b, strong {font-weight: bold;}
dfn {font-style: italic;}
mark {background: #ff0;	color: #000;}
small {font-size: 80%;}
sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}
img {border: 0;}
svg:not(:root) {overflow: hidden;}
figure {margin: 1em 40px;}
pre {overflow: auto;}
code, kbd, pre, samp {font-family: monospace, monospace; font-size: 1em;}
button, input, optgroup, select, textarea {color: inherit; font: inherit; margin: 0;}
button {overflow: visible;}
button, select {text-transform: none;}
button, html input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance: button; cursor: pointer;}
button[disabled], html input[disabled] {cursor: default;}
button::-moz-focus-inner, input::-moz-focus-inner {border: 0; padding: 0;}


table {border-collapse: collapse; border-spacing: 0;}
td, th {padding: 0;}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {clear: both;}
p {margin-bottom: 1.5em;}
dfn, cite, em, i {font-style: italic;}
blockquote {margin: 0 1.5em;}
pre {background: #eee; font-family: "Courier 10 Pitch", Courier, monospace;	font-size: 15px; font-size: 0.9375rem; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; overflow: auto; padding: 1.6em;}
code, kbd, tt, var {font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 15px; font-size: 0.9375rem;}
abbr, acronym {border-bottom: 1px dotted #666; cursor: help;}
mark, ins {background: #fff9c0;	text-decoration: none;}
big {font-size: 125%;}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {box-sizing: border-box;}

*, *:before, *:after {box-sizing: inherit;}/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
dt {font-weight: bold;}
dd {margin: 0 1.5em 1.5em;}
img {height: auto; max-width: 100%;}/* Make sure images are scaled correctly and adhere to container width. */
figure {margin: 1em 0;}/* Extra wide images within figure tags don't overflow the content area. */
table {margin: 0 0 1.5em; width: 100%;}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next, .posts-navigation .nav-next, .post-navigation .nav-next {float: right; text-align: right; width: 50%;}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;}/* Many screen reader and browser combinations announce broken words as they would appear visually. */
.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; clip-path: none; 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. */
#content[tabindex="-1"]:focus {outline: 0;}/* Do not show the outline on the skip link target. */

/*--------------------------------------------------------------
# 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;}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {margin: 0 0 1.5em;}	/* Make sure select elements fit in widgets. */
.widget select {max-width: 100%;}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {display: block;}
.updated:not(.published) {display: none;}
.page-links {clear: both; margin: 0 0 1.5em;}

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

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {display: block;}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {border: none; margin-bottom: 0; margin-top: 0; padding: 0;}

/* Make sure embeds and iframes fit their containers. */
embed, iframe, object {max-width: 100%;}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {display: inline-block;}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {margin-bottom: 1.5em; max-width: 100%;}
.wp-caption img[class*="wp-image-"] {display: block; margin-left: auto; margin-right: auto;}
.wp-caption .wp-caption-text {margin: 0.8075em 0;}
.wp-caption-text {text-align: center;}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {margin-bottom: 1.5em;}
.gallery-item {display: inline-block; text-align: center; vertical-align: top; width: 100%;}
.gallery-columns-2 .gallery-item {max-width: 50%;}
.gallery-columns-3 .gallery-item {max-width: 33.33%;}
.gallery-columns-4 .gallery-item {max-width: 25%;}
.gallery-columns-5 .gallery-item {max-width: 20%;}
.gallery-columns-6 .gallery-item {max-width: 16.66%;}
.gallery-columns-7 .gallery-item {max-width: 14.28%;}
.gallery-columns-8 .gallery-item {max-width: 12.5%;}
.gallery-columns-9 .gallery-item {max-width: 11.11%;}
.gallery-caption {display: block;}

.single-service #forminator-module-503 .forminator-row-last{margin-top:0!important;}
.team-items .team-link .img{background-position:center top!important;}
#consent-1{margin-top:10px;}
#consent-1 label.forminator-consent{margin:0!important;}
label{width:auto!important;}
.forminator-consent__label p{color:#FFF!important;}
.banner-bg .text{margin-bottom:20px;}
.form-hidden{display:none;}

.sales-email, .sales-phone{display: block;}
.sales-email:before, .sales-phone:before{float:left;}

.quote-slider .wp-block-group__inner-container .text-slider .slick-list{height:auto!important;}

.table-select{margin-right:20px;}
.table-select:before{content:'Filter by State:';}

tr.group{background:rgba(0, 0, 0, 0.6)!important;}
tr.group td{color:#FFF!important;}

.team-items .team-link{height:450px;}
.team-items .team-link .img {background-position: center center !important;}
.cookie{display:none;}

.page-id-467 #block-6{display:none;}


.single-sales{overflow-x:hidden!important;}

.post-items .excerpt{color:#FFF;}
.grid-items.service-items .excerpt{color:#FFF; visibility:hidden; opacity:0; height:0;}
.grid-items.service-items a .excerpt{transition:all 0.5s ease;}
.grid-items.service-items a:hover .excerpt{visibility:visible; opacity:1; height:120px;}

.big-title{font-size:3rem; color:rgba(11, 57, 72, 1);}


.card.c-count{padding:30px; background:transparent; border:1px solid rgba(0, 0, 0, 0.1); box-shadow:0;}
.card.c-count h3{color:rgba(84, 132, 60, 1); margin-bottom:20px; font-size:1.7em;}
.process-count{position:relative;}
.process-count:before{
	    height: 1px;
    background: rgba(84, 132, 60, 1);
    width: 70%;
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 35px;
}
.process-count .number{background:rgba(218, 235, 209, 1); padding:20px 30px; border-radius:10px; font-size:1.5em; font-weight:bold; color:rgba(84, 132, 60, 1); display:inline-block; margin-bottom:60px; position:relative; box-shadow:0 0 60px 40px rgba(247, 245, 242, 1)}
.process-count .number:before{content: '';
    width: 1px;
    height: 60px;
    position: absolute;
    top: 100%;
    background: rgba(0, 0, 0, 0.1);
    left: 50%;}
.process-count .active .card.c-count{background:#FFF;}
.process-count .active .number{background:rgba(84, 132, 60, 1); color:#FFF;}
.process-count .wp-block-column{text-align:center;}

.wp-block-table table{border-radius:10px; overflow:hidden; outline:1px solid rgba(0, 0, 0, 0.1); background:#FFF;}
.wp-block-table table th, .wp-block-table table td{padding:25px 20px; border: 1px solid rgba(0, 0, 0, 0.1);}
.wp-block-table thead{border:0!important;}
.wp-block-table table th{background:rgba(218, 235, 209, 1); color:rgba(84, 132, 60, 1)}

.page-header{padding:25vh 0 20vh 0!important;}

.case-study-items .item a.card{background-size:200px; background-position:center;}
.service-items .item a.card:before, .case-study-items .item a.card:before{transition:all 0.5s ease;}
.service-items .item a.card:hover:before, .case-study-items .item a.card:hover:before{opacity:1; top:-20vh;}

.single-case-study table{background:transparent; box-shadow:0; border-radius:0; outline:0;}
.single-case-study table td{padding:10px 0; border:0;}
.single-case-study table tr{border-top:1px solid rgba(0, 0, 0, 0.1);}
.single-case-study table tr:first-child{border:0;}
.single-case-study table tr td:last-child{font-weight:bold; color:rgba(84, 132, 60, 1);}
.single-case-study .content .card{box-shadow:none!important; margin:0!important; background:transparent; border:1px solid rgba(0, 0, 0, 0.2);}
.single-case-study .content .card svg{margin:0 auto;}
.single-case-study .card figure{margin:0;}
.single-case-study .card table{border-top:1px solid rgba(0, 0, 0, 0.1); margin-top:10px; margin-bottom:0;}
.single-case-study .card table tr{border:0;}

.box.box-banner{padding-bottom:0; margin:0 20px 10vh 20px; position:relative; border-radius:10px; color:#FFF; background-repeat:no-repeat; background-size:cover; background-position:center center;}
.box.box-banner h2{font-size:3rem; color:#FFF;}
.box.box-banner strong{color:rgba(194, 250, 107, 1); display:inline-block; position:relative; padding:0 10px;}
.box.box-banner strong:before, .box.box-banner strong:after{content:''; position:absolute; top:50%; transform:translatey(-50%); height:1px; background:rgba(194, 250, 107, 1); width:30px;}
.box.box-banner strong:before{left:100%;}
.box.box-banner strong:after{right:100%;}
.box.box-banner:before{content:''; position:absolute; inset:0; background:rgba(0, 0, 0, 0.5); border-radius:10px;}
.box.box-banner .wp-block-group{position:relative; z-index:1;}
.box-banner .box{padding:40px; background:rgba(0, 0, 0, 0.1); border-radius:80px 80px 0 0; backdrop-filter:blur(10px);}
.box-banner .box p{margin:0; color:rgba(255, 255, 255, 0.5); font-size:0.9em;}
.box-banner .box strong{font-size:1.4rem; color:#FFF;}
.box-banner .box strong:before, .box-banner .box strong:after{display:none; }

.alignfull.box{border-radius:0!important;}
.box.box-alt{background-color:rgba(84, 132, 60, 1); color:#FFF;}
.box.box-alt h2, .box.box-alt h5{color:#FFF;}
.content h5{font-size:1.2em; text-transform:capitalize; font-weight:bold;}
.title h5{font-size:1rem!important; color:rgba(84, 132, 60, 1)!important; text-transform:unset;}

.case-study-items .item a.card:before{content:''; position:absolute; inset:0;}
.case-study-items .card{background:transparent; box-shadow:none!important; text-align:center; padding:20px; border:1px solid rgba(255, 255, 255, 0.2); height:100%; display:flex; justify-content:center; position:relative; overflow:hidden;}
.case-study-items .card .text{position:absolute; z-index:1;}
.case-study-items .card h2{ color:#FFF;}
.case-study-items .card h5{font-size:1rem!important; font-family:'Inter',sans-serif; margin-top:10px; color:#FFF;}
.case-study-items .card img{margin:0 auto;}

.alert.alert-default{background:rgba(84, 132, 60, 1); border-radius:0; margin:0;}
.alert.alert-default p{margin:0;}
.alert.alert-default .btn{background-color:#FFF!important; color:rgba(84, 132, 60, 1); padding:8px 24px; margin:-6px 0;}

@media (max-width: 768px) {
	.page-header{padding:150px 0 0 0!important; min-height:0!important;}
	.page-header .container {z-index:4!important;}
	.page-header .card h2, .banner-container .banner-slider h2{font-size:1.8em;}
	.page-header .card h4, .banner-container .banner-slider h4{font-size:1.2em;}
	.page-header .container .card{padding:30px; margin:0 20px; margin-bottom:-40px; background:#F7F5F2; box-shadow:none!important;}
	.page-header .container .card:before, .banner-container .banner-slider .item .text:before{bottom:auto!important; top:-5px!important; border-radius:8px 8px 0 0!important;}
	.headerFloat .item{min-height:50vh!important;}
	
	.banner-container{margin:-10px -10px -100px -10px!important;}
	.banner-container .banner-slider{position:relative!important;}
	.banner-container .banner-slider .item .card{ box-shadow:none!important;}
	.banner-container .banner-slider .item .text{padding:30px!important; background:#F7F5F2;}
	.banner-container .controls{justify-content:center;}
	
	.sales-email, .sales-phone{text-indent: -9999px;}
	.sales-email:before, .sales-phone:before{text-indent: 0; float:left;}
	.sales-email:before{content:'Email';}
	.sales-phone:before{content:'Call';}
	
	.single-sales .header-bottom .logo h2{margin:0 0 20px 0;}
	.single-sales .header .header-bottom{padding:10px 0!important;}
	
	 .box.map:before {
        background-position: -100px -100px;
        background-size: 700px 500px;
        opacity: 0.4;
    }
	
	
}
@media (max-width: 768px) {
	.quote-slider .wp-block-group__inner-container .text-slider .slick-list{height:auto!important;}
}

@media (max-width: 575px) {
	.headerFloat {
		height: 75vh;
	}
	.banner-container {
		margin: -10px -10px 0px -10px!important;
	}
	.banner-container .banner-slider {
		position: absolute!important;
	}
/* 	.banner-container .slick-list, .banner-container .slick-track {
		height: 100% !important;
	} */
	.banner-container .controls {
		bottom: 8vh !important;
	}
	.banner-container .banner-slider {
		top: 60% !important;
	}
	.page-header .card h2, .banner-container .banner-slider h2 {
		font-size: 1.5em !important;
	}
}