:root{
  --green: #228B22;
  --green-2: #15834d;
  --bgColor: #fff;
}

html,body{
  overflow-x: hidden; 
  margin:0;
  font-size: 17px;
  font-family: 'Montserrat', 'Lato', sans-serif;
  font-weight: 300;
}
body {
  position: relative;
  z-index: 0; /* ensures pseudo-element sits behind content */
}

body::before {
  pointer-events: none;
  content: "";
  position: fixed; /* stays in place while scrolling */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('/wp-content/uploads/2025/08/bg-page-scaled.webp') no-repeat center center;
  background-size: cover;
  opacity: 0.4; /* sets transparency of the background image */
  z-index: -1; /* ensures it’s behind all content */
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400; /* Apply bold to headings and strong tags */
}
strong {
  font-weight: 600; /* Apply bold to headings and strong tags */
}
h2, h3, h4, h5{ color:  var(--quinary-color); }
h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span,
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong{ color: var(--tertiary-color)}
h1{
  font-size: 35px;
  font-weight: 600;
  line-height: 50px;
}

@media only screen and (min-width: 576px){
  h1{
    font-size: 45px;
    line-height: 60px;
  }
}
@media only screen and (min-width: 768px){
  h1{
    font-size: 55px;
    line-height: 70px;
  }
}
@media only screen and (min-width: 992px){
  h1{
    font-size: 65px;
    line-height: 80px;
  }
}
@media only screen and (min-width: 1200px){
  h1{
    font-size: 75px;
    line-height: 90px;
  }
}
@media only screen and (min-width: 1400px){
  h1{
    font-size: 85px;
    line-height: 100px;
  }
}
@media only screen and (min-width: 1600px){
  h1{
    font-size: 95px;
    line-height: 110px;
  }
}
html,body,p{color: var(--quinary-color);}
a{
  text-decoration: none;
  color: var(--primary-color);
  font-weight: 400;
}
a:hover{
  text-decoration: none;
  color: var(--quinary-color);
}
img{
  max-width: 100%;
  height: auto;
}
.so-widget-sow-editor ul li{
  margin-bottom: 15px;
}
b{font-weight: bold;}
/* Float Definitions */
.flt-rt{float: right;}
.flt-lft{float: left;}

/* Top Bar Styles */
.top-bar{
  background-color: var(--quarternary-color);
  color: #fff;
  margin: 0;
  padding: 5px 20px
}
.top-bar .location{
  float: left;
}
.top-bar p{
  margin: 10px 15px;
  font-size: 1rem;
  line-height: 1.5rem;
}
.top-bar .properties,
.top-bar .links{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  list-style: none;
}

.top-bar .links li {
  padding-left: 20px;
  padding-right: 20px;
  border-right: 1px solid #ccc; /* line on the right */
}

.top-bar .links li:last-child {
  border-right: none; /* no line on the last one */
}
.top-bar .links i{
  float: right;
  margin: 0px 15px;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #fff;
}
.top-bar a,
.top-bar p,
.top-bar span{ color: #fff;}

.top-bar a {opacity: 0.7;}
.top-bar a:hover {opacity: 1;}

@media only screen and (min-width: 992px){
  .top-bar .properties{
    justify-content: start;
    align-items: center;
    height: 100%;
  }
  .top-bar .links{
    justify-content: end;
    align-items: center;
    height: 100%;
  }
}

.logo {
  height: 90px;
  margin: 0px 20px;
}
.logo a{
  display: flex;
  height: 100%;
}
.logo a img{
  width: auto;
  height: 90px;
  margin: auto;
}
@media only screen and (min-width: 400px){
  .logo a img{ height: 90px; }
}
@media only screen and (min-width: 600px){
  .logo a img{ height: 90px; }
}
@media only screen and (min-width: 768px){
  .logo{ max-width: unset; }
  .logo a img{ height: 90px; }
}

/************************************************************************
***                           Navbar Styles                           ***
************************************************************************/

/* Style the navbar */
#navigation {
  display: block;
  position: relative;
  background: linear-gradient( to bottom, rgba(0,0,0,0.5) 0%, transparent 100% );
  z-index: 1;
}
#navigation .navbar-nav{
  position: relative;
  z-index: 9999;
}
.nav-bar{
  margin-top: 0;
  position: relative;
  z-index: 9999;
}

.navbar{
  z-index: 1000;
  margin-left: auto;
  padding: 0;
  width: 100%;
  border-style: solid;
  border-width: 0px;
  border-color: var(--quinary-color);
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
}
#navigation .navbar-collapse{ display: none; }
#navigation .nav-block{
  align-items: center;
}
@media only screen and (min-width: 992px){
  #navigation .nav-block{
    display: flex;
    height: 70px;
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 35px;
    margin-right: 30px;
  }
}
#navigation.sticky, #navigation.open {
    background-color: #fff;
    z-index: 900;
}
#navigation.sticky .logo-img-webp{
    margin: 0;
}
.navbar .navbar-nav li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 9px;
}

.navbar .navbar-nav li::after {
  content: '';
  position: absolute;
  bottom: 8px;
  left: 10px;
  height: 2px;
  width: calc(100% - 20px);
  background-color: var(--tertiary-color); /* or any specific color */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s ease;
}

.navbar .navbar-nav li a{
  color: #fff;
}
.navbar .navbar-nav li a:hover{
  color: var(--tertiary-color);
}


a.tel{color:var(--tertiary-color);text-decoration: none;font-size: 1.5rem;}
@media only screen and (min-width: 992px){
  .logo img{ width: 100%; height: 100%; margin-top: 13px; }
  #navigation .navbar-collapse{ 
    height: 100%; 
    justify-content: end;
  }
  .navbar-nav .nav-item a {
    color: var(--quinary-color);
    padding: 1.5rem 1rem;
    text-decoration: none;
    margin: auto;
    font-weight: 600;
    height: 100%;
    display:flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
  }
  .navbar .navbar-nav .sub-menu li:after{
    top: 93%;
  }
  .navbar .navbar-nav li:hover::after {
    transform: scaleX(1);
  }
}
  @media only screen and (min-width: 1200px){
  .navbar-nav{padding: 0 0;width:100%;height: 100%;}
}







/************************************************************************/
/***                         Mega-Menu Styles                         ***/
/************************************************************************/
@media screen and (max-width: 991px){
  .navbar-collapse{
    height: auto;
    background-color: var(--primary-color);
    position: absolute;
    left: 0;
    right: 0;
    top: 90px;
    padding: 0 0 20px;
  }
  .navbar-collapse.show{display: block !important;}
  .navbar-nav .nav-item a {margin-left: 0;}
  li.has-mega-menu .sub-menu {
      display: none;
      width: 100%;
      position: relative;
      top: 0px; /*insert the needed value*/
      z-index: 100;
      left:0px;
      right:0px;
      list-style: none;
      padding-inline-start: unset;
      background-color: var(--primary-color);
  }
  li.has-mega-menu:hover>.sub-menu{
  /*flexbox fallback for browsers that do not support CSS GRID lyout*/
      display: flex;
      flex-wrap: wrap;
  }
  li.has-mega-menu>.sub-menu>li>.sub-menu {
      display: none;
      width: 100%;
      position: inherit;
      z-index: 100;
      padding-top: 5px;
      padding-left: 30px;
  }
  li.has-mega-menu:hover>.sub-menu>li>.sub-menu{
      display: block;
  }
  .navbar-expand-lg .navbar-toggler {
    float: right;
    margin-right: 20px;
  }
  .navbar-toggler {
    color: var(--primary-color);
    border-color: var(--secondary-color);
    background-color: var(--primary-color);
  }
  .d-none-sm-md-only{display: none;}
}
li.has-mega-menu>.sub-menu>li.mega-menu-column>a {
  margin-top: 0px;
  text-align: center;
}



.nav-item.mega-menu{
  position: unset;
}


/* Hide all sub-menus by default */
.navbar-nav .nav-item .sub-menu {
  display: none;
  width: 100%;
  margin-left: 2rem;
  z-index: 9999;
}
.navbar-nav .nav-item .sub-menu.mega-menu .sub-menu {
  margin-left: 1rem;
}



/* Default CSS (for mobile devices) */

/* Hide all sub-menus by default */
.navbar-nav .sub-menu {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  padding-top: 10px;
}

.navbar .navbar-nav li.menu-item-has-children{
  flex-direction: column;
}
/* Style for nav items with sub-menus */
.navbar-nav .nav-item.menu-item-has-children > a {
  position: relative;
  padding-right: 30px; /* Make space for the plus icon */
}

/* Add the plus icon to nav items with sub-menus
.navbar-nav .nav-item.menu-item-has-children > a::after {
  content: "\f067"; 
  font-family: 'Font Awesome 7 Pro';
  font-weight: 900;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
} 
*/
/* When sub-menu is open, change the icon to minus */
.navbar-nav .nav-item.menu-item-has-children.open > a::after {
  content: "\f068"; /* Font Awesome minus icon */
}

/* Display sub-menu when parent has 'open' class */
.navbar-nav .nav-item.menu-item-has-children.open > .sub-menu {
  display: block;
}

.navbar-nav .nav-item.menu-item-has-children li{
  display: flex;
  flex-wrap: wrap;
}
.navbar-nav .nav-item a
.navbar-nav .nav-item.menu-item-has-children a,
.navbar-nav .nav-item.menu-item-has-children h3,
.navbar-nav .nav-item.menu-item-has-children .submenu-toggle{
  display: inline-flex;
  font-size: 1.25rem;
  padding: 15px 0;
  margin: auto 0;
}
.navbar-nav .nav-item.menu-item-has-children .submenu-toggle{
  margin-left: auto;
}
.navbar-nav .nav-item.menu-item-has-children .submenu-toggle a{
  padding: 0;
}
/* Ensure only top-level mega-menu has the plus icon */
.navbar-nav .nav-item.mega-menu > a::after {
  content: "\f067"; /* Font Awesome plus icon */
}

.navbar-nav .nav-item.mega-menu .sub-menu{
  width: 100%;
}
/* Remove plus icons from mega-menu child items */
.navbar-nav .nav-item.mega-menu .sub-menu .menu-item > a::after {
  content: none;
}

/* Larger screens (media queries for devices larger than 992px) */
@media only screen and (min-width: 992px) {
  /* Show sub-menus on hover */
  .navbar-nav .sub-menu,
  .navbar-nav .nav-item.menu-item-has-children .submenu-toggle {
    display: none;
  }
  .navbar-nav .nav-item.menu-item-has-children h3{
    display: block;
    width: 100%;
    padding-left: 1rem;
  }
  .navbar-nav .menu-item:hover .sub-menu {
    display: block;
    margin-left: 0;
    width: max-content;
    position: absolute;
    top: 95%;
    padding: 25px;
    background-color: rgba(0, 0, 0, 0.75);
    border-radius: 35px;
  }

  /* Mega-menu styles */
  .navbar-nav .nav-item:hover > .sub-menu.mega-menu {
    display: grid;
    position: absolute;
    top: 100%; /* Position below the navbar */
    left: 50%;
    transform: translateX(-50%);
    width: 94%;
    max-width: 1196px;
    background-color: #fff;
    grid-template-columns: repeat(3, 1fr); /* Number of columns */
    gap: 20px; /* Spacing between columns */
    padding: 20px;
    border-radius: 0 0 25px 25px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 1000; /* Ensure it appears above other elements */
  }
  .navbar-nav .nav-item .sub-menu.mega-menu li:hover {
    background: transparent;
  }
  .navbar-nav .nav-item .sub-menu.mega-menu li:hover h3{
    background-color: var(--primary-color);
    color: #fff;
  }
  .navbar-nav .nav-item .sub-menu.mega-menu li a{
    color: var(--quinary-color);
  }
  .navbar-nav .nav-item .sub-menu.mega-menu .sub-menu li:hover a {
      color: var(--quarternary-color);
  }

  /* Remove plus/minus icons on desktop */
  .navbar-nav .nav-item.menu-item-has-children > a::after {
    content: none;
  }
  .navbar-nav .nav-item .sub-menu.mega-menu .sub-menu {
    margin-left: 1rem;
    position: relative;
    top: 0;
  }
}



.logo-img-webp{
  position: relative;
  height: 60px;
  width: 60px;
  float: left;
  margin: 10px 0;
}
#logo-img {
  content: '';
  background-image: url(/assets/images/flo-logo-mobile.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  padding-top: 60px;
  padding-left: 60px;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu a::after {
  transform: rotate(-90deg);
  right: 6px;
  top: .8em;
}
.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-left: .1rem;
  margin-right: .1rem;
}
.dropdown-submenu .dropdown-menu a {
  padding: .25rem 2.5rem;
}
.dropdown-submenu .dropdown-menu .dropdown-submenu .dropdown-menu a {
  padding: .25rem 3.5rem;
}

.extra{color: var(--secondary-color);font-size: 1.5rem;font-weight: 600;}
.navbar-call{
  padding: 5px 15px;
  display: flex;
  position: relative;
  justify-content: center;
  z-index: 9999;
}
.navbar-call a{
  margin-right: 0px;
  font-size: 16px;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  line-height: 1rem;
  height: 42px;
}
.navbar-call a span{
  display: inline-block;
  margin-left: 10px;
}
@media only screen and (min-width: 992px){
  .navbar-call a{
    margin-right: 0;
  }
}
@media only screen and (min-width: 1200px){
  #navigation .navbar-nav{
    justify-content: end;
  }
}

@media only screen and (min-width: 500px){
  .navbar-call a span{
    display: inline-block;
    margin-left: 10px;
  }
}
@media only screen and (min-width: 348px){
  .navbar-call a{display: flex; width: fit-content;}
}








/************************************************************************
***                         Page Header Styles                        ***
************************************************************************/
.banner-top{margin-top: 100px;}
/* Make the <img> behave like a cover background */
.header-bg-img {
  position: relative;
  overflow: hidden;
}
.header-bg-img > .banner-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;            /* critical: fills like background-size: cover */
  z-index: 0;
}
.header-bg-img > .banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,var(--overlay, .35)), rgba(0,0,0,var(--overlay, .35)));
  pointer-events: none;
  z-index: 1;
}
.header-bg-img .container,
.header-bg-img .banner-main {
  position: relative;
  z-index: 2; /* content on top of image/overlay */
}
.bg-img.dark:after{
  background: linear-gradient(0deg,
  rgba(0,0,0,0.75),
  rgba(0,0,0,0.75));
  border-radius: 15px;
}
.bg-img.primary:after{
  background: var(--primary-color);
}
.bg-img.secondary:after{
  background: var(--secondary-color);
}
.bg-img.tertiary:after{
  background: var(--tertiary-color);
}
.bg-img.quarternary:after{
  background: var(--quarternary-color);
}
.bg-img.quinary:after{
  background: var(--quinary-color);
}
.bg-img.o-50:after{
  opacity: 50%;
}
.bg-img.o-55:after{
  opacity: 55%;
}
.bg-img.o-60:after{
  opacity: 60%;
}
.bg-img.o-65:after{
  opacity: 65%;
}
.bg-img.o-70:after{
  opacity: 70%;
}
.bg-img.o-75:after{
  opacity: 75%;
}
.bg-img.o-80:after{
  opacity: 80%;
}
.bg-img.o-85:after{
  opacity: 85%;
}
.bg-img.o-90:after{
  opacity: 90%;
}
.bg-img.o-95:after{
  opacity: 95%;
}
.bg-img.dark,
.bg-img.dark .gform_widget i,
.bg-img.dark .gform_widget a,
.bg-img.dark .gform_widget p,
.bg-img.dark .gform_widget h2,
.bg-img.dark .gform_widget h3,
.bg-img.dark .gform_widget h4,
.bg-img.dark .gform_widget h5,
.bg-img.dark .gform_widget span{color: #fff;}

.bg-img .widget,
.bg-img.dark .widget{
  position: relative;
  z-index: 1;
}
.bg-img.dark .button{
  background-color: #fff;
  border: 2px solid #fff;
  border-radius: 5px;
  color: var(--quarternary-color);
}
.bg-img.dark .button:hover{
  background-color: transparent;
  color: #fff;
}
.bg-img .panel-grid-cell{  
  padding: 50px 0;
  z-index: 1;
}
.bg-img p,
.bg-img h2,
.bg-img h3,
.bg-img h4,
.bg-img h5,
.bg-img h6{
  color: #fff;
}
.sow-slider-base ul.sow-slider-images li.sow-slider-image.sow-slider-image-cover {
  background-repeat: repeat;
}
.page-header{
  display: flex;
  width: 100%;
  min-height: 60vh;
  padding-top: 30px;
  padding-bottom: 30px;
  margin-top: auto;
}
.page-header.blog{
  min-height: 250px;
  display: flex;
  padding: 0;
}
.page-header.blog .container{margin: auto;}
.page-header.blog h1{margin-bottom: 0;}
.page-header,
.page-header h1,
.page-header h2,
.page-header h3,
.page-header p,
.page-header a{color: #fff;}
.page-header h1{margin-bottom: 20px;}
.page-header .breadcrumbs{margin-top: 0rem;}
.page-header-caption.position1{
  right: 15%;
  top: 20%;
  left: 15%;
}
.page-header .container{
  margin-top: auto;
}

@media only screen and (min-width: 500px){
  .page-header{
    min-height: 65vh;
    padding-top: 75px;
    padding-bottom: 75px;
  }
  .page-header h1{margin-bottom: 30px;}
  .page-header.blog{
    min-height: 300px;
  }
}
@media only screen and (min-width: 768px){
  .page-header{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 95vh;
    padding-top: 75px;
    padding-bottom: 175px;
  }
  .page-header.left{
    text-align: left;
  }
  .page-header.right{
    text-align: right;
  }
  .page-header.center{
    text-align: center;
  }
  .local-service .page-header{
    min-height: 500px;
  }
  .local-service .page-header h1{
    color: #fff;
  }
  banner.case-studies .page-header{
    min-height: 100%;
  }
  banner.case-studies .cta{
    border-radius: 25px;
  }
  .page-header h1{margin-bottom: 30px;}
  .page-header.blog{
    min-height: 550px;
  }
}
.page-heading{position: relative;margin-top: 100px;}
.page-heading h3.widget-title:after{
  content: '';
  background-color: var(--primary-color);
  height: 3px;
  width: 50px;
  position: absolute;
  top: 40px;
  margin-left: 15px;
}
.page-header .meta{
  display: block;
  position: absolute;
  bottom: 50px;
  left: 100px;
}

@media only screen and (max-width: 535px){
  .sow-slider-base ul.sow-slider-images .sow-slider-image-wrapper {
    padding: 200px 30px 200px 30px !important;
  }
  .page-header .meta{
    left: 30px;
  }
}

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


#banner .so-widget-sow-hero::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.35;
    background-color: var(--quinary-color);
    z-index: 2;
    cursor: pointer;
}

.banner-head,
.banner-head h1 {
  border-width: 0;
  margin: 0 0 25px 0;
  padding: 0;
}
.banner-sub-head {
  line-height: 28px;
  border-width: 0;
  margin: 0 0 25px 0;
  padding: 0;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 16px;
}
.banner-extra {
  line-height: 25px;
  border-width: 0;
  margin: 0 0 20px 0;
  padding: 0;
  letter-spacing: 0;
  font-weight: 200;
  font-size: 15px;
}
@media only screen and (min-width: 768px) and (max-width: 991px){
  .banner-head,
  .banner-head h1{  
    margin-top: 0px;
    margin-bottom: 30px;
  }
  .banner-sub-head {  
    font-size: 23px; 
    line-height: 42px;
    margin-top: 0px;
    margin-bottom: 30px;
  }
  .banner-extra { 
    font-size: 17px; 
    line-height: 30px;
    margin-top: 0px;
  }

  div.modal-dialog { max-width: 700px; }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .banner-head,
  .banner-head h1{  
    margin-top: 0px;
    margin-bottom: 30px;
  }
  .banner-sub-head {  
    font-size: 23px; 
    line-height: 42px;
    margin-top: 0px;
    margin-bottom: 30px;
  }
  .banner-extra { 
    font-size: 18px; 
    line-height: 30px;
    margin-top: 0px;
  }

  div.modal-dialog { max-width: 900px; }
}
@media only screen and (min-width: 1200px) {
  .banner-head,
  .banner-head h1 {
      border-width: 0px;
      margin: 0 0 35px 0;
      padding: 0px;
  }
  .banner-sub-head {
      line-height: 30px;
      border-width: 0px;
      margin: 0 0 35px 0;
      padding: 0px;
      letter-spacing: 0px;
      font-size: 23px;
  }
  .banner-extra {
      line-height: 30px;
      border-width: 0px;
      font-size: 19px;
  }

  div.modal-dialog { max-width: 1000px; }
}
@media only screen and (max-width: 786px){
  .so-widget-sow-hero-default-da5d2dca5fa4-430 .sow-slider-base ul.sow-slider-images .sow-slider-image-wrapper {
    padding: 200px 50px !important;
  }
}
@media only screen and (max-width: 400px){
  #banner .extra{
    font-size: 24px;
  }
  #banner h1{
    font-size: 36px !important;
  }
  #banner p{
    font-size: 20px;
  }
  #banner a{
    font-size: 20px;
  }
}

