* {
    --primary: #ee3424;
    --lightgrey: #fafafa;
    --black: #373b42;
    --alt: #1c6533;
    --darkgrey: #dbdbdb;
    --black: #373b42;
    --white: #fafafa;
    --richwhite: #ffffff;
    --ts-forrest: #1c6533;
}

@media screen and (min-width: 992px) {
	.service-banner-container {
		max-width:1220px!important;
	}
}
/* service list */
.service-introduction .col-md-3 .btn, .service-introduction .col-md-4 .btn {
	width:90%;
	text-align: center;
	overflow-x: hidden;
}
.service-introduction .col-md-3 .btn--secondary , .service-introduction .col-md-4 .btn--secondary {
	width:unset;
}
section.service-introduction {
    height: auto;
    overflow: auto;
	overflow-x: hidden;
}
/* section.service-introduction .row {
    display: block !important;
    clear: both;
    position: relative;
    height: auto;
} */
section.service-introduction .row > * {
    float: left;
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    /* overflow: auto; */
}
section.service-introduction p, section.introduction p {
	font-size: 17px;
    line-height: 1.7em;
}
section.introduction p.small, .service-copy p.small {
	font-size: 14px;
	line-height: 1.5em;
}
section.services__intro {
  position: relative;
  height: 60vh;
  width: 100%;
}
section.services__intro .container {
	height: 100%!important;
	min-height: 410px;
}
section.services__intro .row {
    align-items: center!important;
    height: 100%!important;
}
@media screen and (max-width: 991px) {
  section.services__intro .container {
	width:100%;
	max-width:unset;
	min-height:unset;
	margin-right: auto;
    margin-left: auto;
    padding-left: 10px;
    padding-right: 10px;
  }
  section.services__intro {
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  section.services__intro .container-md {
    height: 100%;
  }
}
section.services__intro .services__intro--img, section.services__intro .tradeunion__intro--img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
section.services__intro .services__intro--img:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  background: black;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.39;
}
@media screen and (max-width: 767px) {
  section.services__intro .services__intro--img, section.services__intro .tradeunion__intro--img {
    position: relative;
    height: 0;
    padding-bottom: calc((9 / 16) * 100%);
    margin-inline: -10px;
    width: calc(100% + 20px);
  }
  section.services__intro .services__intro--img:before {
    content: none;
  }
}
section.services__intro .services__intro--img img, section.services__intro .tradeunion__intro--img img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.services__intro .services__intro--img p.services__intro--img--title {
  position: absolute;
  bottom: 0;
  z-index: 50;
  color: white;
  font-size: 85%;
  text-align: left;
  padding-bottom: 12px;
  text-shadow: 1px 1px 1px rgb(5 5 5 / 70%);
}
@media screen and (min-width: 320px) {
  section.services__intro .services__intro--img p.services__intro--img--title {
    margin-left: calc((102vw - 295px) / 2);
  }
}
@media screen and (min-width: 375px) {
  section.services__intro .services__intro--img p.services__intro--img--title {
    margin-left: calc((102vw - 355px) / 2);
  }
}
@media screen and (min-width: 768px) {
  section.services__intro .services__intro--img p.services__intro--img--title {
    margin-left: calc((102vw - 720px) / 2);
  }
}
@media screen and (min-width: 992px) {
  section.services__intro .services__intro--img p.services__intro--img--title {
    /*margin-left: calc((102vw - 1170px) / 2);*/
	  margin-left:20px;
  }
}
@media screen and (min-width: 1190px) {
  section.services__intro .services__intro--img p.services__intro--img--title {
    margin-left: calc((100vw - 1190px) / 2);
  }
}
section.services__intro .services__intro--content {
  color: white;
  z-index: 20;
}
@media screen and (max-width: 474px) {
  section.services__intro .services__intro--content {
    -webkit-padding-after: 40px;
            padding-block-end: 40px;
  }
}
section.services__intro .services__intro--content h1 {
  text-transform: none;
  font-size: 2.66em;
  margin-bottom:15px;
  line-height:1.15em;
}
@media screen and (max-width: 767px) {
section.services__intro .services__intro--content h1 {
  font-size: 2.1em;
}
}
@media screen and (min-width: 768px) {
  section.services__intro .services__intro--content h1 {
    text-shadow: 2px 2px 2px rgba(5, 5, 5, 0.7);
  }
}
section.services__intro .services__intro--content p.intro {
  font-size: 103%;
  max-width:440px;
}
section.services__intro .best-firms--solo {
  position: relative;
  z-index: 50;
  margin-inline: auto;
  padding-inline: auto;
  width: 70%;
  left: 50%;
  transform: translateX(-50%);
}
section.services__intro .best-firms--solo-mob {
	display: none;
}
@media screen and (min-width: 768px) {
  section.services__intro .services__intro--content p.intro {
    text-shadow: 2px 2px 2px rgba(5, 5, 5, 0.7);
  }
}
@media screen and (max-width: 767px) {
  section.services__intro .services__intro--content {
    position: relative;
    background: var(--lightgrey);
    color: var(--black);
    width: calc(100% + 20px);
    padding-block: 1.5em;
    padding-inline: 2em;
  }
  section.services__intro .logos {
    background: var(--lightgrey);
	  top:-80px;
  }
  section.services__intro .best-firms--solo {
	display: none;
  }
  section.services__intro .best-firms--solo-mob {
	display:inline;
	width:33%;
	margin-left:12px;
  }
}
@media screen and (max-width: 320px) {
  section.services__intro .best-firms--solo-mob {
	width:26%;
	margin-left:6px;
  }
}
section.services__intro nav.services__intro--list {
  background: var(--primary);
  z-index: 20;
  position: relative;
  color: white;
  -moz-columns: 2;
       columns: 2;
  gap: 18px;
  padding: 14px;
  margin-left:22px;
}
@media screen and (max-width: 991px) {
	section.services__intro nav.services__intro--list {
		padding: 9px;
	}
	section.services__intro nav.services__intro--list a {
		font-size:14px;
	}
	section.services__intro nav.services__intro--list h3 {
		font-size:16px;
	}
}
@media screen and (max-width: 767px) {
  section.services__intro nav.services__intro--list {
    width: calc(100% + 20px);
    margin-inline: -10px;
  }
}
section.services__intro nav.services__intro--list h3 {
  -moz-column-span: all;
       column-span: all;
  margin-block: 0px;
  -webkit-padding-before: 10px;
          padding-block-start: 10px;
  border-bottom: 1px solid white;
}
section.services__intro nav.services__intro--list .best-firms {
  position: absolute;
  z-index: 50;
  width: 180px;
  right: -10px;
  top: -50px;
}
@media screen and (max-width: 991px) {
  section.services__intro nav.services__intro--list .best-firms {
    right: -25px;
  }
}
@media screen and (max-width: 767px) {
  section.services__intro nav.services__intro--list .best-firms {
    right: 12px;
  }
}
@media screen and (max-width: 414px) {
  section.services__intro nav.services__intro--list .best-firms {
    width: 33%;
	top: -74px;
	padding-left:12px;
  }
}
section.services__intro nav.services__intro--list a {
  color: white;
  /* padding-block: 5px; */
  padding: 3px 0px;
  display: inline-block;
	font-size:15px;
}

