/*
CTC Separate Stylesheet
Updated: 2025-08-27 20:55:04
*/

html {
	scroll-behavior: smooth;
}

html body {
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-style: normal;
    color:#393939;
    font-size:18px;
}
a {
	color: inherit;
}
a:hover {
	text-decoration: none;
	color: inherit;
}
#bb4-primary-menu {
	width: 100%;
}
.navbar .navbar-toggler {
	color: rgba(0, 0, 0, 0.5);
	border-color: rgba(0, 0, 0, 0.1);
}
.blue-bar {
	background-color: #224289;
	color: #fff;
	padding: 10px;
	font-size: 21px;
}
.site-branding {
	padding-top: 15px;
	padding-bottom: 15px;
}

.header-hero {
	background-size: cover;
	background-position: center;
	position: relative;
}
.overlay {
	background-color: #000;
	position: absolute;
	height: 100%;
	width: 100%;
	opacity: 0.39;
}

.header-hero {
  min-height: 35vw;
  background-size: cover;
  background-position: center;
  position: relative;
}
.header-hero .overlay{
  opacity:.75;
}
.header-text-wrapper{
  align-content: center;
}
.header-text{
  padding-top:35px;
  padding-bottom:35px;
  color:#fff;
}
.header-text span.red-tops{
  color:#d61d00;
  font-size:48px;
  font-size: clamp(30px, 3.5vw, 48px);
  font-weight:700;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
}
.header-text h1 {
  font-size:48px;
  font-size: clamp(30px, 3.5vw, 40px);
  font-weight:500;
  padding-top:30px;
  padding-bottom:40px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}
.header-text h3 {
  font-size:32px;
  font-size: clamp(26px, 3.5vw, 32px);
  font-weight:500;
  padding-top:10px;
  padding-bottom:35px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}
.request-quote{
  background-color:#224289;
  color:#fff;
  font-size:32px;
  padding:10px 35px;
  font-weight:700;
  border:1px solid #fff;
  border-radius:0;
}
.btn.request-quote:hover{
  background-color:#f5f5f5;
}
.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots).red-bar {
  width:400px;
  max-width:100%;
  height:3px;
  margin-top:0px;
  margin-bottom:0px;
}
.welcome-block{
  padding-top:110px;
  padding-bottom:110px;
}
.top-block-wrap{
  background: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 50%, #ffffff 100%);
}

.about-block{
  background-color: #224289;
}
.bluebkgd{
  background-color: #224289;
  color: #fff;
  padding: 5%;
  align-content: center;
  font-size:21px;
}
.bluebkgd h2{
  font-size:40px;
  font-size: clamp(32px, 4.5vw, 55px);
  font-weight: 500;
  margin-bottom:75px;
}
.btn.about{
  margin-top:25px;
  margin-bottom:20px;
}
.team-image{
  align-content: center;
}
.service-block h2{
  color:#d61d00;
  margin-bottom:35px;
}
.service-block{
  padding-bottom:40px;
}
.red-bar {
  background-color: #d61d00;
  width: 400px;
  max-width: 100%;
  height: 3px;
  margin-top: 10px;
  margin-bottom: 30px;
}
.logo-block{
  padding-top:25px;
  padding-bottom:50px;
}
.logo-block h2{
  color: #224289;
  font-style: normal;
  font-weight: 700;
  margin-bottom:25px;
}
.reviews{
  background-color: #0d296a;
  background-image:url(/wp-content/uploads/2025/09/reviews-bkgd.jpg);
  background-size: cover;
  background-position: center;
  position: relative;
  padding-top:80px;
  padding-bottom:80px;
  color: #fff;
}

.service-teaser-wrap {
  margin-bottom: 50px;
}

.service-teaser {
  background: #fff;
  text-align: center;
  padding: 25px;
  margin: 0 25px;
  border-radius: 30px;
  border: 2px solid #e3e3e3;
  box-shadow: 3px 12px 15px rgba(0, 0, 0, 0.12);
  color: #131313;
  height: 100%;
  position: relative;
  overflow: hidden; /* keep content inside */
  transition: 0.3s ease;
}

.service-teaser:hover {
  border: 2px solid #224289; /* border color shift */
  transform: translateY(-4px); /* subtle lift */
}

/* Image wrapper for shimmer */
.image-wrap {
  position: relative;
  overflow: hidden;
}

.image-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-20deg);
}

.service-teaser:hover .image-wrap::after {
  animation: shimmer 0.8s forwards;
}

@keyframes shimmer {
  100% {
    left: 125%;
  }
}

.service-teaser h2 {
  margin-bottom: 30px;
  font-weight: 500;
}

.service-teaser img {
  margin-bottom: 30px;
}

.service-teaser .teaser-text {
  padding-bottom: 20px;
}



.logo-footer{
    margin-bottom:25px;
}
.site-footer {
	background-color: #fff;
	border-top: 2px solid #e5e5e5;
	padding: 25px 15px 25px;
    font-size:18px;
}
.site-footer h2{
    font-size:18px;
}
.footer-menu {
	list-style: none;
	padding-left: 0;
	font-size: 15px;
}
.footer-menu a {
	color: #333;
}
.site-footer .social-icons i {
	font-size: 35px;
	padding: 15px;
}
.social-icons a {
	color: #111;
}
.copyright {
	background-color: #1e1e1e;
    color:#c4c4c4;
    font-size:14px;
	padding: 5px;
}
.copyright a {
	color: inherit;
}

/*Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {
}

/*Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
}

/*Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
	.blue-bar .phone {
		text-align: right;
	}
}

/*Extra large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {
}

/*Extra small devices portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
}

/*Small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {
  .footer-contact{
    text-align: center;;
  }
}

/*Medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
	.blue-bar {
		text-align: center;
	}
}

/*Large devices (desktops, less than 1200px)*/
@media (max-width: 1199.98px) {
}