banner, header{
  display: block;
  margin-bottom: 50px;
  margin-top: -100px;
}










/* The sticky class is added to the navbar with JS when it reaches its scroll position */
.sticky {
position: fixed;
top: 0;
width: 100%;
}

/* Add some top padding to the page content to prevent sudden quick movement (as the navigation bar gets a new position at the top of the page (position:fixed and top:0) */
.sticky + .content {
padding-top: 60px;
}



.signature{font-family: 'Brush Script MT', cursive;font-size: 2rem;}

/* Sidebar Styles */

#sidebar {
  z-index: 1000;
  height: unset;
  overflow-y: visible;
  background: transparent;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#sidebar a {
  color: var(--primary-color);
  display: block;
  text-decoration: none;
}

#sidebar .sidebar-header {
  background-color:  #0975c2;
  font-size: 20px;
  line-height: 52px;
  text-align: center;
  border-bottom: 1px solid #0975c2;
}

#sidebar .wp-block-categories{
  list-style: none;
}

#sidebar .nav li {
  position: relative;
  background: none;
  width: 100%;
  padding: 16px 24px;
  border-bottom: 1px solid #0975c2;
}
#sidebar .nav li.active,
#sidebar .nav li:hover {
  position: relative;
  background: #fff;
  width: 100%;
  padding: 16px 24px;
  border-top: 0px;
  border-right: 1px solid #0975c2;
  border-left: 1px solid #0975c2;
  border-bottom: 1px solid #0975c2;
}
#sidebar .nav li.active a,
#sidebar .nav li:hover a {
  color: #0975c2;
  text-decoration: none;
}
#sidebar .nav a {
  background: none;
  color: #CFD8DC;
  font-size: 14px;
}
#sidebar .nav a:hover {
  text-decoration: none;
}


#sidebar .nav a i{
  margin-right: 16px;
}

#sidebar .group{margin-bottom: 30px;}





#sidebar-services {
  z-index: 1000;
  height: 100%;
  overflow-y: auto;
  background: transparent;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

#sidebar-services h2 {
  color: #fff;
  background-color: var(--quinary-color);
  font-size: 20px;
  line-height: 52px;
  text-align: center;
  border-bottom: 3px solid var(--quinary-color);
}

#sidebar-services a {
  color: var(--quinary-color);
  font: 600 16px/25px Montserrat,sans-serif;
  display: block;
  background: #f1f1f1;
  border-left: 4px solid #d2d2d2;
  padding: 15px 25px;
  -webkit-transition: all .3s linear;
  -o-transition: all .3s linear;
  transition: all .3s linear;
}

#sidebar-services ul{list-style: none;padding-inline-start: 0;}

#sidebar-services li+li{margin-top: 3px;}

#sidebar-services a:hover,
#sidebar-services a:focus,
#sidebar-services a:active,
#sidebar-services .current_page_item a {
  color: #fff;
  background-color: var(--primary-color);
  text-decoration: none;
  margin-left: -4px;
}


#sidebar-services .nav li {
  position: relative;
  background: none;
  width: 100%;
  padding: 16px 24px;
  border-bottom: 1px solid #0975c2;
}
#sidebar-services .nav li.active,
#sidebar-services .nav li:hover {
  position: relative;
  background: #fff;
  width: 100%;
  padding: 16px 24px;
  border-top: 0px;
  border-right: 1px solid #0975c2;
  border-left: 1px solid #0975c2;
  border-bottom: 1px solid #0975c2;
}
#sidebar-services .nav li.active a,
#sidebar-services .nav li:hover a {
  color: #0975c2;
  text-decoration: none;
}
#sidebar-services .nav a {
  background: none;
  color: #CFD8DC;
  font-size: 14px;
}
#sidebar-services .nav a:hover {
  text-decoration: none;
}


#sidebar .nav a i{
  margin-right: 16px;
}
.service-text h2{font-size: 2rem;}
.service-text h3{font-size: 1.5rem;}
.service-text h4{font-size: 1.25rem;}
.service-text h5{font-size: 1rem;}
.service-text ul{list-style: none;margin: 20px auto 30px;}
.service-text ul li{line-height: 40px;}
.service-text ul li:before {
  font-family: 'Font Awesome 7 Pro';
  content: '\f043';
  margin:0 15px 0 -15px;
  color: var(--primary-color);
}
.sow-accordion-panel .sow-accordion-panel-header{
  background-color: var(--primary-color);
}
#service-accordion .sow-accordion-panel .sow-accordion-panel-header{background-color: var(--quinary-color);}

.accordion{ 
  border-radius: 0;
}
.accordion-body {
  padding: 20px 20px 0;
}
.accordion-header{
  border-radius: 0 !important;
}
.accordion-header .accordion-button{
  align-items: center;
  background-color: transparent;
  color: var(--quinary-color);
  font-weight: 700;
  cursor: pointer;
  display: flex;
  padding: 15px 30px 15px 30px;
  position: relative;
  text-transform: none;
  border: none;
  border-radius: 0 !important;
}
.accordion-header .accordion-button:hover,
.accordion-header .accordion-button:not(.collapsed){
  background-color: transparent;
  color: var(--quinary-color);
}
.accordion-header br{ display: none; }
.accordion-item {
  border-radius: 0 !important;
  background: transparent;
  border-color: #fff;
  border-right: none;
  border-left: none;
}
.accordion-item p{margin-bottom: 0;}
.accordion-collapse .accordion-body p{ margin-bottom: 1rem; }

.input-form{margin-bottom: 15px;}
.input-form .row{flex-wrap: nowrap;}
.input-form .row .radio{ width: 85px; }

#service-form form{background-color: var(--quarternary-color);border-color: var(--quinary-color);padding: 20px;}

#service-form form input[type="text"],
#service-form form input[type="email"],
#service-form form select {color: var(--quinary-color);padding-left: 10px;height: 31px; width: 100%;}
#service-form form textarea{color: var(--quinary-color);padding-left: 10px;height: 185px; width: 100%;}

#service-form form input[type="text"]::placeholder,
#service-form form input[type="email"]::placeholder,
#service-form form select::placeholder,
#service-form form textarea::placeholder {color: var(--quinary-color); opacity: 75%;}

#side-form form{
  display: flex;
  flex-wrap: wrap;
  background-color: transparent;
  border: none;
}
#side-form .sow-form-field-name,
#side-form .sow-form-field-email,
#side-form .sow-form-field-select,
#side-form .sow-form-field-text{
width:100%;
}
#side-form .sow-field-container{padding-right: 20px;}
#side-form input::placeholder,
#side-form select::placeholder,
#side-form textarea::placeholder{color: var(--quinary-color);opacity: 65%;}
#side-form input, #side-form select, #side-form textarea{background-color: #f7f7f7;border: none;}
#side-form input, #side-form select{height: 31px;width: 100%;}
#side-form .sow-form-field-textarea{width: 100%;}
#side-form .sow-form-field-textarea textarea{height: 150px;resize: none;}
#side-form .sow-submit{padding: 10px 25px;font-weight: 600;font-size: 1.25rem;border-radius: 0;}
#side-form .sow-submit {
  color: #fff;
  background:var(--primary-color);
  border: 2px solid var(--primary-color);
  height: unset;
  box-shadow: none;
}
#side-form .sow-submit:hover, #side-form .sow-submit:active  {
  color: var(--primary-color);
  background-color: transparent;
  border-color: var(--primary-color);
}
@media only screen and (min-width: 768px){
  #side-form .sow-form-field-name,
  #side-form .sow-form-field-email,
  #side-form .sow-form-field-select,
  #side-form .sow-form-field-text{
  width:50%;
  }
}
ul.checks{
  list-style: none;
  margin-bottom: 30px;
  columns: 1;
  -webkit-columns: 1;
  -moz-columns: 1;
}
ul.checks li:before {
  font-family: 'Font Awesome 7 Pro';
  content: '\f00c';
  margin: 0 15px 0 -15px;
  color: var(--primary-color);
}
ul.checks-double{
  list-style: none;
  margin-bottom: 30px;
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}
ul.checks-double li{margin-right: 10px;}
ul.checks-double li:before {
  font-family: 'Font Awesome 7 Pro';
  content: '\f00c';
  margin: 0 10px 0 -29px;
  color: var(--primary-color);
}

ul.col-3{
  display: flex;
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  width: 100%;
}
ul.col-3 li{
  width: 100%;
}
@media only screen and (min-width: 768px){
  ul.col-3{
    flex-direction: row;
  }
  ul.col-3 li{
    width: 50%;
  }
}
@media only screen and (min-width: 1024px){
  ul.col-3 li{
    width: 33.3%;
  }
}

#services .sow-features-list{
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);
  -moz-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);
}
@media only screen and (min-width: 781px){
  #services .sow-features-list{
    gap: 0;
  }
}
#services .sow-features-list .sow-features-feature{
  padding: 30px 20px !important;
  margin-bottom: 0;
}
#services .sow-features-list .sow-features-feature:hover{background-color: var(--quarternary-color);}
#services .sow-features-list .sow-features-feature .icon-container{
  display: flex;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-color: rgba(7, 127, 221, 0.3);
  margin: auto;
}
#services .sow-features-list .sow-features-feature .icon-container i{
  color: var(--primary-color);
  font-size: 75px;
  line-height: 150px;
  margin: auto;

}
#services .sow-features-list .sow-features-feature:hover .icon-container{
  background-color: #B4D8F5;
}
#services .sow-features-list .sow-features-feature:hover h2,
#services .sow-features-list .sow-features-feature:hover h3,
#services .sow-features-list .sow-features-feature:hover h4,
#services .sow-features-list .sow-features-feature:hover h5,
#services .sow-features-list .sow-features-feature:hover h6,
#services .sow-features-list .sow-features-feature:hover p{color: #fff;}
#services .sow-features-list .sow-features-feature:nth-of-type(even):hover a,
#services .sow-features-list .sow-features-feature a{
  display: inline-block;
  position: relative;
  margin: 30px 0 0;
  padding: 15px 20px;
  color: #fff;
  background-color: var(--quarternary-color);
  border: 2px solid var(--quarternary-color);
  border-radius: 5px;
  text-decoration: none;
}
#services .sow-features-list .sow-features-feature:nth-of-type(even):hover a:hover,
#services .sow-features-list .sow-features-feature a:hover{
  color: var(--quarternary-color);
  background-color: transparent;
  border: 2px solid var(--quarternary-color);
  text-decoration: none;
}
#services .sow-features-list .sow-features-feature:nth-of-type(even){
  background-color: rgba(65, 164, 240, .1);
}
#services .sow-features-list .sow-features-feature:nth-of-type(even) h2,
#services .sow-features-list .sow-features-feature:nth-of-type(even) h3,
#services .sow-features-list .sow-features-feature:nth-of-type(even) h4,
#services .sow-features-list .sow-features-feature:nth-of-type(even) h5,
#services .sow-features-list .sow-features-feature:nth-of-type(even) h6,
#services .sow-features-list .sow-features-feature:nth-of-type(even) p{color:var(--quinary-color);}
#services .sow-features-list .sow-features-feature:nth-of-type(even) a{
  display: inline-block;
  position: relative;
  margin: 30px 0 0;
  padding: 15px 20px;
  color: #fff;
  background-color: var(--quarternary-color);
  border: 2px solid var(--quarternary-color);
  text-decoration: none;
}
#services .sow-features-list .sow-features-feature:hover{
  background-color: var(--quarternary-color);
  color: #fff;
}
#services .sow-features-list .sow-features-feature:hover h2,
#services .sow-features-list .sow-features-feature:hover h3,
#services .sow-features-list .sow-features-feature:hover h4,
#services .sow-features-list .sow-features-feature:hover h5,
#services .sow-features-list .sow-features-feature:hover h6,
#services .sow-features-list .sow-features-feature:hover p { 
  color: #fff;
}
#services .sow-features-list .sow-features-feature p.sow-more-text a:hover{text-decoration: none !important;}

#services .sow-features-list .sow-features-feature:hover a{
  background-color: var(--primary-color) !important;
  border: 2px solid var(--primary-color) !important;
  color: #fff;
}
#services .sow-features-list .sow-features-feature:hover a:hover{
  background-color: transparent !important;
  border: 2px solid #fff !important;
  color: #fff !important;
}

#services .sow-features-list .sow-features-feature:hover .borderRotateHover {
  -webkit-animation-name: rotate-cw;
  -webkit-animation-duration: 36s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-name: rotate-cw;
  -moz-animation-duration: 36s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: linear;
  -ms-animation-name: rotate-cw;
  -ms-animation-duration: 36s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-timing-function: linear;
}
#services .sow-features-list .sow-features-feature h5{display: none;}

#service-blocks{
  
}
#service-blocks .col-12{
  margin-bottom: 30px;
}
#service-blocks .block,
#service-blocks .block a{
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 25px;
  padding: 30px 20px 15px;
  transition: 0.3s;
}
#service-blocks .block{
  border: 2px solid #f3f2f0;
}
#service-blocks .block:hover{
  box-shadow: 0px 10px 25px 0px rgba(54, 95, 104, 0.15);
}
#service-blocks .block i{
  font-size: 2.5rem;
  color: var(--tertiary-color);
  font-weight: 600;
  margin: 0 0 20px 0;
}

@media only screen and (min-width: 650px){
  #service-blocks .block,
  #service-blocks .block a{
    flex-direction: row;
    align-items: start;
  }
  #service-blocks .block i{
    margin: 0 20px 0 0;
  }
}




/************************************************************************/
/***                         Blocks Styles                            ***/
/************************************************************************/
#feature-blocks{

}
#feature-blocks .col-12{
  margin-bottom: 30px;
}
#feature-blocks .sow-features-list .sow-features-feature{
  display: flex;
  height: inherit;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  background-color: #fff;
  border-radius: 25px;
  padding: 30px 20px 15px;
  transition: 0.3s;
  border: 2px solid #f3f2f0;
}
#feature-blocks .sow-features-list .sow-features-feature:hover{
  box-shadow: 0px 10px 25px 0px rgba(54, 95, 104, 0.15);
}
#feature-blocks.feature-grey .sow-features-list .sow-features-feature{
  border: 2px solid #f3f2f0;
}
#feature-blocks .sow-features-list .sow-features-feature h3{
  margin: 0.5rem 0;
}
#feature-blocks .sow-features-list .sow-features-feature p{
  font-weight: bold;
}

@media only screen and (min-width: 650px){
  #feature-blocks .block,
  #feature-blocks .block a{
    flex-direction: row;
    align-items: start;
  }
  #feature-blocks .block i{
    margin: 0 20px 0 0;
  }
}
#feature-blocks.feature-col-2 .sow-features-list .sow-features-feature,
#feature-blocks.feature-col-3 .sow-features-list .sow-features-feature{
  width: 100%;
}
@media only screen and (min-width: 992px){
  #feature-blocks.feature-col-2 .sow-features-list .sow-features-feature,
  #feature-blocks.feature-col-3 .sow-features-list .sow-features-feature{
    width: calc(50% - 25px) !important;
  }
}
@media only screen and (min-width: 1400px){
  #feature-blocks.feature-col-3 .sow-features-list .sow-features-feature{
    width: calc(33% - 25px) !important;
  }
}


#feature-blocks-bs{
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  justify-content: center;
  margin-bottom: 100px;
}
#feature-blocks-bs .col-12{
  margin-bottom: 30px;
}
#feature-blocks-bs .feature{
  display: flex;
  height: inherit;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  background-color: #fff;
  border-radius: 25px;
  padding: 30px 20px 15px;
  transition: 0.3s;
  border: 2px solid #f3f2f0;
}
#feature-blocks-bs .feature:hover{
  box-shadow: 0px 10px 25px 0px rgba(54, 95, 104, 0.35);
}
#feature-blocks-bs.feature-grey .feature{
  border: 2px solid #000;
}
#feature-blocks-bs .icon-container{
  margin-right: 0;
}
#feature-blocks-bs .feature h3{
  margin: 0.5rem 0;
}
#feature-blocks-bs .feature p{
  font-weight: bold;
}
#feature-blocks-bs .feature i{
  font-size: 64px;
  color: #e93e3a;
}

@media only screen and (min-width: 650px){
  #feature-blocks-bs .block,
  #feature-blocks-bs .block a{
    flex-direction: row;
    align-items: start;
  }
  #feature-blocks-bs .block i{
    margin: 0 20px 0 0;
  }
}
@media only screen and (min-width: 768px){
  #feature-blocks-bs .feature{
    flex-direction: row;
  }
  #feature-blocks-bs .icon-container{
    margin-right: 10px;
  }
}
#feature-blocks-bs.feature-col-2 .feature,
#feature-blocks-bs.feature-col-3 .feature{
  width: 100%;
}
@media only screen and (min-width: 992px){
  #feature-blocks-bs.feature-col-2 .feature,
  #feature-blocks-bs.feature-col-3 .feature{
    width: calc(50% - 25px) !important;
  }
}
@media only screen and (min-width: 1400px){
  #feature-blocks-bs.feature-col-3 .feature{
    width: calc(33% - 25px) !important;
  }
}
#feature-blocks-bs .feature.cta{
  background-color: var(--tertiary-color);
  text-align: left;
  border-color: var(--tertiary-color);
}
#feature-blocks-bs .feature.cta i,
#feature-blocks-bs .feature.cta p,
#feature-blocks-bs .feature.cta h3,
#feature-blocks-bs .feature.cta h4{ color: #fff; }
#feature-blocks-bs .feature.cta .btn{ 
  background-color: #fff;
  color: var(--tertiary-color) !important; 
  border: 2px solid #fff;
}
#feature-blocks-bs .feature.cta .btn:hover{ 
  background-color: transparent;
  color: #fff !important; 
}
#feature-blocks-bs .feature.cta:hover{
  border-color: #fff;
}




.icons-col-3 .sow-features-list .sow-features-feature{
  width: 100%;
  height: inherit;
  justify-content: start !important;
  align-items: start !important;
}
.icons-col-3 .sow-features-list .sow-features-feature h3{
  margin: 0 0 1rem;
}
@media only screen and (min-width: 992px){
  .icons-col-3 .sow-features-list .sow-features-feature{
    width: calc(50% - 25px) !important;
  }
}
@media only screen and (min-width: 1200px){
  .icons-col-3 .sow-features-list .sow-features-feature{
    width: calc(33.3% - 25px) !important;
  }
}