a.button.button--cta {
  background: var(--alt);
  color: white;
  text-transform: uppercase;
  padding: 10px 20px;
  transition: all 120ms ease-in-out;
  margin-top: 15px;
  display: inline-block;
}
a.button.button--cta:hover, a.button.button--cta:focus {
  text-decoration: none;
  background: white;
  color: var(--primary);
}

/* new sub service css */
section.cta--talk {
  background: var(--alt);
  padding: 2em 2.5em;
  margin: 2em 0;
}
@media screen and (max-width: 991px) {
	section.cta--talk {
	  padding: 0;
	  margin: 0;
	}
}
section.cta--talk .container {
  padding-block: 0;
}
section.cta--talk h2 {
  font-weight: 700;
  color: white;
  text-transform: none;
  letter-spacing: 0;
  font-size: 2em;
  margin-top: 0;
  padding-top: 0;
}
section.cta--talk p {
  color: white;
  margin-bottom: 14px;
}
section.cta--talk a.button {
  background: white;
  padding: 1em 2em;
  font-weight: 700;
  display: inline-block;
  width: auto;
  font-size: 120%;
  color: var(--alt);
}
section.cta--talk a.button:hover, section.cta--talk a.button:focus {
  color: var(--primary);
  text-decoration: none;
}
section.cta--talk:before, section.testimonials:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: inherit;
    margin: 0 -100vw;
}
section.cta--talk .intro {
    margin-bottom:15px;
}

section.testimonials {
  background: var(--black);
  padding: 3em 2.5em;
  margin: 2em 0;
}
section.testimonials > * {
  color: var(--white);
}
section.testimonials h2 {
  padding-top: 0;
  margin-top: 0;
}
section.cta--talk + section.testimonials {
  margin-top: -2em;
}
section.testimonials .testimonial--slider {
  width: 100%;
}
section.testimonials .testimonial--single {
    width: 100%;
}

