/*-- Global --*/

.btn:hover {
  color: var(--color-theme-primary) !important;
}

/*-- Header --*/

.header .container {
  max-width: 1140px;
}

.header .navbar .navbar-nav .nav-link {
  text-transform: uppercase;
  font-size: 0.825rem;
  line-height: 32px;
  font-weight: normal;
}

.header .header-info-business a span {
  font-weight: bold;
}

.header-info-business a:hover {
  color: var(--color-theme-secondary) !important;
}

.header .navbar .active > .nav-link {
  color: var(--color-theme-primary);
}

.header .nav-link-cart::after,
.header .navbar .nav-link::before {
  border-width: 1px;
}

.header .header-info-business:before {
  font-size: 1.5rem;
}

.header .header-info-logo-img img {
  width: 310px;
}

/* .header .header-business-phone:before {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 0 auto;
	font-family: FontAwesome;
	content: "\f2a0";
	color: var(--color-theme-primary) !important;
	font-weight: normal;
	border-radius: 50%;
	background: var(--color-theme-highlight);
	font-size: 1rem;
	line-height: 1.75;
} */

.header .header-business-text:before {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 0 auto;
  font-family: FontAwesome;
  content: "\f27a";
  color: var(--color-theme-primary) !important;
  font-weight: normal;
  border-radius: 50%;
  background: var(--color-theme-highlight);
  font-size: 1rem;
  line-height: 1.75;
}

@media (min-width: 992px) {
  .header .header-info-business a span {
    font-size: 1.1rem;
  }

  .header .container {
    max-width: 1000px;
  }
}

/*-- Hero --*/

/* .hero {
	background-image: url("https://apihoard.webit.com/api/v1/Image/F29F76DBA73A8AB23226076E30A28797/F29F76DBA73A8AB23226076E30A28797.jpg?size=1920x1440");
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: 55% bottom;
	align-items: center;
	justify-content: center;
	height: 600px;
	display: flex;
	padding: 5rem 0;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position: relative;
	z-index: 0;
} */

@media (max-width: 1440px) {
  .hero {
    min-height: 447px;
  }
}

/* .hero::before {
	content: '';
	background-color: #000;
	margin-top: 0 !important;
	padding: 2rem;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	opacity: 75%;
} */

.hero .hero-container {
  position: relative;
  z-index: 2;
}

.hero .hero-container {
  max-width: 1653px;
  margin: auto;
}

.hero-content {
  padding-left: 20px;
  padding-right: 20px;
}

.hero .display-4 {
  font-size: 3rem;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.hero .lead {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  font-weight: 400;
}

.hero-lines {
  position: relative;
  text-align: center;
}

.hero-lines span {
  display: inline-block;
  vertical-align: middle;
  max-width: 55%;
}

.hero-lines::before,
.hero-lines::after {
  content: " ";
  height: 3px;
  width: 10%;
  background: var(--color-cta);
  display: inline-block;
  vertical-align: middle;
}

.hero-headline {
  line-height: 1.15;
}

.hero-text {
  font-size: 1.2em;
  max-width: 520px;
  margin: auto;
}

.hero-btm-line {
  height: 3px;
  width: 75%;
  background: var(--color-cta);
  margin: 25px auto;
}

.cw-svg {
  position: absolute;
  z-index: 2;
  bottom: -3px;
}

/* .cw-contactINFO {
  box-shadow: 0px 0px 30px 0px rgb(0 0 0 / 14%);
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  margin-top: -100px;
  margin-bottom: 0px;
  border-radius: 15px 15px 15px 15px;
  position: relative;
  z-index: 4;
  background-color: #ffffff;
  margin-bottom: 4em;
  margin-top: -8em;
} */
.cw-contactINFO p {
  color: var(--color-theme-text);
}

@media (max-width: 567px) {
  .hero {
    padding-top: 3em;
    padding-bottom: 13em;
    min-height: 410px;
  }

  .hero .display-4 {
    font-size: 2rem;
  }

  .hero h5 {
    font-size: 1rem;
  }

  .hero .lead {
    font-size: 1.2rem;
  }

  .hero::after {
    background: rgba(0, 0, 0, 0.6);
  }

  .hero-content {
    padding-left: 0;
    padding-right: 0;
  }

  .cw-contactINFO h4 {
    font-size: 1rem;
  }

  .cw-contactINFO .fa-3x {
    font-size: 1.7em;
  }
}

/* -------------------- step list ---------------------- */
:root {
  --cw-var-steplist-num-width: 30%;
  --cw-var-steplist-num-height: 80px;
}

.cw-step-list {
  padding: 2rem 0;
  margin-bottom: 4rem;
}

.cw-step-list h2 {
  text-align: center;
  margin-bottom: 1rem;
}

.cw-step-list .cw-step-card {
  background: #fff;
  color: #000;
  border: 3px solid var(--color-theme-secondary);
  border-radius: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-flow: column;
  height: 90%;
  margin: 5% 0;
  background-image: linear-gradient(
    to bottom,
    var(--color-theme-secondary) var(--cw-var-steplist-num-height),
    #fff var(--cw-var-steplist-num-height)
  );
}

.cw-step-list .cw-step-number {
  font-size: 1.8rem;
  text-align: center;
  background: var(--color-theme-secondary);
  color: #fff;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  /* height: 80px; */
  height: var(--cw-var-steplist-num-height);
}

.cw-step-list .cw-step-number span {
  font-size: 4rem;
  line-height: 1;
  padding: 5px;
  text-align: center;
}

.cw-step-list .cw-step-card p {
  font-size: 1.3rem;
  text-align: center;
  padding: 5px 0.5rem;
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .cw-step-list h2 {
    font-size: 2.75rem;
  }

  .cw-step-list .cw-step-card {
    flex-flow: row;
    /* background-image: linear-gradient(to right, var(--color-theme-secondary) 30%, #fff 30%); */
    background-image: linear-gradient(
      to right,
      var(--color-theme-secondary) var(--cw-var-steplist-num-width),
      #fff var(--cw-var-steplist-num-width)
    );
  }

  .cw-step-list .cw-step-number {
    align-items: flex-start;
    /* flex-basis: 30%; */
    /* max-width: 30%; */
    flex-basis: var(--cw-var-steplist-num-width);
    max-width: var(--cw-var-steplist-num-width);
    height: auto;
  }

  .cw-step-list .cw-step-number span {
    font-size: 6rem;
  }

  .cw-step-list .cw-step-card p {
    /* flex-basis: 70%; */
    /* max-width: 70%; */
    flex-basis: calc(100% - var(--cw-var-steplist-num-width));
    max-width: calc(100% - var(--cw-var-steplist-num-width));
    padding: 5px 0.8rem;
  }
}

/* Reviews slider home pg ====================================================================*/

.cw-carousel-multi-item {
  margin-bottom: 5rem;
}

.cw-carousel-multi-item .carousel-inner {
  padding-top: 0.5rem;
  padding-bottom: 1rem;
}

.cw-carousel-multi-item .controls-top .btn-floating {
  background: var(--color-theme-primary);
}

.btn-floating {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0;
  margin: 10px;
  overflow: hidden;
  vertical-align: middle;
  cursor: pointer;
  border-radius: 50%;
  -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18),
    0 4px 15px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 47px;
  height: 47px;
}