.info-block{
  background-color: var(--primary-color);
  padding: 40px 30px;
  width: max-content;
  margin: auto;
}
.info-block h2,
.info-block h3,
.info-block h4,
.info-block h5,
.info-block h6,
.info-block p,
.info-block ul li{ color: #fff; }
.info-block h2,
.info-block h3{ margin-bottom: 30px; }
.info-block h4,
.info-block h5,
.info-block h6{ margin-bottom: 20px; }



blockquote{
  display: block;
  position: relative;
  margin-left: 50px;
  padding: 30px;
  background-color: rgba(7, 127, 221, 0.1);
  font-style: italic;
}
blockquote p{
  font-style: italic;
  font-weight: bold;
  margin-bottom: 0;
}



.our-team .team-bio{background-color: #f7f7f7; padding: 20px;}
.our-team .team-bio .name{font-weight: 700; font-size: 24px;}
.our-team .team-bio .title{color: var(--secondary-color);}
.our-team .team-bio .socials{}
.our-team .sow-features-list{display: flex;}
.our-team .sow-features-list .sow-features-feature{margin: auto;}

.contact-block .text-primary-bold{font-size: 23px;}
.contact-block h2{font-size: 45px;}
.contact-block ul{list-style: none;}
.contact-block ul li{color: var(--quinary-color);font-size: 21px;padding-bottom: 20px;}
.contact-block ul li a{color: var(--quinary-color);font-size: 21px;text-decoration: none;}
.contact-block ul li a:hover{opacity: 85%;}
.contact-block ul li i{font-size: 27px;color: var(--primary-color);}


/************************************************************************/
/***                           Image Styles                           ***/
/************************************************************************/
.img-rt{display:flex;padding-bottom: 30px;margin-left: auto;margin-right: auto;}
.img-lt{display:flex;padding-bottom: 30px;margin-left: auto;margin-right: auto;}
.round{border-radius: 50%;}
.img-row-325{height: 100%;max-height: 325px;overflow: hidden;}
.img-row-325 .sow-image-container{
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden
}
.img-row-325 img{
  width: 100%;
  min-height: 325px;
  max-height: 325px;
  object-fit: cover;
}
.img-row-350{height: 100%;max-height: 350px;overflow: hidden;}
.img-row-350 .sow-image-container{
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden
}
.img-row-350 img{
  width: 100%;
  min-height: 350px;
  max-height: 350px;
  object-fit: cover;
}
.img-row-400{height: 100%;max-height: 400px;overflow: hidden;}
.img-row-400 .sow-image-container{
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden
}
.img-row-400 img{
  width: 100%;
  min-height: 400px;
  max-height: 400px;
  object-fit: cover;
}
.img-row-450{height: 100%;max-height: 450px;overflow: hidden;}
.img-row-450 .sow-image-container{
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden
}
.img-row-450 img{
  width: 100%;
  min-height: 450px;
  max-height: 450px;
  object-fit: cover;
}
.img-row-540{height: 100%;max-height: 540px;overflow: hidden;}
.img-row-540 .sow-image-container{
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden
}
.img-row-540 img{
  width: 100%;
  min-height: 540px;
  max-height: 540px;
  object-fit: cover;
}


.img-row-100{height: 100%;max-height: 100%;overflow: hidden;}
.img-row-100 .sow-image-container{
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden
}
.img-row-100 img{
  width: 100%;
  min-height: 100%;
  max-height: 100%;
  object-fit: cover;
}


.img-row-h-540{height: 100%;max-height: 540px;overflow: hidden;}
.img-row-h-540 .sow-image-container{
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden
}
.img-row-h-540 img{
  max-width: 100%;
  min-height: 540px;
  max-height: 540px;
  object-fit: cover;
}



/************************************************************************/
/***                           Blog Styles                          ***/
/************************************************************************/
.archive-content{margin: 0;}
.archive-content.portfolio{
  margin: 0 30px;
}
#posts-archive a{text-decoration: none;}
#posts-archive .image{
  height: 100%;
  max-height: 250px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden
}

#posts-archive .image img{
  width: 100%;
  min-height: 250px;
  max-height: 250px;
  object-fit: cover;
}
#posts-archive .col-md-6{display: flex;}
#posts-archive .post-thumb-container,
#posts-archive .content{
  background-color: #f7f7f7;
  color: var(--quinary-color);
}
#posts-archive .title {
  font-size: 22px;
  font-weight: 600;
  color: var(--secondary-color);
  margin-bottom: 20px;
}
#posts-archive header{ top: 0; }
.sidebar-menu-widget h3{color: var(--primary-color);}
.sidebar-menu-widget ul{
  list-style-type: none;
  padding-left: 0;
}
.sidebar-menu-widget ul li a{
  text-decoration: none;
  color: var(--quinary-color);
}

.local-services #sidebar ul{
  display: flex;
  margin-bottom: 0;
  flex-wrap: wrap;
}
.local-services #sidebar ul li {
  padding: 15px 20px;
}

.local-services .local-services-archive .article a,
.local-services .local-services-archive .article a article,
.local-services .local-services-archive .article a article .local-service-image-box{
  height: 100%;
}
.local-services .local-services-archive .article a article .local-service-image-box .featured-post{

}
.local-services-archive h2{
  color: var(--tertiary-color);
  margin-bottom: 30px;
}
.local-services-archive h3{
  margin-bottom: 30px;
}
.main-image{display: flex;width:100%;}
.main-image img{margin: auto;max-height: 450px;width: 100%;margin-bottom: 30px;}

.post-thumbnail,
.sow-blog-posts .sow-entry-thumbnail{
  display: flex;
  position: relative;
  max-height: 230px;
  overflow: hidden;
}
#posts-archive .sow-entry-thumbnail a{
  display: block;
  position: relative;
  height: 100%;
  width: 100%;
}
.post-thumbnail img,
#posts-archive .sow-entry-thumbnail a img{
  display: block;
  position: relative;
  width: 100%;
  height: auto;
}
.blog-archive a:hover{
  text-decoration: none;
}
.blog-archive h2 {
  display: flex;
  min-height: 80px;
  align-items: center;
}
.testimonial-archive .article,
.blog-archive .article{
  margin: 0 0 50px 0;
}
.blog-archive .image{
  height: 175px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden!important
}
.blog-archive .image img{
  flex-shrink: 0;
  min-width: 100%;
  height: 100%
}
.pagination{width: 100%;}
.pagination a,
.pagination span,
.blog-archive .pagination a,
.blog-archive .pagination span{
  padding: 5px;
}

article.post{
  background-color: transparent;
  padding: 20px;
  height: inherit;
}
article.post h2,
article.post h4,
article.post p{
  color: #fff;
}
#post-carousel a{
  display: block;
  background-color: var(--primary-color);
  height: inherit;
}
#post-carousel .slick-prev:before, #post-carousel .slick-next:before {  
  color: var(--quarternary-color); 
}
#post-carousel .slick-prev:before {  
  content: "\f359";
  font-family: 'Font Awesome 7 Pro';
}
#post-carousel .slick-next:before {   
  content: "\f35A";
  font-family: 'Font Awesome 7 Pro';
}
#post-carousel .slick-track
{
  display: flex !important;
}
#post-carousel .slick-slide{
  height: inherit !important;
}
#post-carousel .slick-slide div{
  height: 100%;
}
#post-carousel .slick-slide .post-thumbnail{
  height: 250px;
  display: block;
  background-repeat: no-repeat;
  background-attachment: scroll;
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  background-position-x: 50% !important;
  background-position-y: 50% !important;
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  #post-carousel .slick-slide .post-thumbnail{
    height: 175px;
  }
}
#post-carousel .slick-slide .post-thumbnail img{
  flex-shrink: 0;
  min-width: 100%;
  height: 100%;

}
#post-carousel .slick-slide .entry{height: auto;}
#post-carousel .slick-slide .entry .entry-header{ 
  height: auto;
  min-height: 130px;
  margin: 20px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#post-carousel .entry-header h2.entry-title{
  color: #fff;
  font-size: 22px;
}
#post-carousel .slick-slide .entry .entry-content{
  background-color: #fff;
  padding: 20px;
  height: auto;
  border-radius: 15px;
 }
 #post-carousel .slick-slide .entry .entry-content p{
   color: var(--quarternary-color);
}

.entry{
  padding: 0 30px 30px;
}

.sow-post-carousel-wrapper{
  display: block;
  position: relative;
  padding: 0 30px;
}
.sow-post-carousel-wrapper .sow-carousel-navigation{
  display: flex;
  position: absolute;
  top: 40%;
  width: 100%;
  z-index: 1;
  margin-left: -30px;
}
.sow-post-carousel-wrapper .sow-carousel-navigation a{
  background-color: transparent !important;
  color: var(--secondary-color) !important;
  font-size: 30px !important;
  line-height: 40px !important;
}
.sow-post-carousel-wrapper .sow-carousel-navigation a:hover{
  color: var(--quinary-color) !important;
}
.sow-post-carousel-wrapper .sow-carousel-navigation .sow-carousel-previous{margin-left: auto;}

.text-white p,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5{
  color: #fff;
}

/************************************************************************/
/***                           Footer Styles                          ***/
/************************************************************************/
#footer{ margin-top: 100px; }
#footer section{margin-top: 0;}
#footer .logo{
  height: auto;
  width: auto;
}
#footer .logo img{
  max-height: 150px;
  width: auto;
}
#footer-widget{
  margin-top: 0px;
  padding-bottom: 25px;
}
#footer-widget.single{ margin-top: 0px; }
#footer #footer-widget .container{max-width: 100%;}
#footer.text-white a{
    color: #fff;
}
#footer-bottom .social, #footer-bottom .copyright{
  float: none;
  text-align: left;
	margin-top: 25px;
}
#footer-bottom{ 
  border-top: 1px #fff solid;
  margin: 0 20px;
}
@media only screen and (min-width: 576px){
  #footer-bottom .container{ 
    max-width: 540px;
  }
}
@media only screen and (min-width: 768px){
  #footer-bottom .container{ 
    max-width: 720px;
  }
}
@media only screen and (min-width: 992px){
  #footer-bottom .container{ 
    max-width: 960px;
  }
}
@media only screen and (min-width: 1200px){
  #footer-bottom .container{ 
    max-width: 1140px;
  }
}
@media only screen and (min-width: 1400px){
  #footer-bottom .container{ 
    max-width: 1340px;
  }
}
@media only screen and (min-width: 1600px){
  #footer-bottom .container{ 
    max-width: 1540px;
  }
}
#footer .heading{padding: 0px;}
#footer .head1 {
  text-align: center;
  font-size: 1.75rem;
  margin-bottom: 30px;
}
#footer ul {
  list-style-type: none;
  margin-bottom: 0;
  padding-left: 0;
}
#footer ul li {
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px){
  #footer ul.industry-menu-list{
    columns: 2;
  }
}
@media only screen and (min-width: 992px){
  #footer ul.services-menu-list{
    border-right: 2px solid #fff;
  }
}
#footer.bg-quinary .copyright,
#footer.bg-quinary p,
#footer.bg-quinary a,
#footer.bg-quinary h2,
#footer.bg-quinary h3,
#footer.bg-quinary h4{color:#fff;}
#footer .info-container{display: flex;margin: 0;}
#footer .address,#footer .socials{display: flex; margin: auto; color: #fff;}
#footer .address i,#footer .socials i {
  margin-right: 10px;
  color: var(--secondary-color);
  font-size: 2rem;
  margin-top: 8px;
}
#footer .info{
  display: flex; 
  justify-content: center;
  align-items: center;
  margin: auto; 
  margin-top: 30px;
  color: #fff;
  font-size: 1.5rem;
}
#footer .info i{
  margin-right: 10px;
  color: var(--secondary-color);
  font-size: 1rem;
  margin-top: 8px;
}
@media only screen and (min-width: 500px){
  #footer .info{
    font-size: 2rem;
    margin-top: 30px;
  }
  #footer .info i{
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px){
  #footer .info{
    font-size: 3rem;
    margin-top: 30px;
  }
  #footer .info i{
    font-size: 3rem;
  }
}
@media only screen and (min-width: 992px){
  #footer .info{
    font-size: 4rem;
    margin-top: 30px;
  }
  #footer .info i{
    font-size: 4rem;
  }
}
@media only screen and (min-width: 1024px){
  #footer .info{
    font-size: 4rem;
    margin-top: 0;
  }
  #footer .info i{
    font-size: 4rem;
  }
}
#footer .address address{
  text-align: left;
  line-height: 1.2;
}
.footer-nav a,#footer .info a{color: #fff;text-decoration: none;}
.footer-nav a:hover,#footer .info a:hover{color: var(--quarternary-color);}

/************************************************************************/
/***                          Gallery Styles                          ***/
/************************************************************************/
.gallery-title{
    font-size: 36px;
    color: #42B32F;
    text-align: center;
    font-weight: 500;
    margin-bottom: 70px;
}
.gallery-title:after {
    content: "";
    position: absolute;
    width: 7.5%;
    left: 46.5%;
    height: 45px;
    border-bottom: 1px solid #5e5e5e;
}

.port-image{
    width: 100%;
}

.gallery_product{
    margin-bottom: 30px;
}
.gallery-title{
    font-size: 36px;
    text-align: center;
    font-weight: 500;
    margin-bottom: 70px;
}
.gallery-title:after {
    content: "";
    position: absolute;
    width: 7.5%;
    left: 46.5%;
    height: 45px;
    border-bottom: 1px solid #5e5e5e;
}

.port-image{
    width: 100%;
}

.gallery_product{
    position: relative;
    margin-bottom: 30px;
    height: 200px;
    vertical-align: middle;
    overflow: hidden;
    margin-right: auto;
    margin-left: auto;
}

.gallery_product img{
  position: absolute;
  top:-100%; left:0; right: 0; bottom:-100%;
  min-height: 200px;
  margin-top: auto;
  margin-bottom: auto;
  margin-left: 20px;
  margin-right: 20px;
}




/************************************************************************/
/***                           Modal Styles                           ***/
/************************************************************************/
#contact-modal, #quote-modal, #careers-modal{
  display: block;
  position: relative;
  z-index: 9999;
}
#modal-careers .modal-dialog,
#modal-contact .modal-dialog,
#modal-quote .modal-dialog{
  top: 150px;
  margin-top: 0;
}
#modal-careers .modal-content,
#modal-contact .modal-content,
#modal-quote .modal-content {
  padding: 50px 15px;
  border: 2px solid var(--primary-color);
  border-radius: 5px;
  background-color: var(--quarternary-color);
}
#modal-careers .modal-header,
#modal-contact .modal-header,
#modal-quote .modal-header{
  display: block;
  position: relative;
  align-items: start;
  justify-content: unset;
}
#modal-careers label,
#modal-contact label,
#modal-quote label{
  color: #fff;
}
.modal-colors .modal-content {
  padding: 50px 15px;
  border: 2px solid #2a3a4a;
  border-radius: 5px;
  background-color: rgba(256,256,256, 0.8);
}
.modal-title{margin-top: 25px;}
.modal-message{margin-bottom: 0px;}
.modal-title h3 {
  font-size: 35px;
  line-height: 50px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 25px;
}
.modal-message p {
  font-size: 1rem;
  line-height: 34px;
  font-weight: 500;
  letter-spacing: .1rem;
  color: #ffffff;
  margin-top: 10px;
}
#thanks, #error-msg,
#thanks1, #error-msg1,
#thanks2, #error-msg2 {
  font-size: 1rem;
  line-height: 34px;
  font-weight: 500;
  letter-spacing: .1rem;
  margin: 20px 0;
  display: none;
  border-top: 2px solid;
  border-bottom: 2px solid;
}
.modal #thanks, .modal #error-msg,
.modal #thanks1, .modal #error-msg1,
.modal #thanks2, .modal #error-msg2 {
  color: #ffffff;
  border-color: #fff;
}
#modal-close{
  background-color: #fff;
  color: #000;
  position: absolute;
  top: 0;
}

.modal .modal-content form .form-control{ margin-bottom: 20px; }

.quote-qs{display: none;}

ul#paverstyles, ul#copingstyles { margin-top: 50px;}
ul#paverstyles a, ul#copingstyles a { color: #0975c2; font-size: .85rem; font-weight: 500; padding-left: .6rem; padding-right: .6rem;}
ul#paverstyles a:hover, ul#paverstyles a.active, ul#copingstyles a:hover, ul#copingstyles a.active { color: #fff; background-color: #0975c2;}
.paver-style h3, .paver-style h5 {
  margin: 30px 0px 30px;
}
.paver-style .main-img {
  width: 100%;
  margin-bottom: 30px;
}
.paver-style .block-img {
  display: block;
  width: 90%;
  margin: 0 auto 25px;
}
.paver-style .sizes{
  display: flex;
  flex-direction: column;
  margin: auto;
}
.paver-colors div { margin: auto;}
.paver-colors img { margin: 0 auto 30px !important;}

@media only screen and (min-width: 768px){
  ul#paverstyles, ul#copingstyles { margin-top: 50px;}
  ul#paverstyles a, ul#copingstyles a { color: #0975c2; font-size: 1rem; font-weight: 500; padding-left: 1rem; padding-right: 1rem;}
  ul#paverstyles a:hover, ul#paverstyles a.active, ul#copingstyles a:hover, ul#copingstyles a.active { color: #fff; background-color: #0975c2;}
  .paver-style h3, .paver-style h5 {
    margin: 30px 0px 30px;
  }
  .paver-style .main-img {
    width: 100%;
    margin-bottom: 30px;
  }
  .paver-style .block-img {
    display: block;
    width: 90%;
    margin: 0 auto 25px;
  }
  .paver-style .sizes{
    display: flex;
    flex-direction: column;
    margin: auto;
  }
  .paver-colors div { margin: auto;}
  .paver-colors img { margin: 0 auto 30px !important;}
}