.people--holder {
  margin-bottom: 50px;
}
.people--holder .main-carousel {
  margin-top: 20px;
  margin-bottom: 40px;
}
.people--holder .main-carousel .flickity-viewport {
  max-height: unset !important;
}
.people--holder .main-carousel .carousel-cell {
  padding: 10px;
}
.people--holder .main-carousel .carousel-cell .carousel--img {
  width: 100%;
  height: 0;
  padding-bottom: 50%;
  position: relative;
  display: block;
  margin-bottom: 25px;
}
.people--holder .main-carousel .carousel-cell .carousel--img > img {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.people--holder .main-carousel .carousel-cell hr {
  height: 15px;
  border-color: var(--black);
}

.video--hd {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-bottom: calc((9 / 16) * 100%);
  position: relative;
}
.video--hd > iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

section.home__profile {
  padding-block: 5em;
}
@media screen and (max-width: 767px) {
  section.home__profile {
    padding-block: 2em;
  }
}
section.home__profile .profile--single .profile__single--img {
  height: 0;
  -webkit-padding-after: calc((9 / 16) * 100%);
          padding-block-end: calc((9 / 16) * 100%);
  position: relative;
}
section.home__profile .profile--single .profile__single--img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: center;
     object-fit: center;
}
section.home__profile .profile--single a.button {
  color: black;
  border-bottom: 2px solid var(--primary);
  padding-bottom: 5px;
  transition: all 240ms ease-in-out;
  position: relative;
}
section.home__profile .profile--single a.button:hover, section.home__profile .profile--single a.button:focus {
  text-decoration: none;
  border-bottom: 5px solid var(--primary);
}
section.home__profile .profile--single a.button:after {
  content: "⌄";
  transform: rotate(-90deg);
  display: inline-block;
  color: var(--primary);
  margin-inline: 3px;
}
/* New Request a Callback form */
.callback--form {
  background: var(--lightgrey);
  height: auto;
  width: 100%;
  padding: .5em;
}
.callback--form .callback--header {
  border-bottom: 1px solid;
  padding-bottom: 0.75em;
  padding-top: 0;
  margin-bottom: 0.75em;
  margin-top: 0;
  font-weight: 700;
  font-size: 1.313em!important;
}
.callback--form .callback--subheader {
	font-weight: 700;
	font-size: 1em!important;
	paading-bottom:10px;
}
.callback--intro {
	padding: 0.75em 0;
}
.callback--form .callback--icon {
  height: auto;
  overflow: hidden;
  transition: all 300ms ease;
  margin-bottom: 1em;
}
.callback--form .callback--icon i {
  color: var(--alt);
  font-size: 3em;
}
.callback--form .callback--icon.callback--icon__hidden {
  height: 0;
}
.callback--form .callback--single__info {
  padding: 0.25em 0;
}
.callback--form .callback--single__info > .row {
  padding: 0.75em 0;
}
.callback--form .callback--single__info a {
	color:var(--primary);
}
.callback--form .callback--single input {
  width: 100%;
  padding: 0.45em;
  border: 0;
  background: var(--richwhite);
}
.callback--form .callback--single select {
  width: 100%;
  padding: 0.65em 0.45em;
  border: 0;
  background: var(--richwhite)!important;
  appearance: auto;
  -webkit-appearance: auto;
}
.callback--form .callback--single input[type=submit] {
  width: auto;
  text-align: right;
  margin-left: auto;
  margin-right: 0;
  display: block;
  background: var(--alt)!important;
  color: #fafafa;
  padding: 0.75em;
  font-family: lato;
}
.callback--form .callback--single input[type=radio]{
	display:none;
}
.callback--form .callback--single .callback--single__date label {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 10px 0px;
}
.callback--form .callback--single[data-date-selected=false] .callback--single__info {
  height: 0;
  overflow: hidden;
}
.callback--form .callback--single[data-date-selected=true] .callback--single__info {
  height: auto;
  overflow: hidden;
}
.callback--form .callback--single[data-date-selected=true] .callback--single__date {
  background: var(--alt);
  color: var(--white);
  padding: 0.25em 0.5em;
  margin: 1em 0;
}
.callback--form .callback--single[data-date-selected=false] .callback--single__date {
  background: var(--alt);
  color: var(--white);
  padding: 0.25em 0.5em;
  margin: 0.5em 0 0;
}
.callback--form .date-selected .callback--single__date {
  background: #dbdbdb!important;
	color: var(--black)!important;
}
.people--slider {
  background: var(--white);
  padding: 0.5em 0.85em;
  height: auto;
}
.people--slider .people--single {
  width: 100%;
  padding: 0.5em 0.25em 0.5em 0.5em;
  margin-right: 0.5em;
}
@media (min-width: 768px) {
  .people--slider .people--single {
    width: calc(50% - 0.5em);
  }
}
.people--slider .people--single .people--img {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-bottom: calc(3/4 * 100%);
  position: relative;
}
.people--slider .people--single .people--img > img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.people--slider .people--single h3 {
	font-size: 1.3em;
	margin-top: 10px;
    margin-bottom: 6px;
}
.people--slider .people--single h5 {
  	border-bottom: 1px solid var(--black);
  	padding-bottom: 0.4em;
	font-size: 14px;
}
.people--slider .people--single p {
  color: var(--black);
  margin: 0;
  font-size: 14px;
  line-height:1.4em;
  padding-top:6px;
}
.people--slider .people--single p a {
	text-decoration:underline;	
}
.people--slider .flickity-viewport {
	min-height:368px;
}
@media (max-width: 768px) {
  .people--slider .people--single h3, .people--slider .people--single h5, .people--slider .people--single p {
    text-align: center;
  }
}