.btn-floating i {
  font-size: 1.25rem;
  line-height: 47px;
  display: inline-block;
  width: inherit;
  color: #fff;
  text-align: center;
}

.btn-floating:hover {
  -webkit-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2),
    0 6px 20px 0 rgba(0, 0, 0, 0.19);
  box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.btn-floating:before {
  border-radius: 0;
}

.cw-carousel-multi-item .carousel-indicators li {
  width: 1.25rem;
  max-width: 1.25rem;
  height: 1.25rem;
  margin-bottom: -3.75rem;
  background-color: var(--color-theme-primary);
}

.cw-carousel-multi-item .carousel-indicators .active {
  width: 1.56rem;
  max-width: 1.56rem;
  height: 1.56rem;
  background-color: var(--color-theme-primary);
  border-radius: 50%;
}

.cw-carousel-multi-item .controls-top {
  margin-bottom: 1.88rem;
  text-align: center;
}

.cw-carousel-multi-item .carousel-indicators {
  margin-bottom: -1em;
}

@media only screen and (max-width: 992px) {
  .cw-carousel-multi-item .carousel-indicators li {
    margin-bottom: -1.88rem;
  }
}

/* -------------------- Testimonials ---------------------- */
.cw-testimonials {
  background-color: var(--color-theme-highlight) !important;
  border-radius: 300px 0 0 0;
}

.testimonial-container .row {
  margin-bottom: 1em;
}

.testimonial {
  background: #f5f5f5;
  padding: 1em;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 1em;
}

.testimonial .fa-star {
  color: var(--color-theme-highlight);
}

.author {
  color: var(--color-theme-primary);
  text-transform: uppercase;
  font-weight: 700;
}

/* ======================================================================== */

/* Services ============================================== */

.cw-services-row {
  position: relative;
}

/* Css code for Same Height Button, */
.cw-title {
  position: relative;
  margin-top: -3rem;
}

.card-body {
  display: flex;
  flex-direction: column;
}

.card-body .btn {
  display: flex;
  margin-top: auto;
  align-self: center;
}

.reveal {
  position: relative;
  opacity: 0;
}

.reveal.active {
  opacity: 1;
}

.active.fade-bottom {
  animation: fade-bottom 1s ease-in;
}

.active.fade-left {
  animation: fade-left 1s ease-in;
}

.active.fade-right {
  animation: fade-right 1s ease-in;
}