.header-blocks-container{margin-top: -30px;}
.header-blocks{margin-top: -15px;}
.header-blocks h2,
.header-blocks h3,
.header-blocks h4,
.header-blocks h5,
.header-blocks p{color: var(--quinary-color);}
.header-blocks .header-block{position: relative;}
.header-blocks .header-block .stats{padding: 30px 15px; min-height: 300px;position: relative;}
.header-blocks .header-block .services{
  min-height: 300px;
  position: relative;
  margin-top: -100px;
  z-index: 99;
  box-shadow: 0px 10px 50px 0px rgba(0, 0, 0, 0.05);
  border-style: solid;
  border-width: 0px 0px 0px 0px;
  border-radius: 0px 0px 0px 0px;
}
.header-blocks .header-block .residential:after,
.header-blocks .header-block .commercial:after,
.header-blocks .header-block .municipal:after{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0.85;
  z-index: 2;
  cursor: pointer;
}
.header-blocks .header-block .stats i{font-size: 45px;}
.header-blocks .header-block .stats span{font-size: 50px;}
.header-blocks .header-block .stats div{padding: 30px 20px;}
.header-blocks .header-block .stats p{margin: 0px 0 0;}
.header-blocks .header-block .services .service{padding: 30px;background-color: #fff; position: relative;z-index: 5;}
.header-blocks .header-block .services .service i{font-size: 45px;color: var(--primary-color);}
.header-blocks .header-block .services .service h2{font-size: 35px;color: var(--quinary-color);}
.header-blocks .header-block .services .service p{font-size: 18px;color: var(--quinary-color);}
.so-widget-sow-hero-default-d213ff767ea3-195 .sow-slider-base ul.sow-slider-images .sow-slider-image-wrapper p {
    margin: 0 0 1em !important;
}


/************************************************************************
***                           Feature Styles                          ***
************************************************************************/
#service-features{display: block;border: 1px solid var(--primary-color);}
#service-features .sow-icon-container{margin-top: 15px;}
#service-features .sow-features-list{display: flex;flex-wrap: wrap;}
#service-features .sow-features-list .sow-features-feature{border: 1px solid var(--tertiary-color);margin-bottom: 0;padding: 0 20px 30px;}
#service-features .sow-features-list .sow-features-feature {background-color: #fff;}
#service-features .sow-features-list .sow-features-feature:hover h5{color: var(--primary-color);}

@media only screen and (max-width: 991px){
  #service-features .sow-features-list .sow-features-feature:nth-child(odd) {background-color: var(--quarternary-color);}
  #service-features .sow-features-list .sow-features-feature:nth-child(even) {background-color: #fff;}
}

@media only screen and (min-width: 992px){
  #service-features .sow-features-list .sow-features-feature:nth-child(1),
  #service-features .sow-features-list .sow-features-feature:nth-child(4) {background-color: var(--quarternary-color);}
  #service-features .sow-features-list .sow-features-feature:nth-child(3) .sow-icon-container {color: #fff !important;}
  #service-features .sow-features-list .sow-features-feature:nth-child(4) .sow-icon-container {color: var(--quarternary-color) !important;}
}

#why-choose-features {display: block;}
#why-choose-features .sow-icon-container{margin-top: 15px;}
#why-choose-features .sow-features-list{display: flex;flex-wrap: wrap;}
#why-choose-features .sow-features-list .sow-features-feature .card{margin: 0 0 30px 0;padding: 30px;background-color: #f7f7f7;}
#why-choose-features .sow-features-list .sow-features-feature i{color: var(--primary-color);font-size: 50px;margin-bottom: 30px;}
#why-choose-features .sow-features-list .sow-features-feature h3{margin-bottom: 20px;}
#why-choose-features .sow-features-list .sow-features-feature:hover h3{color: var(--quinary-color);}
#why-choose-features .sow-features-list .sow-features-feature .textwidget{height: 100%;}

.primary-cards .sow-features-feature{
  background-color: var(--primary-color);
  color: #fff;
  width: 46% !important;
  margin: 0 2%;
  padding: 15px 20px !important;
}
.primary-cards .sow-features-feature h5,
.primary-cards .sow-features-feature p{
  color: #fff;
}
.primary-cards .sow-features-feature a.sow-features-feature-linked-column{background-color: transparent !important;}
.primary-cards .sow-features-feature .sow-more-text a{
  display: block;
  color: var(--primary-color) !important;
  border: 2px solid #fff;
  background-color: #fff;
  padding: 15px 20px;
  margin: 20px 0;
}
.primary-cards .sow-features-feature:hover .sow-more-text a{
  background-color: var(--tertiary-color);
  color: #fff !important;
}


/************************************************************************
***                           Cards Styles                            ***
************************************************************************/
.cards a{text-decoration: none;}
.card {border: none;padding: 0px;border-radius: 0;}
.card.transparent{background-color: transparent;}
.service-card-row .article{margin-bottom: 30px;}
.service-cards,
.service-cards .service-cards-image-box{height: 100%;}
.service-cards .card{text-align: center;}
.service-cards .card p,
.service-cards .card h2{color: var(--quinary-color);}
.service-cards .card h2{margin: 20px 0 20px;}
.service-cards .card i{color: var(--primary-color);font-size: 65px;}

.team-cards .card-img-cont{position: relative;}
.team-cards .card:after{
  display: none;
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--primary-color);
  opacity: 85%;
}
.team-cards .card-text{
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  padding: 30px 20px;
  z-index: 99;
}
.team-cards .card-text p{color: #fff;}
.team-cards .card-body h5{font-size: 1.15rem;}
.team-cards .card-body h6{font-size: 1rem;font-style: italic;}
.team-cards .card:hover:after,
.team-cards .card:hover .card-text{ display: none;}
.plain-cards:hover h2{color: var(--quarternary-color);}
.list-cards .sow-features-list .sow-features-feature .sow-icon-container span{color: var(--quinary-color) !important;}
.list-cards .sow-features-list .sow-features-feature:hover .sow-icon-container span{color: var(--quarternary-color) !important;}

.coupon-cards {
  margin-bottom: 100px;
}
.coupon-cards .card {
  border: 2px solid var(--quarternary-color);
}
.coupon-cards .card .headline {
  background-color: var(--primary-color);
  padding: 20px;
}
.coupon-cards .card .headline h2 {
  color: #ffffff;
  text-transform: capitalize;
}
.coupon-cards .card .body {
  padding: 30px 20px 100px;
}
.coupon-cards .card .body span {
  font-style: italic;
}
.coupon-cards .card .body .btn{
  color: #ffffff;
}
@media only screen and (min-width: 1200px) {
  .coupon-cards .card .headline h2 {
    font-size: 32px;
  }
}
@media only screen and (min-width: 992px) {
  .coupon-cards .card .headline h2 {
    font-size: 23px;
  }
}

/************************************************************************
***                           Testimonials                           ***
************************************************************************/

#testimonial-carousel-column,
#testimonial-carousel{
  overflow: inherit;
  padding: 0;
}
#testimonial-carousel-column a,
#testimonial-carousel a{padding: 0 10px;}
#testimonial-carousel-column .carousel-inner,
#testimonial-carousel .carousel-inner{overflow: unset;}
#testimonial-carousel-column .carousel-item,
#testimonial-carousel .carousel-item{
  background-color: var(--primary-color);
  min-height: unset;
}
#testimonial-carousel-column .testi-image,
#testimonial .testi-image,
#testimonial-carousel .testi-image{
  display: flex;
}
#testimonial-carousel-column .testi-image img,
#testimonial .testi-image img,
#testimonial-carousel .testi-image img{
  margin: 0;
  height: auto;
  max-height: 100px;
}
#testimonial-carousel-column .testi-image img.rounded-circle,
#testimonial .testi-image img.rounded-circle,
#testimonial-carousel .testi-image-col img.rounded-circle,
#testimonial-carousel .testi-image img.rounded-circle{
  max-width: 100px;
  max-height: 100px;
  margin-right: 10px;
}
#testimonial article{
  padding: 1px 0;
  height: 100%;
}
#testimonial .row.top,
#testimonial .row.review,
#testimonial-carousel .row.top{
  margin: 15px 0 30px;
  position: relative;
  width: 100%;
}
#testimonial-carousel-column .title-col,
#testimonial-carousel-column .testi-image-col,
#testimonial .title-col,
#testimonial-carousel .title-col,
#testimonial-carousel .testi-image-col{
  display: flex;
  flex-direction: column;
  margin: auto;
}
#testimonial-carousel-column .testi-row img,
#testimonial-carousel-column .testi-image img,
#testimonial .testi-row img,
#testimonial-carousel .testi-row img,
#testimonial-carousel .testi-image img{
  margin: 0;
}
#testimonial-carousel-column .testi-who,
#testimonial .testi-who,
#testimonial-carousel .testi-who{
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#testimonial-carousel-column .testi-row .stars-container,
#testimonial .stars-container,
#testimonial-carousel .testi-row .stars-container{
  display: flex;
}
#testimonial-carousel-column .testi-col .stars-container,
#testimonial-carousel .testi-col .stars-container{
  display: flex;
}
#testimonial-carousel-column img.stars,
#testimonial-carousel-column .testi-image img.stars,
#testimonial-carousel img.stars,
#testimonial-carousel .testi-image img.stars{
  max-height: 50px;
  margin: 0px auto 30px;
  margin: 20px auto 10px;
}
#testimonial .testi-who h4,
#testimonial .testi-who p{
  margin: auto auto 0px 10px;
}
#testimonial .testi-who img{
  margin: 0px auto auto;
}
#testimonial img.stars{
  max-height: 50px;
}
#testimonial .testi-industry{
  text-align: center;
  margin: 20px auto 0px;
}
#testimonial .testi-industry h4{margin-bottom: 0px;}
#testimonial-carousel-column .testi-row,
#testimonial-carousel-column .testi-col,
#testimonial .testi-row,
#testimonial-carousel .testi-row,
#testimonial-carousel .testi-col{
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 15px;
}
#testimonial-carousel-column .testi-col{height: 400px;}
#testimonial-carousel-column h4,
#testimonial h4,
#testimonial-carousel h4{
  margin-top: 0;
}
#testimonial-carousel-column p,
#testimonial p,
#testimonial-carousel p{
  margin-bottom: 0;
}
#testimonial h2{
  color: #fff;
}
  #testimonial h3{
    color: #fff;
  margin-bottom: 0;
}
#testimonial-carousel-column .testi-row .review,
#testimonial .testi-row .review,
#testimonial-carousel .testi-row .review{
  margin: 0 15px 40px;
}
#testimonial-carousel-column .testi-col .review,
#testimonial-carousel .testi-col .review{
  margin: 0 0 30px;
}
#testimonial .srvc-blk{
  width: 100%;
  background-color: #fff;
  color: var(--primary-color);
  margin: 0;
  margin-right: 20px;
  padding: 15px;
  float: left;
}
#testimonial .srvc-blk h4{
  color: var(--primary-color);
}
#testimonial .content{
  margin: 0 20px;
}

#testimonial-carousel-column .slick-dots li button:before,
#testimonial-carousel .slick-dots li button:before {
  color: var(--primary-color);
  opacity: 0.3;
}
#testimonial-carousel-column .slick-dots li.slick-active button:before,
#testimonial-carousel .slick-dots li.slick-active button:before {
  color: var(--primary-color);
  opacity: 1.0;
}
@media only screen and (min-width: 768px){
  #testimonial .testi-row .review,
  #testimonial-carousel .testi-row .review{
    margin: 0 75px 40px;
  }
  #testimonial-carousel .testi-col .review{
    margin: 0 0 30px;
  }
  #testimonial .srvc-blk{
    min-width: 300px;
  }
  #testimonial .testi-industry{
    text-align: right;
    margin: auto;
  }
}


.location li{
  display: flex;
}

.location li i{
  display: inline-block;
  margin-right: 5px;
}
.location li h4{
  display: inline-block;
}
/************************************************************************
***                          Carousel Styles                          ***
************************************************************************/
.carousel-item {
  height: unset;
  width: 100%;
  min-height: 250px;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.carousel-caption.position1{
  right: 15%;
  top: 20%;
  left: 15%;
}



/************************************************************************
***                         Jumbotron Styles                          ***
************************************************************************/
.jumbotron {
  position: relative;
  overflow: hidden;
  background-color:black;
  padding: 0;
}
.jumbotron video {
  position: absolute;
  z-index: 1;
  top: -55px;
  width:100%;
  height:100%;
  /*  object-fit is not supported on IE  */
  object-fit: cover;
  opacity:0.65;
  height: 450px;
}
.jumbotron .container {
  z-index: 2;
  position: relative;
}





.heading{padding: 50px 30px;text-align: center;color: var(--quinary-color);}
.headline-quinary h2 {color: var(--quinary-color);}
.headline-quinary h3,
.headline-quinary h4,
.headline-quinary h5,
.headline-quinary h6 {color: var(--secondary-color);}
@media only screen and (min-width: 768px){
  .heading{padding: 50px 150px;text-align: center;color: var(--quinary-color);}
}
[data-skill] {
  position: relative;
  display: table;
  margin: 2rem auto;
}
[data-skill] h4 {
  text-align: center;
  margin: -0.68rem 0 0;
  position: absolute;
  top: 50%;
  width: 100%;
  font-size: 2rem;
}
[data-skill] svg {
  transform: rotate(-90deg);
  overflow: visible;
}
[data-skill] svg .back {
  stroke: lightgrey;
  stroke-width: 15;
  fill: none;
}
[data-skill] svg .front {
  stroke: var(--secondary-color);
  stroke-width: 15;
  fill: none;
  background: red;
}

/************************************************************************
***                           Button Styles                           ***
************************************************************************/
.button, .btn{
  padding: 10px 25px;
  font-weight: 400;
  font-size: 17px;
  line-height: 26px;
  border-radius: 25px;
  outline: none !important;
  display: inline-block;
  position: relative;
  z-index: 1;
}
.btn-primary, .btn-primary-white {
  color: #fff;
  background-color:var(--primary-color);
  border: 2px solid var(--primary-color);
}
.btn-primary:hover, .btn-primary:active  {
  color: var(--primary-color);
  background-color: transparent;
  border-color: var(--primary-color);
}
.btn-primary-white:hover, .btn-primary-white:active,
#banner .btn-primary:hover, #banner .btn-primary:active,
.page-header .btn-primary:hover, .page-header .btn-primary:active  {
  color: #fff;
  background-color: transparent;
  border-color: #fff;
}
.btn-secondary {
  color: #fff;
  background-color:var(--secondary-color);
  border: 2px solid var(--secondary-color);
}
.btn-secondary:hover, .btn-secondary:active  {
  color: var(--secondary-color);
  background-color: transparent;
  border-color: var(--secondary-color);
}
input#gform_submit_button_1,
input#gform_submit_button_2,
.cta .btn.btn-tertiary,
.btn-tertiary
 {
  color: #fff;
  background-color:var(--tertiary-color);
  border: 2px solid var(--tertiary-color);
}
.btn-tertiary:hover{
  color: var(--tertiary-color);
  background-color: transparent;
  border: 2px solid var(--tertiary-color);
}
input#gform_submit_button_1,
input#gform_submit_button_2{
  border-radius: 5px;
}
input#gform_submit_button_1:hover, input#gform_submit_button_1:active,
input#gform_submit_button_2:hover, input#gform_submit_button_2:active, 
.cta .btn.btn-tertiary:hover {
  color: #fff !important;
  background-color: var(--tertiary-color);
  border-color: #fff;
}
.btn-quinary,
.btn-quinary-white {
  color: #fff;
  background-color:var(--quinary-color);
  border: 2px solid var(--quinary-color);
}
.btn-quinary:hover, .btn-quinary:active  {
  color: var(--quinary-color);
  background-color: transparent;
  border-color: var(--quinary-color);
}
.btn-quinary-white:hover, .btn-quinary-white:active  {
  color: var(--quinary-color);
  background-color: #fff;
  border-color: var(--quinary-color);
}

.bg-black h2.red-bar{
  width: 100%;
  background-color: var(--primary-color);
  font-size: 32px;
  line-height: 76px;
  color: #fff;
  margin-bottom: 30px;
}
.bg-black .repairs .card.transparent{
  height: auto;
  border: 2px solid #fff;
  color: #fff;
  margin: 20px 0;
}
.bg-black .repairs .card.transparent h5{
  color: #fff;
  margin-bottom: 0;
}
.bg-black .repairs .card.transparent:hover{
  background-color: var(--primary-color);
}
.bg-black .button,
.btn-white{
  color: var(--primary-color) !important;
  background-color: #fff !important;
  border: 2px solid #fff !important;
}
.bg-black .button:hover,
.btn-white:hover{
  color: #fff !important;
  background-color: transparent !important;
  border: 2px solid #fff !important;
}
.bg-black.bottom-tip{
  position:relative;
  background-color: #000;
  min-height:320px;
  width:100%;
}
.btn-white-transparent{
  color: #fff !important;
  background-color: rgba(0,0,0,0.3);
  border: 2px solid #fff !important;
}
.btn-white-transparent:hover{
  color: var(--quinary-color) !important;
  background-color: #fff;
  border: 2px solid #fff !important;
}

.bg-black.bottom-tip:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  top: 100%;
  border-top: solid 40px #000;
  border-left: solid 50vw transparent;
  border-right: solid 50vw transparent;
  border-bottom: solid 40px transparent;
}




.side-menu-button,
.filter-button{
    font-size: 15px;
    border: 1px solid #115b98;
    border-radius: 5px;
    text-align: center;
    color: #115b98;
    margin-bottom: 30px;

}
.side-menu-button.active,
.filter-button:hover{
    font-size: 18px;
    border: 1px solid #0975c2;
    border-radius: 5px;
    text-align: center;
    color: #ffffff;
    background-color: #115b98;

}
.btn-default:active .filter-button:active{
    background-color: #115b98;
    color: white;
}

.btn-cntr{
  display: grid;
  margin: 0 auto;
}
.btn-cntr a{
  display: block;
  position: relative;
  margin: 0 auto 30px;
}

@media only screen and (min-width: 450px){
  .btn-cntr{
    display: flex;
    justify-content: center;
  }
  .btn-cntr a{
    display: block;
    margin: 0 15px 30px;
  }
}
a.standard-link ,
.header-blocks .header-block .services .service a.standard-link i{
  font-size: 18px;
}
a.standard-link:hover{
  text-decoration: none;
  opacity: 0.9;
}
a.standard-link.text-primary:hover{color: var(--primary-color) !important; opacity: 0.9;}
a.standard-link:hover i{
  text-decoration: none;
  color: var(--secondary-color) !important;
}
/************************************************************************
***                           Spacing Styles                           ***
************************************************************************/
.ml-auto{margin-left: auto !important;}
.ml-20{margin-left: 20px !important;}
.ml-30{margin-left: 30px !important;}
.ml-50{margin-left: 50px !important;}
.mr-20{margin-right: 20px !important;}
.mr-30{margin-right: 30px !important;}
.mr-50{margin-right: 50px !important;}
.mb-10{margin-bottom: 10px !important;}
.mb-15{margin-bottom: 15px !important;}
.mb-20{margin-bottom: 20px !important;}
.mb-25{margin-bottom: 25px !important;}
.mb-30{margin-bottom: 30px !important;}
.mb-50{margin-bottom: 50px !important;}
.mb-75{margin-bottom: 75px !important;}
.mb-100{margin-bottom: 100px !important;}
.mb-150{margin-bottom: 150px !important;}
.mt-20{margin-top: 20px !important;}
.mt-30{margin-top: 30px !important;}
.mt-35{margin-top: 35px !important;}
.mt-50{margin-top: 50px !important;}
.mt-75{margin-top: 75px !important;}
.mt-100{margin-top: 100px !important;}
.mt-150{margin-top: 150px !important;}
.mt-neg-50{margin-top: -50px !important;}
.mt-neg-100{margin-top: -100px !important;}
.mt-neg-150{margin-top: -150px !important;}
.mx-30{margin-left: 30px !important; margin-right: 30px !important;}
.my-30{margin-top: 30px;margin-bottom: 30px;}
.my-50{margin-top: 50px;margin-bottom: 50px;}
.my-75{margin-top: 75px;margin-bottom: 75px;}
.pt-30{padding-top: 30px !important;}
.pt-40{padding-top: 40px !important;}
.pt-50{padding-top: 50px !important;}
.pt-100{padding-top: 100px !important;}
.pt-150{padding-top: 150px !important;}
.pb-30{padding-bottom: 30px !important;}
.pb-50{padding-bottom: 50px !important;}
.pb-100{padding-bottom: 100px !important;}
.px-20{padding-left: 20px !important; padding-right: 20px !important;}
.px-30{padding-left: 30px !important; padding-right: 30px !important;}
.px-40{padding-left: 40px !important; padding-right: 40px !important;}
.px-50{padding-left: 50px !important; padding-right: 50px !important;}
.py-30{padding-top: 30px !important; padding-bottom: 30px !important;}
.py-50{padding-top: 50px !important; padding-bottom: 50px !important;}
.p-5030{padding: 50px 30px !important;}
.p-20{padding: 20px !important;}
.p-30{padding: 30px !important;}
.p-40{padding: 40px !important;}
.p-50{padding: 50px !important;}
.pl-20{padding-left: 20px !important;}
.pr-20{padding-right: 20px !important;}
.p-30{padding: 30px !important;}
.pl-30{padding-left: 30px !important;}
.pr-30{padding-right: 30px !important;}
.ai-center{align-items: center !important;}
.z-1{
  position: relative;
  z-index: 1;
}
.z-2{
  position: relative;
  z-index: 2;
}
.z-999{
  position: relative;
  z-index: 999;
}
.z-9999{
  position: relative;
  z-index: 9999;
}


.w-150{width:100%;max-width:150px;}
.w-200{width:100%;max-width:200px;}
.w-300{width:100%;max-width:300px;}
.w-400{width:100%;max-width:400px;}
.w-500{width:100%;max-width:500px;}

.full-width {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}


.my-3{border-top: 1px solid rgba(0,0,0,.0);}

.card{ height: 100%; padding-bottom: 0px;}



.projects .nav-justified .nav-item {
  -ms-flex-preferred-size: 0;
  flex-basis: auto;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  text-align: center;
  width: 50%;
}





@media only screen and (min-width: 600px){
  header{
    position:relative;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 0;
  }
  .header-fix{
    clear: both;
    margin-top: 300px;
  }
  .carousel-item {
      height: unset;
  }
  .logo-img-webp{
      height: 80px;
      width: 268px;
  }
  #logo-img {
    background-image: url(/assets/images/flo-logo.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 80px;
    padding-left: 268px;
  }
  .banner-top{margin-top: 150px;}
  div.modal-dialog { max-width: 900px; }
  .d-flex-md-lg-only { display: flex;}
}

  @media only screen and (min-width: 768px){
    .img-rt{
        display:flex;
        padding-bottom: 30px;
        margin-left: 30px;
        margin-right: 0;
        float: right;
    }
    .img-lt{
        display:flex;
        padding-bottom: 30px;
        margin-left: 0;
        margin-right: 30px;
        float: left;
    }
    .projects .nav-justified .nav-item {
      flex-basis: 0;
    }
  }