@keyframes fade-bottom {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fade-left {
  0% {
    transform: translateX(-100px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes fade-right {
  0% {
    transform: translateX(100px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

/* -------------------- Header & Navbar ---------------------- */

/* Navbar */
.header .navbar:before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 4px;
  background: #05668d;
  /*-- Optional border --*/
  background: linear-gradient(
    to right,
    #05668d 0%,
    #05668d 33%,
    #05668d 33%,
    #028090 33%,
    #028090 33%,
    #028090 66%,
    #00a896 66%,
    #00a896 66%,
    #00a896 100%
  );
}

.header .navbar-nav .nav-link {
  text-transform: uppercase;
  line-height: 2.5em;
  font-size: 0.85rem;
}

/* Header */
.cw-header {
  background: var(--header-background);
  color: var(--header-text);
  padding: 5px 0;
}

.cw-header .cw-header-logo {
  text-align: center;
}

.cw-header .cw-header-logo img {
  width: 200px;
  padding: 1rem 0;
}

.cw-header .cw-header-contact {
  padding: 0.5rem 0;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;

  text-align: center;
}

.cw-header a:not(.btn) {
  color: inherit;
}

.cw-header a:not(.btn):hover {
  color: var(--color-theme-highlight);
}

.cw-header .cw-phone:before {
  font-family: FontAwesome;
  content: "\f2a0";
  background: var(--color-theme-highlight);
  color: var(--color-theme-text-btn);
  border-radius: 50%;
  margin-right: 0.5rem;
  line-height: 1;
  padding: 8px 10px;
}

@media (min-width: 576px) {
}

@media (min-width: 768px) {
  .cw-header .cw-header-contact {
    flex-flow: row wrap;
  }
}

@media (min-width: 992px) {
  .cw-header .cw-header-logo {
    text-align: left;
  }

  .cw-header .cw-header-contact {
    font-size: 1.1rem;
    text-align: right;
    justify-content: flex-end;
  }
}

@media (min-width: 1200px) {
}

@media (min-width: 1440px) {
  .header .container {
    max-width: 1400px;
  }
}

/* =============================================================================== */
.cw-hero-slideshow {
  position: relative;
  overflow: hidden;
  height: 650px;
  z-index: 0;
  border-radius: 0 0 300px 0;
}

.cw-hero-slideshow .cw-hero-image {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: cw-slide-anim 12s infinite;
  animation-delay: var(--cw-anim-offset);
}

.cw-hero-slideshow .cw-hero-image::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-image: linear-gradient(rgb(19 34 70 / 75%), rgb(19 34 70 / 75%));
  z-index: 1;
}

.cw-hero-slideshow .cw-hero-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* .cw-hero-slideshow .cw-header-title {
    background-color: rgba(255, 255, 255, 0.5);
  } */

.cw-hero-slideshow .cw-header-title h1 {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 3rem;
}

.cw-hero-slideshow .cw-hero-title h1 span {
  display: block;
  font-size: 2rem;
}

@keyframes cw-slide-anim {
  0% {
    opacity: 0;
  }

  8% {
    opacity: 1;
  }

  13%,
  25% {
    opacity: 1;
    transform: scale(1.06);
  }

  38% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

/* Abot US */
.page-home .textwithimage .lazy-image.loaded img {
  border-radius: 100px 0 0 0 !important;
}

/* Hero About Us Section */
.cw-about-us {
  position: relative;
  margin-top: -3rem;
}

.cw-about-us .container {
  border-top: 1rem solid var(--color-theme-primary);
}

/* Footer -========================================================================== */
.cw-footer {
  background-color: #f2f1f1;
  border-radius: 600px 0 0 0;
  border-top: 5px solid #d0d0d0;
}

.cw-commercial-snow-removal .container {
  position: relative;
  margin-top: -3rem;
  border-top: 5px solid var(--color-theme-primary);
  z-index: 1;
  background-color: #fff;
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .cw-snow-page-header-text {
    position: absolute;
    top: -250px;
    left: 0;
    right: 0;
    bottom: 0;
    color: #fff;
    z-index: 1;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
}

/* XX-Large devices (larger desktops, 1400px and ) */
@media (min-width: 1400px) {
}

@media (max-width: 768px) {
  .cw-snow-page-header {
    height: 120px;
  }
}

/* !!! Services !!! */

.cw-services {
  margin: 5rem 0;
}

.cw-service-image {
}

.cw-buttons {
  position: absolute;
  /* top: 0; */
  bottom: 2rem;
  right: 0;
  left: 0;
  width: 95%;
  height: 50px;
  padding: 0;
  border: 1px solid #fff;
  background: linear-gradient(
    rgba(46, 110, 101, 0.75),
    rgba(46, 110, 101, 0.75)
  ) !important;
  /* border-radius: 0 0 30px 0; */
  margin: auto;
  background-color: #2e6e65;
}

.cw-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease-in-out;
  height: 100%;
  width: 100%;
}

.cw-service-image {
  transition: 0.4s ease;
  overflow: hidden;
  height: 100%;
  width: 100%;
  /* border-radius: 30px; */
}

.cw-card:hover .cw-service-image {
  transform: scale(1.08);
  filter: sepia(100%) hue-rotate(177deg) saturate(100%) brightness(0.9);
}

.cw-buttons {
  transition: 0.4s ease;
}

.cw-card:hover .cw-buttons {
  transition: all 0.5s;
  transform: translateX(10px);
}


@media (min-width: 768px) {
    section:not(.page-home) .header:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        background: rgb(0 13 54 / 50%) !important;
    }
}