#bootstrap-overrides .bg-primary{background-color: var(--primary-color) !important;}
.bg-black i,
.bg-black h2,
.bg-black h3,
.bg-black h5,
.bg-black p,
.bg-primary i,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary p,
.bg-secondary i,
.bg-secondary h2,
.bg-secondary h3,
.bg-secondary h4,
.bg-secondary h5,
.bg-secondary p,
.bg-tertiary i,
.bg-tertiary h2,
.bg-tertiary h3,
.bg-tertiary h4,
.bg-tertiary h5,
.bg-tertiary p,
.bg-quarternary i,
.bg-quarternary h2,
.bg-quarternary h3,
.bg-quarternary h4,
.bg-quarternary h5,
.bg-quarternary p,
.bg-quinary i,
.bg-quinary h2,
.bg-quinary h3,
.bg-quinary h4,
.bg-quinary h5,
.bg-quinary p,
.bg-dark-gray i,
.bg-dark-gray h2,
.bg-dark-gray h3,
.bg-dark-gray h4,
.bg-dark-gray h5,
.bg-dark-gray p,
.bg-dark-gray li,
.bg-light-gray i,
.bg-light-gray h2,
.bg-light-gray h3,
.bg-light-gray h4,
.bg-light-gray h5,
.bg-light-gray p,
.bg-light-gray li{color: #fff;}
.bg-primary{background-color: var(--primary-color) !important;}
.bg-secondary{background-color: var(--secondary-color) !important;}
.bg-tertiary{background-color: var(--tertiary-color);}
.bg-quarternary{background-color: var(--quarternary-color);}
.bg-quinary{background-color: var(--quinary-color);}
.bg-dark-gray{background-color: #242527;}
.bg-light-gray{background-color: #292b2e;}

.bg-dark-gray .btn,
.bg-light-gray .btn{
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
}
.bg-dark-gray .btn i,
.bg-light-gray .btn i{
  color: #fff;
}
.bg-dark-gray .btn:hover,
.bg-light-gray .btn:hover{
  background-color: #fff;
  border: 1px solid #fff;
  color: #242527;
}
.bg-dark-gray .btn:hover span,
.bg-light-gray .btn:hover span,
.bg-dark-gray .btn:hover i,
.bg-light-gray .btn:hover i{
  color: var(--tertiary-color) !important;
  font-size: 1.2rem;

}
.bg-dark-gray .large-number,
.bg-light-gray .large-number{
  font-size: 4rem;
  line-height: 4rem;
  color: var(--tertiary-color) !important;
  font-weight: 800;
}

.bg-primary .btn{
  background-color: #fff;
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
}
.bg-primary .btn i{
  color: var(--primary-color) !important;
}
.bg-primary .btn:hover{
  background-color: transparent;
  border: 2px solid #fff;
  color: #fff;
}
.bg-primary .btn:hover i{
  color: #fff !important;
}
.bg-primary .btn.btn-tertiary{
  background-color: var(--tertiary-color);
  border: 2px solid #fff;
  color: #fff;
}
.bg-primary .btn.btn-tertiary:hover{
  background-color: transparent;
  border: 2px solid #fff;
  color: #fff;
}
.bg-secondary .btn{
  background-color: #fff;
  border: 2px solid var(--secondary-color);
  color: var(--secondary-color);
}
.bg-secondary .btn:hover{
  background-color: transparent;
  border: 2px solid #fff;
  color: #fff;
}
.bg-tertiary .btn{
  background-color: #fff;
  border: 2px solid var(--tertiary-color) !important;
  color: var(--tertiary-color) !important;
}
.bg-tertiary .btn:hover{
  background-color: transparent;
  border: 2px solid #fff !important;
  color: #fff !important;
}
.bg-quarternary .btn{
  background-color: #fff;
  border: 2px solid var(--quarternary-color);
  color: var(--quarternary-color);
}
.bg-quarternary .btn:hover{
  background-color: transparent;
  border: 2px solid #fff;
  color: #fff;
}
.bg-quinary .btn{
  background-color: #fff;
  border: 2px solid var(--quinary-color);
  color: var(--quinary-color);
}
.bg-quinary .btn:hover{
  background-color: transparent;
  border: 2px solid #fff;
  color: #fff;
}
.bg-gradient-primary-black{
  background-image: linear-gradient(to top right, black, var(--primary-color));
  background-position: center;
  background-size: cover;
}
.bg-gradient-red-orange{
  background: linear-gradient(to top right, #e93e3a, #fcc310);
}
@media only screen and (max-width: 991px){
  .row.bg-gradient-red-orange{
    display: block;
    text-align: center;
  }
}

.text-primary{color: var(--primary-color) !important;}
.text-primary-bold{color: var(--primary-color) !important;font-weight: bold;}
.text-secondary{color: var(--secondary-color) !important;}
.text-tertiary{color: var(--tertiary-color) !important;}
.text-quarternary{color: var(--quarternary-color) !important;}
.text-quinary{color: var(--quinary-color) !important;}
.text-green{color: var(--green) !important;}
.text-green2{color: var(--green-2) !important;}

.bg-primary-opacity-20{
  background-color: rgba(65, 164, 240, .25);
}
.bg-primary.icon-blocks h2,
.bg-primary.icon-blocks h3,
.bg-primary.icon-blocks h4,
.bg-primary .icon-block .icon,
.bg-primary .icon-block .content{
  color: #fff;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
}

.bg-white-w-75 {
  width: 100%;
  background: #fff;
}
.bg-quinary-w-75 {
  width: 100%;
  background: var(--quinary-color);
}
.bg-quinary-w-75,
.bg-quinary-w-75 h2,
.bg-quinary-w-75 h3,
.bg-quinary-w-75 h4,
.bg-quinary-w-75 p,
.bg-quinary-w-75 .accordion-header .accordion-button { color: #fff; }
.bg-quinary-w-75 .accordion-header .accordion-button::after {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}
@media only screen and (min-width: 992px){
  .bg-white-w-75 {
    background: linear-gradient(to right, #ffffff 0 75%, transparent 75% 100%);
  }
  .bg-quinary-w-75 {
    background: linear-gradient(to right, var(--quinary-color) 0 75%, transparent 75% 100%);
  }
}

/************************************************************************/
/***                      Miscellaneous Styles                        ***/
/************************************************************************/
.side-title h2,.side-title h3,.side-title h4{font-weight: 700;}
.side-title h2{
  border-left: 3px solid var(--primary-color);
  padding-left: 15px;
}
.so-widget-sow-anything-carousel .sow-carousel-container {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0 -32px;
}
.so-widget-sow-anything-carousel .sow-carousel-container h4 {font-size: 1.5rem;}
.so-widget-sow-anything-carousel .sow-carousel-container a.sow-carousel-next, .so-widget-sow-anything-carousel .sow-carousel-container a.sow-carousel-previous {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: 'anything-carousel-arrows';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  position: relative;
}
.so-widget-sow-anything-carousel .sow-carousel-container a.sow-carousel-previous {
  bottom: -125px;
  left: 45%;
}
.so-widget-sow-anything-carousel .sow-carousel-container a.sow-carousel-next {
  bottom: -125px;
  left: -45%;
}
.carousel-client .so-widget-sow-anything-carousel .sow-carousel-container {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0 -32px;
}
.carousel-client .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-wrapper{overflow: visible;}
.carousel-client .so-widget-sow-anything-carousel .sow-carousel-container .slick-list{margin-left: 35px; margin-top: -50px;}
.carousel-client .so-widget-sow-anything-carousel .sow-carousel-container .slick-track{height: 100px;}
.carousel-client .so-widget-sow-anything-carousel .sow-carousel-container .slick-track .sow-carousel-content{height: 100%;display: flex;}
.carousel-client .so-widget-sow-anything-carousel .sow-carousel-container .slick-track .sow-carousel-content i {margin: auto;font-size: 50px;color: var(--primary-color) !important;}
.carousel-client .so-widget-sow-anything-carousel .sow-carousel-container .sow-carousel-item{margin: auto !important;background-color: #fff;}
.carousel-client .so-widget-sow-anything-carousel .sow-carousel-container a.sow-carousel-previous {
  display: none;
  bottom: -125px;
  left: 45%;
}
.carousel-client .so-widget-sow-anything-carousel .sow-carousel-container a.sow-carousel-next {
  display: none;
  bottom: -125px;
  left: -45%;
}
.counter-number{font-size: 65px;line-height: 85px; text-align: center;}
.counter-number:before{
  content: "";
  background: var(--tertiary-color);
  position: absolute;
  top: -10px;
  height: 3px;
  width: 30%;
}
.counter-text{font-size: 18px;line-height: 25px; text-align: center;}

.counter-number:before{
  content: "";
  background: var(--tertiary-color);
  position: absolute;
  top: -10px;
  height: 3px;
  width: 30%;
}
.counter-text{font-size: 18px;line-height: 25px; text-align: center;}

.video-columns .panel-row-style{align-items: center !important;}


.overlay-primary,.overlay-quinary,.overlay-quinary-50{position: relative;color: #fff;}
.overlay-primary .panel-grid-cell,.overlay-quinary .panel-grid-cell{margin: auto;}
.overlay-primary h2, .overlay-primary h3, .overlay-primary h4, .overlay-primary h5,
.overlay-primary p, .overlay-quinary h2, .overlay-quinary h3, .overlay-quinary h4,
.overlay-quinary h5, .overlay-quinary p, .overlay-quinary-50 h2, .overlay-quinary-50 h3,
.overlay-quinary-50 h4, .overlay-quinary-50 h5, .overlay-quinary-50 p {color: #fff;}
.overlay-primary:after,.overlay-quinary:after,.overlay-quinary-50:after{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  cursor: pointer;
}
.overlay-primary:after{
  background-color: var(--primary-color);
  opacity: 0.85;
}
.overlay-quinary:after{
  background-color: var(--quinary-color);
  opacity: 0.85;
}
.overlay-quinary-50:after{
  background-color: var(--quinary-color);
  opacity: 0.30;
}
.overlay-primary .so-panel,.overlay-quinary .so-panel,.overlay-quinary-50 .so-panel{position: relative;z-index: 5;}

.client-carousel img{
  max-height: 100px;
  width: auto;
  margin: auto;
}
.client-carousel a.sow-carousel-previous,.client-carousel a.sow-carousel-next{display: none !important;}
.client-carousel .sow-carousel-items .sow-carousel-item {
  margin: 0px 12px 0px 12px !important;
}
#split-50.panel-row-style{display: flex;flex-wrap: wrap;}
#split-50.panel-row-style .panel-grid-cell{width: 100%;margin-bottom: 50px;}
#split-50.panel-row-style .panel-grid-cell .img-lft{margin-right: 30px;}

@media only screen and (min-width: 1200px){
  #split-50.panel-row-style .panel-grid-cell{width: 50%;}
}

.why-choose i{font-size: 50px;margin-bottom: 20px;}

.map-row-container{
  position: relative;
  margin-top: 0;
}
.map-row{
  margin-bottom: -200px;
  position: relative;
  box-shadow: 0px 0px 20px 0px rgb(0 0 0 / 25%);
  padding: 0;
  background-color: #fff;
}
.map-row .panel-grid-cell{width:50%; margin: auto;}
.map-row .location{
  padding-left: 20px;
  margin-top: 30px;
}
.map-row .location li{
  margin-bottom: 15px;
}
.map-row .location li i{
  font-size: 24px;
  color: var(--primary-color);
}

.door-title{
  display: flex;
  width: 100%;
  justify-content: center;
}

.door-cards .card-body {
  display: block;
  position: relative;
  background-color: #7a090c;
  padding: 0;
  color: #fff;
  overflow: hidden;
}
.door-cards .card-body img{
  height: 230px;
  width: auto;
}
.door-cards .card-body h5 {
  color: #fff;
}
.door-cards .card-text {
   padding-bottom: 60px;
}
.door-cards .card-text li {
  list-style: none;
}

#word-flip-2,
#word-flip{
  color: var(--primary-color);
  font-weight: 600;
  text-transform: uppercase;
}

.coupon a{
  color: var(--primary-color);
  text-align: center;
  text-decoration: none;
}
.coupon a:hover{
  color: var(--quarternary-color);
}






.bg-color p{
  margin: auto;
  font-weight: 700;
}
.short-panel {
    background-image: url("/wp-content/uploads/2022/12/1ab1a1088eb1a8316901125d55b62128.Asset-11@3x-100.webp");
}
.long-panel {
    background-image: url("/wp-content/uploads/2022/12/4bc5c70e738fe0f3c88e80466c594ed2.Asset-4@3x-100.webp");
}
.steel-door {
    background-image: url("/wp-content/uploads/2022/12/46b0db8598c9ee0ef1b48856222bf2f9.Asset-12@3x-100.webp");
}
.wood-door {
    background-image: url("/wp-content/uploads/2022/12/54076ab2a5f01cc993517780fb0ff357.Asset-9@3x-100.webp");
}
.short-skyline {
    background-image: url("/wp-content/uploads/2022/12/9bb41f04700899c08d720cb0d328b15c.Short-Plank.webp");
}
.long-skyline {
    background-image: url("/wp-content/uploads/2022/12/e7c3ef5226aec5d34072226b5eb69859.Long-Plank.webp");
}

.img-slider .slick-dots{
  margin-top: -30px;
}

.sow-slider-base ul.sow-slider-images li.sow-slider-image video.sow-background-element {
  visibility: visible !important;
}
.our-team{
  display: flex;
}
.our-team .panel-grid-cell{
  margin: auto;
}
.our-team-pics img{
  max-height: 200px;
  border-radius: 75px;
}
.our-team-text h2{
  font-size: 50px;
  margin-bottom: 30px;
}
.our-team-text h3{
  color: var(--primary-color);
  font-size: 35px;
  margin-bottom: 30px;
}
@media only screen and (max-width: 1199px){
  .our-team-pics img{
    margin-bottom: 30px;
  }
}

section.team-cards .card{
  border: 2px solid var(--quinary-color);
}
section.team-cards .card .card-top{
  display: flex;
  padding: 20px;
}
section.team-cards .card .card-top .card-img{
  max-width: 150px;
}
section.team-cards .card .card-top .card-img img{
  border-radius: 75px;
}
section.team-cards .card .card-top .card-title{
  margin: auto auto auto 25px;
}
section.team-cards .card .card-top .card-title h3{
  font-size: 30px;
  font-weight: 600;
}





.details{
  display: block;
  position: relative;
}
.details .row{
  margin: 0 0 20px;
}
.details .row .property{
  width: 40%;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
}
.details .row .value{
  width: 60%;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
}
.details .row p{
  color: #fff;
  font-size: 24px;
  font-weight: 600;
}

header.portfolio,
header.products{
  top: 0;
  height: 450px;
}
header.portfolio .page-header.blog,
header.products .page-header.blog {
  min-height: 450px;
}




/************************************************************************
***                           Portfolio Styles                        ***
************************************************************************/
.portfolio .page-header.blog h1,
.products .page-header.blog h1{
  font-size: 65px;
  margin-bottom: 30px;
}
.portfolio .post-thumbnail,
.products .post-thumbnail{
  max-height: 245px;
}
.portfolio h2,
.products h2{
  font-size: 37px;
  margin: 10px 0 25px;
}
.portfolio h2:after{
  content: '';
  display: block;
  position: relative;
}
.portfolio #sidebar .cta-quarternary{
  padding: 30px;
}

.local-services #sidebar hr,
.service-provided #sidebar hr,
.portfolio #sidebar hr {
  font-size: 17px;
  font-weight: 700;
  position: relative;
  border: 0;
  height: 1.5em;
  opacity: 1;
}
.local-services #sidebar hr:before,
.service-provided #sidebar hr:before,
.portfolio #sidebar hr:before {
  content: '';
  display: block;
  background: linear-gradient(to right, transparent, #fff, transparent);
  position: relative;
  left: 0;
  bottom: -15px;
  width: 100%;
  height: 1px;
}
.local-services #sidebar hr:after,
.service-provided #sidebar hr:after,
.portfolio #sidebar hr:after {
  content: attr(data-content);
  background-color: var(--quarternary-color);
  position: relative;
  display: flex;
  justify-content: center;
  width: fit-content;
  top: 2px;
  margin: auto;
  padding: 0 .5em;
  color: #fff;
  line-height: 1.5em;
}



.portfolio h3,
.portfolio .cta h3,
.products h3,
.products .cta h3{
  font-size: 27px;
  margin: 0 0 15px;
}
#portfolio-carousel .portfolio h3{margin-bottom: 0;}
.portfolio .cta-cntr,
.products .cta-cntr{
  display: flex;
  flex-direction: column;
  margin: auto;
}


#portfolio-carousel .slick-track{
  display: flex;
}
#portfolio-carousel .slick-slide{
  padding: 20px;
  display: flex;
  height: auto;
}
#portfolio-carousel .slick-track
{
  display: flex !important;
}
#portfolio-carousel .slick-slide{
  height: inherit !important;
}
#portfolio-carousel .slick-slide div{
  height: 100%;
  width: 100%;
}
#portfolio-carousel .slick-slide .post-thumbnail{
  height: 250px;
  display: block;
  background-repeat: no-repeat;
  background-attachment: scroll;
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  background-position-x: 50% !important;
  background-position-y: 50% !important;
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  #portfolio-carousel .slick-slide .post-thumbnail{
    height: 175px;
  }
}
#portfolio-carousel .slick-slide .post-thumbnail img{
  flex-shrink: 0;
  min-width: 100%;
  height: 100%;

}
#portfolio-carousel .slick-slide .entry-image{height: auto;}
#portfolio-carousel .slick-slide a{height: 100%;}
#portfolio-carousel .slick-prev, #portfolio-carousel .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}
#portfolio-carousel .slick-prev:before, #portfolio-carousel .slick-next:before {
  font-family: 'Font Awesome 7 Pro';
  font-size: 35px;
  line-height: 1;
  opacity: .75;
  color: var(--quarternary-color);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#portfolio-carousel .slick-dots li button:before {
  color: var(--primary-color);
  opacity: 0.3;
}
#portfolio-carousel .slick-dots li.slick-active button:before {
  color: var(--primary-color);
  opacity: 1.0;
}

/************************************************************************
***                       Cool Box Shadows Styles                     ***
************************************************************************/
.cool-box-shadow{
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}
.cool-box-shadow-2{
  box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 5px 9px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
}
.cool-box-shadow-3{
  box-shadow: rgba(9, 30, 66, 0.25) 0px 4px 8px -2px, rgba(9, 30, 66, 0.08) 0px 0px 0px 1px;
}
.cool-box-shadow-4{
  box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 0px;
}
.cool-box-shadow-5{
  box-shadow: rgba(136, 165, 191, 0.48) 6px 2px 16px 0px, rgba(255, 255, 255, 0.8) -6px -2px 16px 0px;
}
.cool-box-shadow-6{
  box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}
.cool-box-shadow-7{
  box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
}












.local-service-image-box .featured-post{margin-bottom: 30px;}
.local-service-image-box .featured-post .entry-image .post-thumbnail{
  height: 250px;
/*  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 0px 3px 0px; */
  overflow: hidden;
  background-repeat: no-repeat;
  background-attachment: scroll;
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  background-position-x: 0% !important;
  background-position-y: 0% !important;
}
.local-service-image-box .featured-post .entry-image .post-thumbnail img{
  height: 100%;
  width: 100%;
}
.local-service-image-box .featured-post .post-content{
  background-color: rgba(65, 164, 240, .2);
  border: 2px solid var(--secondary-color);
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: start;
  min-height: 225px;
}
.local-service-image-box .featured-post .post-content p{margin-bottom: 0;}
.local-service-image-box .featured-post .post-content .entry-title{margin-bottom: 30px;}
.local-service-image-box .featured-post:hover .post-content{
  background-color: var(--secondary-color);
}
.local-service-image-box .featured-post:hover .post-content p,
.local-service-image-box .featured-post:hover .post-content h3{
  color: #fff;
}



.feature-badge{
  background-color: var(--secondary-color);
  color: #fff;
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  height: 80px;
  width: 80px;
  font-size: 40px;
  font-weight: 900;
  border-radius: 40px;
  margin-bottom: 30px;
  padding: 0;
}




/* 1) Restore gutters between slides */
.properties-slider .slick-list {
  margin: 0 -12.5px;              /* half of the desired gap */
}
.properties-slider .slick-slide {
  padding: 30px 20px;              /* gap on left/right */
  height: auto;                   /* let height be driven by content/flex */
  display: flex !important;       /* needed so child can stretch */
}

/* 2) Make all slides the same height (match tallest in the row) */
.properties-slider .slick-track {
  display: flex !important;       /* align slides to the tallest */
}
.properties-slider .slick-slide > div,
.properties-slider .property-slide {
  height: 100%;
  display: flex;
  flex-direction: column;         /* image on top, content below */
  background-color: #f7f7f7;
  /* remove width hacks; gutters handle spacing */
}

/* 3) Image area with consistent crop */
.properties-slider .property-slide .image {
  height: 175px;                  /* set your desired banner area height */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden !important;
}
.properties-slider .property-slide .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;              /* clean crop, no distortion */
  flex-shrink: 0;                 /* avoid collapsing in flex contexts */
}

/* 4) Content fills remaining space uniformly */
.properties-slider .property-slide .content {
  flex: 1 1 auto;                 /* stretch to equalize heights */
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* title/excerpt/buttons distribute nicely */
  text-align: center;
  padding: 20px;
}

/* 5) Optional: hover + dots style */
.properties-slider .property-slide:hover {
  box-shadow: 0 0 20px 7px rgba(0, 0, 0, 0.15);
}
.properties-slider.properties-wrap .slick-dots li button:before {
  color: var(--primary-color) !important;
  font-size: 15px !important;
  top: 0 !important;
}

/* 6) If you also have archive cards, keep them consistent */
.properties-archive .post-thumb-container {
  background-color: #f7f7f7;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.properties-archive .post-thumb-container .image {
  height: 175px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden !important;
}
.properties-archive .post-thumb-container .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.properties-archive .post-thumb-container .content {
  text-align: center;
  padding: 20px;
  flex: 1 1 auto;
}



.bg-image-integration-row{
  padding: 50px 10px !important;
}




.properties-slides,
.home-slides {
  width: 100%;
  height: 250px;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.properties-slides .slick-slide,
.home-slides .slick-slide {
  height: 250px; 
}
.properties-slides .slick-dots,
.home-slides .slick-dots {
  position: absolute;
  bottom: 5px; /* adjust up/down as needed */
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
.properties-slides .slick-dots li button::before,
.home-slides .slick-dots li button::before{
  top: 0 !important;
  opacity: 0.65;
}
.properties-slides .slick-dots li.slick-active button::before,
.home-slides .slick-dots li.slick-active button::before{
  opacity: 1;
  font-size: 20px !important;
}

.properties-slides img,
.home-slides img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* ensures image fills box, cropping if needed */
  display: block;
}

@media only screen and (min-width: 579px){
  .properties-slides,
  .home-slides {
    height: 340px;
  }
  .properties-slides .slick-slide,
  .home-slides .slick-slide {
    height: 340px; 
  }
}

@media only screen and (min-width: 768px){
  .properties-slides,
  .home-slides {
    height: 450px;
  }
  .properties-slides .slick-slide,
  .home-slides .slick-slide {
    height: 450px; 
  }
}

@media only screen and (min-width: 992px){
  .bg-image-integration-row{
    padding: 200px 10px 100px !important;
  }
  .properties-slides {
    height: 600px;
  }
  .home-slides {
    height: 600px;
    margin-bottom: -100px !important;
  }
  .properties-slides .slick-slide,
  .home-slides .slick-slide {
    height: 600px; 
  }
}

@media only screen and (min-width: 1200px){
  .bg-image-integration-row{
    padding: 250px 10px 150px !important;
  }
  .properties-slides {
    height: 750px;
  }
  .home-slides {
    height: 750px;
    margin-bottom: -150px !important;
  }
  .properties-slides .slick-slide,
  .home-slides .slick-slide {
    height: 750px; 
  }
}
/* Force Slick to animate even if a global reset disables transitions */
.home-slides .slick-track,
.properties-slides .slick-track {
  transition: transform 600ms ease !important;
  will-change: transform;
}

/* Keep the hero interactive even if a transparent overlay sits above it */
.home-slides { position: relative; z-index: 10; }
.home-slides .slick-dots { z-index: 99999 !important; }
.home-slides::before,
.home-slides::after { pointer-events: none !important; }

/* If you have a hero overlay element, ensure it doesn't block clicks */
.home-slides .overlay,
.home-slides .content-load,
.home-slides [class*="overlay"] { pointer-events: none !important; }

/* Ensure Slick animates */
.home-slides .slick-track { transition: transform 600ms ease !important; will-change: transform; }


.blog-archive .post-thumb-container{
  display: block;
  position: relative;
  height: 100%;
}
.blog-archive .post-thumb-container .image{
  display: block;
  position: relative;
  height: 350px;
  width: 100%;
  overflow: hidden;
}
.blog-archive .post-thumb-container .post-date{
  display: block;
  position: absolute;
  bottom: 15px;
}
  .blog-archive .post-thumb-container:hover .post-date{
  color: var(--tertiary-color);
}
.blog-archive .content{
  padding: 0 20px 20px;
}
.blog-archive .category{
  background-color: var(--tertiary-color);
  color: #fff;
  display: flex;
  position: relative;
  justify-content: center;
  align-items: start;
  width: auto;
  max-width: fit-content;
  top: -36px;
  padding: 5px 20px;
}
.blog-archive .content .title{
  min-height: 115px;
  text-align: left;
}
.portfolio-image-box .post-content .entry-title{
  min-height: 108px;
  display: none;
  justify-content: center;
  align-items: center;
  text-align: center;
  left: 0;
}
.portfolio-image-box:hover .post-content .entry-title{
  display: flex;
  padding: 0 20px;
}
.blog-archive .content .excerpt,
.portfolio-image-box .post-content .entry-content{
  background-color: rgba(7, 127, 221, 0.3);
  padding: 20px;
  margin: auto;
}
.blog-archive .post-thumb-container:hover .content .excerpt{
  background-color: #fff;
}
.portfolio-image-box .post-content .entry-content ul{
  padding-left: 0;
  list-style: none;
  text-align: right;
  color: var(--quinary-color);
  margin: auto;
  width: fit-content;
}
.portfolio-image-box .post-content .entry-content ul li{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: right;
}
.portfolio-image-box .post-content .entry-content ul li .row div{
  padding-right: calc(var(--bs-gutter-x) * .15);
  padding-left: calc(var(--bs-gutter-x) * .15);
}
.portfolio-image-box .post-content .entry-content ul li .stat-title{
  text-align: right;
}
.portfolio-image-box .post-content .entry-content ul li .stat{
  color: var(--secondary-color);
  text-align: right;
  margin-left: 10px;
}
@media only screen and (min-width: 576px){
  .portfolio-image-box .post-content .entry-content ul li .stat{
    color: var(--secondary-color);
    text-align: left;
  }
}


.products .cta-cntr .cta-form{
  width: 100%;
}
.cta-products{
    background-color: var(--primary-color);
    padding: 50px;
}
.cta-products h3{
  color: #fff;
  font-size: 40px;
}
.cta-products p{
  color: #fff;
  font-size: 25px;
}
.cta-red-bar h2{line-height: 55px;}
.cta-red-bar{
  display: flex;
  justify-content: center;
}

#sidebar .cta-form{
  position: absolute;
  width: 100%;
}

.gd-gallery .carousel-item{
  width: 100%;
  max-height: 240px;
  overflow: hidden;
  min-height: unset;
}
.gd-gallery .carousel-item img{
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 450px){
  .products .cta-cntr .cta-form{
    min-width: 400px;
  }
  .gd-gallery .carousel-item{
    max-height: 330px;
  }
}
@media only screen and (min-width: 768px){
  .products .cta-cntr .cta-form{
    min-width: 600px;
  }
  .gd-gallery .carousel-item{
    max-height: 330px;
  }
}
@media only screen and (min-width: 992px){
  .gd-gallery .carousel-item{
    max-height: 450px;
  }
}
@media only screen and (min-width: 1200px){
  .products .cta-cntr .cta-form{
    min-width: 550px;
  }
  .gd-gallery .carousel-item{
    max-height: 330px;
  }
  .details h2{
    font-size: 40px;
    margin: 15px 0 30px;
  }
}
.bg-cflms-blue-10 .cta-phone-form h3{
  color: #fff;
}
.cta-phone-form{
  background-color: var(--quinary-color);
  padding: 75px 50px 20px;
}
.cta-phone-form h3{color: #fff; font-size: 2rem;}
.cta-phone-form .button{
  background-color: var(--tertiary-color);
  border: 2px solid var(--tertiary-color);
  color: #fff;
  text-wrap: wrap;
}
.cta-phone-form .button:hover{
  background-color: transparent;
  border: 2px solid #fff;
  color: #fff;
}

.color-box{
  background-color: var(--primary-color);
  color: #fff;
  margin-bottom: 30px;
  border: 1px solid var(--primary-color);
  height: 150px;
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.color-box p{
  position: relative;
  margin: auto;
  color: #fff;
  transition: transform ease 1s;
}
.color-box:hover p{
  transform: translateY(-100px);
}

/************************************************************************
***                          Animated Styles                          ***
************************************************************************/
a.btn-call {
  display: flex;
  background-color: #0975c2;
  color: #fff;
  padding: 10px 20px;
  max-width: 100px;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  margin-top: auto;
  margin-bottom: auto;
  margin-left: auto;
  margin-right: auto;
  -webkit-animation: glowing 1500ms infinite;
  -moz-animation: glowing 1500ms infinite;
  -o-animation: glowing 1500ms infinite;
  animation: glowing 1500ms infinite;
}

.nav-tabs .nav-link{
  background: var(--secondary-color);
  border-bottom: 0px solid var(--secondary-color);
  font-weight: bold;
  color: #fff;
}
.nav-tabs .nav-link.active {
  background: rgba(7, 127, 221, 0.3);
  color: var(--quinary-color);
}
.tab-pane.active .tab-pane-header {
  padding:2rem;
  background: rgba(7, 127, 221, 0.3);
  border-top-right-radius: .5rem;
  border-top-left-radius: .5rem;
  margin-bottom:1rem;
  display: block;
  position: relative;
  color: var(--quinary-color);
}
.tab-pane:first-child .tab-pane-header {
  border-top-left-radius: 0;
}
.case-studies .nav-tabs{
  padding-left: 40px;
}
.case-studies a.nav-link { color: #006aec;}
.case-studies a.nav-link.active { color: #006aec; font-weight: 600;}
.case-studies .cs-logo{ 
    max-height: 100px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
}
.case-studies .cs-body p{color: var(--quinary-color);}
.case-studies .cs-header h4{ 
    text-align: center;
    color: var(--quinary-color);;
}
.case-studies .btn-table-row{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.case-studies .stats-box {
    background: #fff;
    padding: 20px 20px 0;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}
.case-studies .cs-header{ display: block; }
.case-studies.column .cs-header{ display: flex;flex-direction: column; }

.case-studies .stats-box img,
.case-studies .cs-header img {
    margin-bottom: 20px;
}

table.stats{
  border: 2px solid #41a4f0;
  background-color: #fff;
  color: #333;
  float: none;
  margin: 0 auto;
  font-size: 16px;
}
table.stats th{
  background-color: var(--secondary-color);
  color: #fff;
  padding: 5px 5px;
}
table.stats .stat{text-align: center;}
table.stats .stat-title{text-align: center; font-weight: bold;}
table.stats tr.main-head{border-bottom: 2px solid #fff;}
table.stats td{
  border: 0px solid #41a4f0;
  padding: 5px 5px;
}

@media only screen and (min-width: 375px) {
  table.stats{
    font-size: 20px;
  }
  table.stats td,
  table.stats th{
    padding: 5px 5px;
  }
}
.btn-container{
  display: flex;
  justify-content: center;
}
.key-table-small{
  display: inline-block;
  margin: auto;
}
.key-table-large{
  display: none;
}
.key-table{
  display: inline-block;
  margin: 0 20px 0 auto;
}
.case-studies.column .key-table-small{
  display: flex;
}
.case-studies.column .key-table-large{
  display: none !important;
}
.case-studies.column .key-table-small .stats{
  max-width: 300px;
  margin: auto;
}
.case-studies.column .col-md-5{width: 100%;}
@media only screen and (min-width: 768px) {
  .case-studies .cs-logo{ 
    max-height: 100px;
    margin-left: 0;
    margin-right: auto;
    display: flex;
  }
  .case-studies .cs-header h4{ 
    text-align: right;
    font-weight: 600;
    font-size: 2rem;
  }
  .case-studies .stats-box {
    margin-left: unset;
    margin-right: 30px;
    margin-bottom: 15px;
    float: left;
  }
  .case-studies .cs-header { display: flex;}
  .case-studies .stats-box img,
  .case-studies .cs-header img {
      margin-bottom: 20px;
  }
  table.stats{
      float: right;
      margin: auto;
  }
  .key-table-small{
    display: none;
  }
  .key-table-large{
    display: grid;
    justify-content: center;
  }
}

.case-studies .stats-box.w-300{
  max-width: min-content;
}
@media only screen and (min-width: 576px) {
  .case-studies .stats-box.w-300{
    max-width: 300px;
  }
}
@media only screen and (min-width: 768px) {
  table.stats .stat-title{text-align: left;}
  table.stats td,
  table.stats th{
    padding: 10px 15px;
  }
}

.rounded-5{border-radius: 5px !important;}
.rounded-15{border-radius: 15px; overflow: hidden;}
.rounded-25{border-radius: 25px; overflow: hidden;}
.rounded-top-25{border-top-left-radius: 25px; border-top-right-radius: 25px; overflow: hidden;}
.rounded-bottom-25{border-bottom-left-radius: 25px; border-bottom-right-radius: 25px; overflow: hidden;}


.rounded-half img,
.rounded-half{border-radius: 50%;}

.popmake-content p,
.popmake-content h3{color: #fff;}

.bg-cflms-blue-10.border{border: 1px solid var(--quarternary-color) !important;}
.bg-cflms-blue-10 {
  padding: 30px 0;
  background: rgba(65, 164, 240, .1);
  color: var(--quinary-color);
}

.bg-cflms-blue-20 {
  padding: 30px 0;
  background: rgba(65, 164, 240, .2);
  color: var(--quinary-color);
}
.bg-cflms-blue-10 p,
.bg-cflms-blue-10 h2,
.bg-cflms-blue-10 h3,
.bg-cflms-blue-10 h4,
.bg-cflms-blue-10 h5,
.bg-cflms-blue-10 li,
.bg-cflms-blue-10 i{color: var(--quinary-color);}


.circle-border {
  top: 50%;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(-50%);
  margin: 0 auto;
  position: absolute;
  border-radius: 50%;
  border: 1px dashed rgba(255, 255, 255, .30);
}
.circle-border1 {
  width: 420px;
  height: 420px;
}
.circle-border2 {
  width: 538px;
  height: 538px;
}


/* title-section
-------------------------------------------------------------- */
.circle-border3 {
  width: 653px;
  height: 653px;
}

.circle-border1 {
top: -75px;
}
.circle-border2 {
top: -134px;
}
.circle-border3 {
top: -192px;
}


.borderRotateHover {
  position: absolute;
  display: inline-flex;
  margin-left: auto;
  margin-right: auto;
  top: 25px;
  left:calc(50% - 90px);
  width: 180px;
  height: 180px;
  padding: 10px;
  background: 0 0;
  border-radius: 50%;
  border: 3px dashed #fff;
}


.justify-content-center .so-panel{
  justify-content: center;
}
.align-items-center .so-panel{
  align-items: center;
}
.content-cntr{
  display: block;
}
.content-cntr .panel-grid-cell{
  display: flex;
  margin-top: auto;
  margin-bottom: auto;
}
.content-cntr,
.content-cntr .panel-grid-cell .widget{
  margin-top: auto;
  margin-bottom: auto;
}
.content-cntr .img-cntr,
.content-cntr .panel-grid-cell .img-cntr{
  margin: auto;
  display: flex;
  flex-direction: column;
}
.content-cntr .img-cntr img{
  margin: auto;
  width: auto;
}
@media only screen and (min-width: 992px){
  .content-cntr{
    display: flex;
  }
  .content-cntr .img-cntr img{
    margin: auto auto auto 0;
    width: 93%;
  }
  .content-cntr .img-cntr .logo img{
    margin: auto;
    width: auto;
  }
}

.gform_required_legend{display: none;}
.bg-cflms-blue-10 .gform_next_button{
  background-color: var(--secondary-color);
  color: #fff;
  border: 2px solid var(--secondary-color);
}
.bg-cflms-blue-10 .gform_next_button:hover{
  background-color: transparent;
  color: var(--secondary-color);
}

.bring-up{
  display: flex;
  position: relative;
  z-index: 1;
}

.content-cntr.puzzle-form{
  justify-content: center !important;
  border-radius: 15px;
}
.puzzle-form .sow-image-container{
  width: 100%;
}
.puzzle-form .sow-image-container img{
  max-height: 550px;
  width: auto;
  margin: auto;
}
.portfolio{
  height: 100%;
  display: grid;
  position: relative;
}
.blog-archive .content-area.row,
.portfolio-archive .content-area.row,
.content-equal-height{
  align-items: inherit !important;
}
.portfolio .content-area.row .article{
  display: block;
  position: relative;
  height: auto;
}
.portfolio .article,
.portfolio .article a,
.portfolio .article a article{
  height: 100%;
} 
.content-equal-height .panel-grid-cell{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.white-circle-checks,
.blue-circle-checks-2,
.blue-circle-checks {
  margin-left: 25px;
  list-style: none;
}
.white-circle-checks li,
.blue-circle-checks-2 li,
.blue-circle-checks li{
  padding-left: 25px;
}
.white-circle-checks li:before,
.blue-circle-checks-2 li:before,
.blue-circle-checks li:before {
  font-family: "Font Awesome 7 Pro";
  content: '\f058';
  margin-right: 10px;
  color: #41a4f0;
  margin-left: -27px;
}
.cta-quarternary .blue-circle-checks li:before,
.cta-quarternary .blue-circle-checks-2 li:before,
.white-circle-checks li:before{
  color: #fff;
}

@media only screen and (min-width: 992px){
  .blue-circle-checks-2{columns: 2;}
}

.dm-blocks .sow-features-list,
.digital-marketing-services .sow-features-list{justify-content: center;}

.dm-blocks {}


#blog-carousel .slick-track{
  display: flex;
}
#blog-carousel .slick-track .slick-slide{
  height: inherit;
}
#blog-carousel .slick-track .slick-slide div{
  display: block;
  position: relative;
  height: 100%;
}
#blog-carousel .slick-track .slick-slide div.category{
  background-color: var(--tertiary-color);
  color: #fff;
  display: flex;
  position: relative;
  justify-content: center;
  align-items: start;
  width: auto;
  max-width: fit-content;
  top: -36px;
  padding: 5px 20px;
}
#blog-carousel .post-loop-item{
  margin: 10px;
  background-color:  #fff;
  text-align: center;
  height: inherit;
}
#blog-carousel .post-loop-item a{
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
#blog-carousel .post-loop-item a img{
  width: auto;
  min-height: 250px;
  max-width: unset;
}
#blog-carousel .slick-track .slick-slide .post-loop-item .text{
  display: block;
  position: relative;
  padding: 0 20px;
  text-align: left;
}
#blog-carousel .post-loop-item .text p, 
#blog-carousel .post-loop-item .text h3{
  color: #000;
  margin-bottom: 0;
}
#blog-carousel .post-loop-item .text h3{
  display: block;
  position: relative;
  margin-bottom: 15px;
  height: 115px;
}
#blog-carousel .post-loop-item .text .post-date{
  display: block;
  position: relative;
  margin-bottom: 0;
}
#blog-carousel .slick-slide {
  transition: height 0.3s ease;
}

.logo-slider .slick-track{
  display: flex;
  align-items: center;
}
.logo-slider .slick-track .slick-slide{
  display: flex !important;
  justify-content: center;
}
.logo-slider .slick-track .slick-slide img{
  max-height: 100px;
  width: auto;
}

.local-services.cs-blocks .cool-box-shadow{height: 100%;}
.local-services.cs-blocks .content{
  position: relative;
  display: block;
  padding-bottom: 50px;
}
.local-services.cs-blocks .results-statement{
  background-color: var(--quarternary-color);
  height: 70px;
  display: flex;
  width: 100%;
  text-align: center;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
}
@media only screen and (min-width: 350px){
  .local-services.cs-blocks .results-statement{
    height: 45px;
  }
}
.text-center{text-align: center !important;}

.local-services.cs-blocks .title,
.local-services.cs-blocks .value{
  text-align: center;
}
.local-services.cs-blocks .value{
  font-size: 35px;
  color: var(--green);
  margin-top: 20px;
  font-weight: bold;
}
.local-services.cs-blocks .title{
  font-size: 15px;
  margin-bottom: 15px;
}
.local-services.cs-blocks .link{
  display: block;
  position: absolute;
  bottom: 20px;
  left: 30px;
}

.br-1, 
.bl-1,
.br-2, 
.bl-2{
  display: block;
  position: relative;
}



.br-1:after{
  content: '';
  height: 1px; 
  width: 40%;
  position: absolute;
  right: 30%;
  bottom: 0;
  background-color: var(--quarternary-color);
  border-color: var(--quarternary-color);
  padding: 1px;
  opacity: 0.6;
}
.bl-1:before{
  content: '';
  height: 1px; 
  width: 40%;
  position: absolute;
  left: 30%;
  top: 0;
  background-color: var(--quarternary-color);
  border-color: var(--quarternary-color);
  padding: 1px;
  opacity: 0.6;
}

@media only screen and (min-width: 768px){
  .br-1:after{
    content: '';
    width: 1px; 
    height: 70%;
    position: absolute;
    right: 0;
    top: 10px;
    background-color: var(--quarternary-color);
    border-color: var(--quarternary-color);
    padding: 1px;
    opacity: 0.6;
  }
  .bl-1:before{
    content: '';
    width: 1px; 
    height: 70%;
    position: absolute;
    left: 0;
    top: 10px;
    background-color: var(--quarternary-color);
    border-color: var(--quarternary-color);
    padding: 1px;
    opacity: 0.6;
  }
}

.br-2{
  border-right: solid 2px;
}
.bl-2{
  border-left: solid 2px;
}


.highlighted{
  background-color: var(--quarternary-color);
  color: #fff;
  padding: 10px 5px;
}

.new-testimonials .panel-grid-cell{
  flex-direction: column;
  margin-top: 0;
}
.new-testimonials img{
  max-width: 100px !important;
  height: auto !important;
}
.new-testimonials h4{ 
  margin-bottom: 0; 
}
.new-testimonials .content .textwidget{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.new-testimonials .content h4{ 
  display: inline;
  margin-bottom: 15px;
}
.new-testimonials h5{
  font-weight: normal;
  font-size: 1rem;
}

.icon-blocks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch; /* ensure children all match the tallest height */
  gap: 25px; /* 25px spacing between blocks */
}

.icon-blocks .icon-block {
  display: flex;
  flex-direction: column; /* allow inner content to flow vertically */
  border: 2px solid rgba(var(--primary-hex-color), 0.65);
  border-radius: 15px;
  width: calc(100% - 25px);
  padding: 30px 25px;
}
.icon-blocks .icon-block:hover {
  background-color: var(--primary-color);
  box-shadow: 0px 10px 25px 0px rgba(54, 95, 104, 0.15);
}
.icon-blocks .icon-block .icon,
.icon-blocks .icon-block .content{
  display: inline-block;
}
.icon-blocks .icon-block .icon i{
  font-size: 35px;
  margin-right: 15px;
}
.icon-blocks .icon-block .content .title{
  font-size: 23px;
  font-weight: bold;
  text-decoration: underline;
}
.icon-blocks .icon-block .content .text{
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 1px;
}
.icon-blocks .icon-block:hover i,
.icon-blocks .icon-block:hover h4,
.icon-blocks .icon-block:hover p{
  color: #fff;
}

@media only screen and (min-width: 768px){
  .icon-blocks .icon-block {
    width: calc(50% - 25px);
  }
}
@media only screen and (min-width: 992px){
  .icon-blocks .icon-block {
    width: calc(33% - 25px);
  }
}







/* Keep intrinsic aspect in image-text rows */
.image-text-row img.image {
  height:auto;
  object-fit:unset;
}

/* -------- Banner bottom spacing -------- */
.banner-bottom.bg-image-blocks { margin-top:0; }
@media (min-width: 992px){
  .banner-bottom.bg-image-blocks { margin-top:-150px; z-index:1; }
}

/* -------- Section wrapper -------- */
.bg-image-blocks {
  position:relative;
  margin-bottom:75px;
  z-index: 2;
}

/* -------- Card (equal height) --------
   Use aspect-ratio for responsive equal heights.
   Change 4/5 to 1/1, 16/9, etc. if you want a different shape. */
.bg-image-blocks .image-block{
  position:relative;
  overflow:hidden;
  margin-bottom:30px;
  aspect-ratio: 4 / 5;
  min-height:340px;            /* safety for very old browsers */
}

/* -------- Image fills the card height (cropped, not stretched) -------- */
.bg-image-blocks .image-block > img.image{
  position:absolute;
  inset:0;
  width:100%;
  height:100% !important;      /* win over any earlier height:auto */
  object-fit:cover !important; /* fill and crop; no distortion */
  object-position:50% 50%;
  z-index:0;
  display:block;
}

/* -------- Single overlay layer between image and content -------- */
.bg-image-blocks .image-block::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.45); /* or a gradient */
  z-index:1;
  pointer-events:none;         /* keep links clickable */
}

/* -------- Content pinned to the bottom -------- */
.bg-image-blocks .image-block .content{
  position:absolute;
  left:0; right:0; bottom:0;
  z-index:2;
  padding:20px;
}

/* Optional: make whole card clickable if <a> wraps .content */
.bg-image-blocks .image-block > a{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
}

/* -------- Text/icon styling -------- */
.bg-image-blocks .image-block .content p,
.bg-image-blocks .image-block .content h3 { color:#fff; }

.bg-image-blocks .image-block .content i{
  float:right;
  font-weight:300;
  border:1px solid #fff;
  border-radius:30px;
  display:flex;
  width:40px; height:40px;
  align-items:center; justify-content:center;
  position:relative; top:-5px; z-index:2;
}
.bg-image-blocks .image-block a:hover .content i{
  background-color:#fff; color:#000;
}




.fa-kit.fa-franchise{font-weight: 900;}

.img-flt-rt{
  display: inline-block;
  float: right;
}
.img-flt-rt img{
  width: 100%;
  height: auto;
  max-width: 400px;
}




/*************************************************************
*                           CTA Styles                       *
*************************************************************/

.cta {
  text-align: center;
  padding: 30px 20px;
  display: block;
  position: relative;
  border-radius: 5px;
}
.cta ul{
  text-align: left;
}
.cta i.large{font-size: 55px;margin-bottom: 30px;}
.cta h3{font-size: 35px;margin-bottom: 40px;}
.cta h4{font-size: 20px;margin-bottom: 20px;}
.cta .btn{
  border: 2px solid;
  border-radius: 5px;
}
.cta-quarternary{
  background-color: var(--quarternary-color);
}

/**** CTA Primary ****/
.cta-primary{
  background-color: var(--primary-color);
}
.cta-primary i,
.cta-primary p,
.cta-primary h2,
.cta-primary h3,
.cta-primary h4,
.cta-primary h5,
.cta-primary a{color: #fff;}
.cta-primary .btn{
  border-color: #fff;
  background-color: var(--tertiary-color);
  color: #fff;
}
.cta-primary .btn:hover{
  border-color: var(--tertiary-color);
}


/**** CTA Secondary ****/
.cta-secondary{
  background-color: var(--secondary-color);
}
.cta-secondary i,
.cta-secondary p,
.cta-secondary h2,
.cta-secondary h3,
.cta-secondary h4,
.cta-secondary h5,
.cta-secondary a{color: #fff;}
.cta-secondary .btn{
  border-color: #fff;
  background-color: #fff;
  color: var(--secondary-color);
}
.cta-secondary .btn:hover{
  border-color: #fff;
  background-color: transparent;
  color: #fff;
}

/**** CTA Tertiary ****/
.cta-tertiary{
  background-color: var(--tertiary-color);
}
.cta-tertiary i,
.cta-tertiary p,
.cta-tertiary h2,
.cta-tertiary h3,
.cta-tertiary h4,
.cta-tertiary h5,
.cta-tertiary li,
.cta-tertiary li:before{
  color: #fff;
}
.bg-f7{background-color: #f7f7f7;}
.bg-f7.border{
  border: 1px solid var(--quarternary-color);
}
.bg-f7.border-tb{
  border: 1px solid var(--quarternary-color);
  border-left: none;
  border-right: none;
}
.bg-cflms-blue-10 .cta-secondary i,
.bg-cflms-blue-10 .cta-secondary p,
.bg-cflms-blue-10 .cta-secondary h2,
.bg-cflms-blue-10 .cta-secondary h3,
.bg-cflms-blue-10 .cta-secondary li,
.bg-cflms-blue-10 .cta-secondary li:before,
.bg-cflms-blue-10 .cta-quarternary i,
.bg-cflms-blue-10 .cta-quarternary p,
.bg-cflms-blue-10 .cta-quarternary h2,
.bg-cflms-blue-10 .cta-quarternary h3,
.bg-cflms-blue-10 .cta-quarternary li,
.bg-cflms-blue-10 .cta-quarternary li:before{
  color: #fff;
}
.cta-secondary a{
  display: inline-block;
  position: relative;
  margin: 30px 0 0;
  padding: 15px 20px;
  background-color: #fff;
  border: 2px solid #fff;
  color: var(--secondary-color);
  text-decoration: none;
}
.cta-secondary a:hover{
  background-color: transparent;
  color: #fff !important;
  text-decoration: none !important;
}
.cta-secondary .sow-features-feature-content{
  background-color: #b4d8f5;
  padding: 30px 20px;
  margin: 15px 10px;
}
.cta-secondary ul,
.cta-secondary ul.blue-circle-checks{
  margin-left: 0;
  padding-left: 0;
}
.cta-secondary .sow-features-feature-content h2,
.cta-secondary .sow-features-feature-content h3,
.cta-secondary .sow-features-feature-content h4,
.cta-secondary .sow-features-feature-content h5,
.cta-secondary .sow-features-feature-content h6,
.cta-secondary .sow-features-feature-content p{
  color: var(--secondary-color);
}
.cta-quarternary.pillars h2,
.cta-quarternary.pillars h3{
  text-align: center;
  margin-bottom: 30px;
}
.cta-quinary.pillars,
.cta-quarternary.pillars{
  padding: 30px;
}
.cta-quinary.pillars .blue-circle-checks,
.cta-quarternary.pillars .blue-circle-checks{
  padding-left: 1rem;
  margin-left: 0;
  margin-bottom: 0;
}
/**** Transparent White Border CTA (for dark backgrounds) ****/
.cta-transparent-white-border{
  display: inline-block;
  position: relative;
  background-color: transparent;
  border: 2px solid #fff;
  padding: 10px 30px;
  margin: auto;
}
.cta-transparent-white-border i,
.cta-transparent-white-border p,
.cta-transparent-white-border h2,
.cta-transparent-white-border h3,
.cta-transparent-white-border h4,
.cta-transparent-white-border h5,
.cta-transparent-white-border h6{
  color: #fff;
}
.cta-transparent-white-border p,
.cta-transparent-white-border h2,
.cta-transparent-white-border h3,
.cta-transparent-white-border h4,
.cta-transparent-white-border h5,
.cta-transparent-white-border h6{
  margin: 0 0 30px;
}
.cta-transparent-white-border a{
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 15px 20px;
  background-color: #fff;
  border: 2px solid #fff;
  color: var(--seconday-color);
  text-decoration: none;
}
.cta-transparent-white-border a i{
  color: var(--seconday-color) !important;
}
.cta-transparent-white-border a:hover i{
  color: #fff !important;
}
.cta-transparent-white-border a:hover{
  background-color: transparent;
  color: #fff !important;
  text-decoration: none !important;
}
.cta-transparent-white-border .sow-features-feature-content{
  background-color: #b4d8f5;
  padding: 30px 20px;
  margin: 15px 10px;
}
.cta-transparent-white-border .sow-features-feature-content h2,
.cta-transparent-white-border .sow-features-feature-content h3,
.cta-transparent-white-border .sow-features-feature-content h4,
.cta-transparent-white-border .sow-features-feature-content h5,
.cta-transparent-white-border .sow-features-feature-content h6,
.cta-transparent-white-border .sow-features-feature-content p{
  color: var(--secondary-color);
}

/**** Quarternary CTA ****/
.cta-quarternary{
  display: block;
  position: relative;
  background-color: var(--quarternary-color);
}
.cta-quarternary i,
.cta-quarternary p,
.cta-quarternary h2,
.cta-quarternary h3,
.cta-quarternary h4,
.cta-quarternary h5,
.cta-quarternary h6{
  color: #fff;
}
.cta-quarternary .btn{
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 15px 20px;
  background-color: #fff;
  border: 2px solid #fff;
  color: var(--quarternary-color);
  text-decoration: none;
}
.cta-quarternary .btn:hover{
  background-color: transparent;
  color: #fff !important;
  text-decoration: none !important;
}
.cta-quarternary a{
  color: #fff;
  text-decoration: none;
}
.cta-quarternary a:hover{
  color: var(--quinary-color) !important;
}
.cta-quarternary ul{
  list-style: none;
  padding-left: 0;
}
.cta-quarternary li a{
  color: #fff !important;
  padding: 2px 0;
  margin: 0;
}
.cta-quarternary li:hover a{color: var(--quinary-color) !important;}
.cta-quarternary .sow-features-feature-content{
  background-color: #b4d8f5;
  padding: 30px 20px;
  margin: 15px 10px;
}
.cta-quarternary .sow-features-feature-content h2,
.cta-quarternary .sow-features-feature-content h3,
.cta-quarternary .sow-features-feature-content h4,
.cta-quarternary .sow-features-feature-content h5,
.cta-quarternary .sow-features-feature-content h6,
.cta-quarternary .sow-features-feature-content p{
  color: var(--quarternary-color);
}

/**** Quinary CTA ****/
.cta-quinary{
  background-color: var(--quinary-color);
}
.cta-quinary i,
.cta-quinary p,
.cta-quinary h2,
.cta-quinary h3,
.cta-quinary h4,
.cta-quinary h5,
.cta-quinary h6{
  color: #fff;
}
.cta-quinary a{
  display: inline-block;
  position: relative;
  margin: 30px 0 0;
  padding: 15px 20px;
  background-color: var(--primary-color);
  border: 2px solid var(--quinary-color);
  color: #fff;
  text-decoration: none;
}
.cta-quinary a:hover{
  background-color: transparent;
  border: 2px solid #fff;
  color: #fff;
}

/**** White CTA ****/
.cta-white{
  background-color: #fff;
}
.cta-white i,
.cta-white p,
.cta-white h2,
.cta-white h3,
.cta-white h4,
.cta-white h5,
.cta-white h6{
  color: var(--quinary-color);
}
.cta-white a{
  display: inline-block;
  position: relative;
  margin: 30px 0 0;
  padding: 15px 20px;
  background-color: var(--primary-color);
  border: 2px solid var(--quinary-color);
  color: #fff;
  text-decoration: none;
}
.cta-white a:hover{
  background-color: transparent;
  border: 2px solid #fff;
  color: #fff;
}
.cta-full{padding-top: 50px;padding-bottom: 50px;}
.cta-btns { display: inline-flex; width: 100%;}
.cta-btn { margin-right: auto; margin-left: auto; margin-top: 20px; margin-bottom: 30px;}

.cta-free-estimate h2{font-size: 50px;}
.cta-free-estimate h3{font-size: 35px;}
.cta-free-estimate h5{font-size: 25px;}
.cta-free-estimate h2,
.cta-free-estimate h3,
.cta-free-estimate h5{
  margin-bottom: 30px;
}
.cta-industry{
  background-color: var(--secondary-color);
  padding: 30px 20px;
}
.cta-industry h3,
.cta-industry p{color: #fff;}
.cta-industry a:hover{
  color: #fff;
  border-color: #fff;
}
.cta-consultation input[type=button]{
  background-color: var(--tertiary-color);
  border: 2px solid var(--tertiary-color);
  color: #fff;
}
.cta-consultation input[type=button]:hover{
  border: 2px solid #fff;
  color: #fff;
}
.row.cta-col-2{
  padding: 0;
  justify-content: center;
}
.cta-col-1,
.row.cta-row{
  padding: 30px 10px 30px;
  justify-content: center;
}
.cta-col-1{
  background-repeat: no-repeat;
  background-attachment: scroll;
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  background-position-x: 50% !important;
  background-position-y: 50% !important;
}
.cta-col-1 .overlay{
  z-index: 0;
}
.cta-col-1 h2,
.cta-col-1 h3,
.cta-col-1 h4 {
  margin-bottom: 30px;
}







.banner-bottom.cta{
  padding: 10px 30px 5px;
  height: 60px;
}
.banner-bottom.cta .panel-grid-cell{
  display: flex;
  position: relative;
  height: 100%;
  justify-content: center;
  align-items: center;
}
.banner-bottom.cta h3{
  margin-bottom: 0;
}
.banner-bottom.cta a{
  margin: 0;
  padding: 0;
  border: none;
}
img.banner-bottom{
  margin-top: inherit;
  display: block;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 1400px){
  img.banner-bottom{
    margin-top: -150px;
  }
}

banner.case-studies .cta{
  padding: 0;
  border-radius: 25px;
  overflow: hidden;
}
banner.case-studies .cta .banner-text{
  display: block;
  position: relative;
  padding: 30px 20px;
}
banner.case-studies .cta .banner-image{
  height: 100%;
}











.our-process .sow-features-feature{
  align-items: start !important;
}
.our-process .sow-features-feature .sow-container-none{
  display: flex;
  align-items: center;
}

.sow-icon-elegantline{
  font-weight: bold !important;
}


.cta-title-icon-bar{
  display: flex;
  justify-content: center;
  align-items: center;
}
.cta-title-icon-bar .col-12{
  display: grid;
  justify-content: center;
  align-items: center;
}
.cta-title-icon-bar i{
  font-size: 2.5rem;
  text-align: center;
}
.cta-title-icon-bar p{
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
}
@media only screen and (min-width: 768px){
  .cta-title-icon-bar .col-12{
    display: unset;
  }
  .cta-title-icon-bar i,
  .cta-title-icon-bar p{
    text-align: left;
  }
}
.cta-title-icon-bar .bg-gradient-red-orange{
  padding: 20px;
}
.cta-title-icon-bar .bg-gradient-red-orange .btn{
  display: inline-block;
}
.cta-title-icon-bar .bg-gradient-red-orange span{
  display: inline-block;
  padding: 0;
}
.cta-title-icon-bar .bg-gradient-red-orange .btn{
  width: fit-content;
  color: var(--quinary-color) !important;
  font-size: 1rem;
  border-radius: 5px;
  padding: 5px 25px;
  margin-left: auto;
}
.cta-title-icon-bar .bg-gradient-red-orange .btn:hover{
  background-color: var(--primary-color) !important;
  color: #fff !important;
}
.cta-title-icon-bar .bg-gradient-red-orange span{
  max-width: calc(100% - 250px);
  display: flex;
  justify-content: start;
  align-items: center;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
}

@media only screen and (max-width: 991px){
  .cta-title-icon-bar .bg-gradient-red-orange span{
    display: block;
    text-align: center;
    max-width: 100%;
    margin-bottom: 30px;
  }
}

.solutions.row .title,
.solutions.row .link{
  display: block;
  max-width: 100%;
}
@media only screen and (min-width: 768px){
  .solutions.row .title,
  .solutions.row .link{
    display: flex;
  }
  .solutions.row .title{
    max-width: calc(100% - 200px);
  }
  .solutions.row .link{
    max-width: 200px;
  }
}
.home-portfolio-row{
  
}
.home-portfolio-row .entry-content{
  display: block;
  position: relative;
  background-color: rgba(255,255,255,0.75);
  padding: 20px;
  margin: 50px 20px 20px;
}
.full-width-input {
  width: 100%;
}

.border-top-qurternary-5{
  border-top: 5px solid var(--quarternary-color);
}
.border-radius-5{
  border-radius: 5px;
}
.border-radius-25{
  border-radius: 25px;
}
#process ul {
  --col-gap: 2rem;
  --row-gap: 2rem;
  --line-w: 0.25rem;
  display: grid;
  grid-template-columns: var(--line-w) 1fr;
  grid-auto-columns: max-content;
  column-gap: var(--col-gap);
  list-style: none;
  width: min(60rem, 90%);
  margin-inline: auto;
}

/* line */
#process ul::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / span 20;
  background: rgb(225, 225, 225);
  border-radius: calc(var(--line-w) / 2);
}

/* columns*/

/* row gaps */
#process ul li:not(:last-child) {
  margin-bottom: var(--row-gap);
}

/* card */
#process ul li {
  grid-column: 2;
  --inlineP: 1.5rem;
  margin-inline: var(--inlineP);
  grid-row: span 2;
  display: grid;
  grid-template-rows: min-content min-content min-content;
}

/* step */
#process ul li .step {
  --stepH: 3rem;
  height: var(--stepH);
  margin-inline: calc(var(--inlineP) * -1);

  text-align: center;
  background-color: var(--accent-color);

  color: white;
  font-size: 1.25rem;
  font-weight: 700;

  display: grid;
  place-content: center;
  position: relative;

  border-radius: calc(var(--stepH) / 2) 0 0 calc(var(--stepH) / 2);
}

/* step flap */
#process ul li .step::before {
  content: "";
  width: var(--inlineP);
  aspect-ratio: 1;
  background: var(--accent-color);
  background-image: linear-gradient(rgba(0, 0, 0, 0.2) 100%, transparent);
  position: absolute;
  top: 100%;

  clip-path: polygon(0 0, 100% 0, 0 100%);
  right: 0;
}

/* circle */
#process ul li .step::after {
  content: "";
  position: absolute;
  width: 2rem;
  aspect-ratio: 1;
  background: var(--bgColor);
  border: 0.3rem solid var(--accent-color);
  border-radius: 50%;
  top: 50%;

  transform: translate(50%, -50%);
  right: calc(100% + var(--col-gap) + var(--line-w) / 2);
}

/* title descr */
#process ul li .title,
ul li .descr {
  background: var(--bgColor);
  position: relative;
  padding-inline: 1.5rem;
}
#process ul li .title {
  overflow: hidden;
  padding-block-start: 1.5rem;
  padding-block-end: 1rem;
  font-weight: 500;
}
#process ul li .descr {
  padding-block-end: 1.5rem;
  font-weight: 300;
}

/* shadows */
#process ul li .title::before,
#process ul li .descr::before {
  content: "";
  position: absolute;
  width: 90%;
  height: 0.5rem;
  background: rgba(0, 0, 0, 0.5);
  left: 50%;
  border-radius: 50%;
  filter: blur(4px);
  transform: translate(-50%, 50%);
}
#process ul li .title::before {
  bottom: calc(100% + 0.125rem);
}

#process ul li .descr::before {
  z-index: -1;
  bottom: 0.25rem;
}

@media (min-width: 992px) {
  #process ul {
    grid-template-columns: 1fr var(--line-w) 1fr;
  }
  #process ul::before {
    grid-column: 2;
  }
  #process ul li:nth-child(odd) {
    grid-column: 1;
  }
  #process ul li:nth-child(even) {
    grid-column: 3;
  }

  /* start second card */
  #process ul li:nth-child(2) {
    grid-row: 2/4;
  }

  #process ul li:nth-child(odd) .step::before {
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    left: 0;
  }

  #process ul li:nth-child(odd) .step::after {
    transform: translate(-50%, -50%);
    left: calc(100% + var(--col-gap) + var(--line-w) / 2);
  }
  #process ul li:nth-child(odd) .step {
    border-radius: 0 calc(var(--stepH) / 2) calc(var(--stepH) / 2) 0;
  }
}



table{
  margin-bottom: 35px;
}

/* 1) Wrap the slides in equal gutters to make a 25px gap */
.gallery-wrap .slick-track {
  display: flex !important;
  gap: 25px;
}

/* 2) Ensure each slide container is the same height */
.gallery-wrap .slick-slide {
  height: 250px;
  box-sizing: border-box;
  overflow: hidden;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.gallery-wrap .slick-slide figure{ margin: 0; }
/* 3) Make images fill the slide’s height, keep aspect ratio */
.gallery-wrap .gallery-slide img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.slick-dots li button:before { 
  color: #fff !important;
  font-size: 15px !important;
  top: 25px !important;
}

@media only screen and (min-width: 500px){
  .gallery-wrap .slick-slide {
      height: 300px;
  }
}
@media only screen and (min-width: 768px){
  .gallery-wrap .slick-slide {
      height: 400px;
  }
}
@media only screen and (min-width: 992px){
  .gallery-wrap .slick-slide {
      height: 500px;
  }
}
@media only screen and (min-width: 1200px){
  .gallery-wrap .slick-slide {
      height: 350px;
  }
}
@media only screen and (min-width: 1400px){
  .gallery-wrap .slick-slide {
      height: 400px;
  }
}
@media only screen and (min-width: 1800px){
  .gallery-wrap .slick-slide {
      height: 350px;
  }
}
@media only screen and (min-width: 2000px){
  .gallery-wrap .slick-slide {
      height: 400px;
  }
}
@media only screen and (min-width: 2200px){
  .gallery-wrap .slick-slide {
      height: 450px;
  }
}

/* clip overflow so extra slides never peek out */
.project-gallery .gallery-wrap .slick-list {
  overflow: hidden !important;
}

/* give each slide half the gutter on either side */
.project-gallery .gallery-wrap .slick-slide {
  display: block !important;   /* override any flex you added before */
  float: left;                  /* standard Slick layout */
  margin: 0 12.5px;             /* 25px total between slides */
  box-sizing: border-box;
}

/* pull the track back so first/last line up flush with container edges */
.project-gallery .gallery-wrap .slick-track {
  display: block !important;
  margin: 0 -12.5px;
}

/* 1) Base: make the .image wrapper overflow hidden */
.project-gallery .gallery-wrap .gallery-slide .image {
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

/* 2) Set its height to match your gallery’s slide heights */
.project-gallery .gallery-wrap .gallery-slide .image {
  height: 250px;
}

/* 3) Scale heights up at breakpoints */
@media (min-width: 500px) {
  .project-gallery .gallery-wrap .gallery-slide .image {
    height: 300px;
  }
}
@media (min-width: 768px) {
  .project-gallery .gallery-wrap .gallery-slide .image {
    height: 400px;
  }
}
@media (min-width: 992px) {
  .project-gallery .gallery-wrap .gallery-slide .image {
    height: 500px;
  }
}
@media (min-width: 1200px) {
  .project-gallery .gallery-wrap .gallery-slide .image {
    height: 350px;
  }
}
@media (min-width: 1400px) {
  .project-gallery .gallery-wrap .gallery-slide .image {
    height: 400px;
  }
}
@media (min-width: 1800px) {
  .project-gallery .gallery-wrap .gallery-slide .image {
    height: 350px;
  }
}
@media (min-width: 2000px) {
  .project-gallery .gallery-wrap .gallery-slide .image {
    height: 400px;
  }
}
@media (min-width: 2200px) {
  .projects-wrap .gallery-slide .image {
    height: 450px;
  }
}

/* 4) Make the IMG fill the width, auto-height */
.project-gallery .gallery-wrap .gallery-slide .image img {
  width: 100%;
  height: auto;
  display: block;
}

/* 5) Your content lives below the image and adjusts the slide height to fit */
.project-gallery .gallery-wrap .gallery-slide .content {
  padding: 15px;
}
/* text/content lives below image and grows the slide */
.project-gallery .gallery-wrap .gallery-slide .content {
  padding: 15px;
  text-align: center;
}

/* dots style—optional */
.project-gallery .gallery-wrap .slick-dots li button:before {
  color: var(--primary-color) !important;
  font-size: 15px !important;
  top: 0px !important;
}

.image-gallery .slick-dots li button:before {
  color: var(--primary-color) !important;
}

.panel-row-style-full-width,
.panel-row-style-full-width-stretched,
.siteorigin-panels-stretch.panel-row-style {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  width: 100vw !important;
  max-width: 100vw !important;
}



#error-msg, #thanks{margin-top:20px;display: none;}
.error{border: 2px solid red;}

.d-sm-only{display: block !important;}
.d-md-plus{display: none !important;}
.d-flex-sm-only{display: flex !important;}
.d-flex-md-plus{display: none !important;}
.d-flex-lg-plus{display: none !important;}
.d-sm-md-only{ display: block;}
.d-md-below { display: block;}
.d-contents-md-below { display: contents;}
.d-contents-lg-only { display: none;}
.d-lg-only{ display: none !important;}
.d-xl-only{ display: none;}
.d-none-above-450{ display: block;}
.hidden{display: none;}
.d-flex{display: flex;flex-wrap: wrap;}
.d-flex .panel-grid-cell{margin: auto;}
.d-flex-md-lg-only { display: block;}
.d-block-xl-flex{ display: block; }

@media only screen and (min-width: 1400px){
  .d-block-xl-flex{ display: flex; }
}

@media only screen and (min-width:1200px){
  .d-xl-only{ display: inline-block;}
}
@media only screen and (min-width:992px){
  .d-md-below { display: none;}
  .d-contents-md-below { display: none;}
  .d-sm-md-only{ display: none;}
  .d-lg-only{ display: block !important;}
  .d-contents-lg-only { display: contents;}
  .d-flex-lg-plus{display: flex !important;}
}

@media only screen and (min-width:768px){
  .d-sm-only{display: none !important;}
  .d-md-plus{ display: block !important;}
  .d-flex-sm-only{display: none !important;}
  .d-flex-md-plus{display: flex !important;}
}
@media only screen and (min-width:450px){
  .d-none-above-450{ display: none;}
}

@-webkit-keyframes rotate-cw {
  from{
      -webkit-transform: rotate(0deg);
  }
  .rotate-cw {
      -webkit-animation: rotate-cw 36s linear infinite;
  }
}
@-webkit-keyframes rotate-ccw {
  from{
      -webkit-transform: rotate(360deg);
  }
  to{
      -webkit-transform: rotate(0deg);
  }
}
.rotate-ccw {
    -webkit-animation: rotate-ccw 36s linear infinite;
}

.data-blocks{
  background-color: var(--primary-color);
  border: 2px solid var(--primary-color);
  border-radius: 15px;
  padding: 30px 20px;
  color: #fff;
  font-size: 1.25rem;
  margin-bottom: 50px;
}
.data-blocks .data-block{
  margin-bottom: 30px;
}
.data-blocks .data-block .title{
  font-weight: 700;
  margin-right: 20px;
}
.data-blocks .data-block.year,
.data-blocks .data-block.location{
  display: flex;
  flex-wrap: wrap;
}

.spacer-75{
  height: 75px;
}
.spacer-150{
  height: 150px;
}

.intro{
  margin-top: 30px;
  text-transform: uppercase;
}
@media only screen and (min-width: 992px){
  .intro{
    margin-top: 0px;
  }
}

.unit-card{}
.unit-card .unit-card-media{
  margin-bottom: 30px;
}
@media only screen and (min-width: 992px){
  .unit-card .unit-card-media{
    margin-bottom: 0;
  }
}
.unit-card .unit-card-body{
  display: block;
  position: relative;
  background-color: var(--quarternary-color);
  color: #fff;
  padding: 30px 20px;
}
.unit-card .unit-card-body h2,
.unit-card .unit-card-body h3,
.unit-card .unit-card-body h4,
.unit-card .unit-card-body h5,
.unit-card .unit-card-body p,
.unit-card .unit-card-body span,
.unit-card .unit-card-body i { color: #fff; }
.unit-card .unit-card-body ul{
  color: #fff;
  list-style: none;
}
.unit-card .unit-card-body ul li,
.unit-card .unit-card-body ul li::before{ color: #fff; }
.unit-card .unit-card-body h2,
.unit-card .unit-card-body h3,
.unit-card .unit-card-body h4{
  margin-bottom: 30px;
}


ul.unit-card-flags{
  list-style: none;
  margin-bottom: 30px;
  columns: 1;
  -webkit-columns: 1;
  -moz-columns: 1;
}
ul.unit-card-flags li{
  margin-bottom: 10px;
  font-weight: 500;
}
ul.unit-card-flags li:before {
  font-family: 'Font Awesome 7 Pro';
  margin: 0 15px 0 -15px;
  color: #fff;
}
ul.unit-card-flags li.unit-card-flag:before {
  content: '\f00c';
}
ul.unit-card-flags li.unit-card-area:before {
  content: '\f065';
}
ul.unit-card-flags li.unit-card-beds:before {
  content: '\f8f7';
}
ul.unit-card-flags li.unit-card-baths:before {
  content: '\f2cd';
}
.unit-card .unit-card-body .unit-card-rent-amount span{
  font-size: 1.25rem;
  font-weight: 400;
}
.unit-card .unit-card-body .btn{
  background-color: #fff;
  border: 2px solid #fff;
  margin: 30px 20px 40px;
  width: -webkit-fill-available;
}
.unit-card .unit-card-body .btn:hover{
  background-color: transparent;
  color: #fff;
}
.unit-card .unit-card-body .fine-print{
  font-size: .75rem;
}


.property-amenities-gallery { 
  margin-bottom: 80px; 
}
.property-amenities-gallery .amenities-gallery { display: block; }
.amenities-gallery.slick-slider { margin: 0 0 24px; }
.property-amenities-gallery .amenities-gallery .slick-dots li button:before {
  color: var(--primary-color) !important;
}
.amenities-gallery-item { margin: 0; }
.amenities-gallery-img { width: 100%; height: auto; display: block; }
.amenities-gallery-caption { 
  text-align: left;
  padding-left: 20px;
  padding-bottom: 20px;
  font-size: 2rem;
  line-height: 2.5rem;
  margin-top: -62px;
  color: #fff;
}

@media only screen and (min-width: 992px){
  .property-amenities-gallery .amenities-gallery .slick-dots li button:before {
    color: #fff !important;
  }
  .property-amenities-gallery { 
    display: block;
    position: relative;
    margin-bottom: -175px; 
    max-height: 975px;
  }
}

.property-amenities-list ul.amenities-list {
  list-style: none;
  padding-left: 0;
}
.property-amenities-list ul.amenities-list li {
  padding: 30px 0;
  border-bottom: 1px solid var(--quinary-color);
}

.property-amenities-list.property-amenities-list--community{
  padding: 50px 0;
}
.property-amenities-list.property-amenities-list--community ul.amenities-list {
  column-width: auto;
  column-count: 2;
  gap: 80px;
}
.property-amenities-list.property-amenities-list--community ul.amenities-list li {
  color: #fff;
  border-color: #fff;
}
@media only screen and (min-width: 992px){
  .property-amenities-list.property-amenities-list--community{
    padding: 250px 0 50px;
  }
  .property-amenities-list.property-amenities-list--community ul.amenities-list {
    column-count: 2;
  }
}

.property-amenities-images .amenities-images-item {
  height: 350px;
  overflow: hidden;
}
.property-amenities-images .amenities-images-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;           /* preserves ratio, fills box */
  object-position: center;     /* crop from center */
}

.picture-in-picture {
  display: block;
  position: relative;
}
.picture-in-picture .pic1{
  display: block;
  position: relative;
  top: -25px;
  left: 0;
  width: 75%;
  height: auto;
}
.picture-in-picture .pic2{
  display: block;
  position: absolute;
  bottom: -25px;
  right: 50px;
  width: 40%;
  height: auto;
  z-index: 1;
}


.bg-image-top{
  text-align: center;
  margin-top: 0;
  margin-bottom: 75px;
}
.bg-image-top .panel-grid-cell,
.bg-image-top .custom-html-widget{ height: inherit; }
.bg-image-top h2,
.bg-image-top h3,
.bg-image-top h4,
.bg-image-top p,
.bg-image-top a,
.bg-image-top i{ color: #fff}

.picture-spread{
  display: block;
  position: relative;
}
.picture-spread .pic{
  margin-bottom: 30px;
}
.picture-spread .pic{
  padding: 30px;
}
.picture-spread .text-content{
  padding: 0;
}

@media only screen and (min-width: 992px){
  .bg-image-top{
    margin-top: -250px;
    margin-bottom: 250px;
    overflow: visible !important;
  }
  .picture-spread .text-content{
    padding: 400px 0px 150px;
  }
  .picture-spread .pic{
    max-width: 300px;
    position: absolute;
  }
  .picture-spread .pic.pic1{
    top: 125px;
    left: -10px;
  }
  .picture-spread .pic.pic2{
    top: 150px;
    right: -10px;
  }
  .picture-spread .pic.pic3{
    bottom: -200px;
    left: 50px;
  }
  .picture-spread .pic.pic4{
    bottom: -180px;
    right: 50px;
  }
}
@media only screen and (min-width: 1200px){
  .bg-image-top{
    margin-top: -250px;
    margin-bottom: 250px;
    overflow: visible !important;
  }
  .picture-spread .text-content{
    padding: 400px 0px 150px;
  }
  .picture-spread .pic{
    max-width: 400px;
    position: absolute;
  }
  .picture-spread .pic.pic1{
    top: 175px;
    left: -10px;
  }
  .picture-spread .pic.pic2{
    right: -10px;
    top: 150px;
  }
  .picture-spread .pic.pic3{
    bottom: -200px;
    left: 50px;
  }
  .picture-spread .pic.pic4{
    bottom: -180px;
    right: 50px;
  }
}

/* Tunables */
.slanted-bar-right,
.slanted-bar-right-light-gray{
  --bar-color: #000;     /* right-side color */
  --height: 35px;        /* bar height */
  --fill: 60%;           /* width of the colored area (from the right) */
  --run: var(--height);  /* horizontal offset of the slant; increase/decrease to change angle */

  height: var(--height);
  width: 100%;           /* use 100vw if you want viewport width regardless of parent */
  position: relative;
  bottom: -1px;
  overflow: hidden;
  background: transparent; /* left side remains transparent */
}

/* Right-side fill with an upward-right slanted left edge */
.slanted-bar-right::before,
.slanted-bar-right-light-gray::before{
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bar-color);
  clip-path: polygon(
    100% 0,
    100% 100%,
    calc(100% - var(--fill) - var(--run)) 100%,
    calc(100% - var(--fill)) 0
  );
}
.slanted-bar-right-light-gray::before{
  background: #292b2e;
}

/* Optional very old-browser fallback (square edge at 60%) */
@supports not (clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)){
  .slanted-bar-right::before{
    right: 0;
    width: var(--fill);
  }
}
#footer .slanted-bar-right{top: -34px;}


@-webkit-keyframes glowing {
  0% { background-color: #115b98; -webkit-box-shadow: 0 0 3px#115b98; }
  50% { background-color: #0975c2; -webkit-box-shadow: 0 0 40px#0975c2; }
  100% { background-color: #115b98; -webkit-box-shadow: 0 0 3px#115b98; }
}

@-moz-keyframes glowing {
  0% { background-color:#115b98; -moz-box-shadow: 0 0 3px #115b98; }
  50% { background-color:#0975c2; -moz-box-shadow: 0 0 40px#0975c2; }
  100% { background-color:#115b98; -moz-box-shadow: 0 0 3px #115b98; }
}

@-o-keyframes glowing {
  0% { background-color: #115b98; box-shadow: 0 0 3px #115b98; }
  50% { background-color: #0975c2; box-shadow: 0 0 40px#0975c2; }
  100% { background-color: #115b98; box-shadow: 0 0 3px #115b98; }
}

@keyframes glowing {
  0% { background-color: #115b98; box-shadow: 0 0 3px #115b98; }
  50% { background-color: #0975c2; box-shadow: 0 0 40px #0975c2; }
  100% { background-color:#115b98; box-shadow: 0 0 3px #115b98; }
}
