/* Open Sans — deferred weights (italic + 600 + 800) */
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 300; font-display: swap; src: url('fonts/open-sans-v44-latin-300italic.woff2') format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 400; font-display: swap; src: url('fonts/open-sans-v44-latin-italic.woff2') format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/open-sans-v44-latin-600.woff2') format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 800; font-display: swap; src: url('fonts/open-sans-v44-latin-800.woff2') format('woff2'); }

.well { border-radius: var(--border-radius); }

/* h1-h6 base, h1 styles, h1 span.over — moved to _critical.css */
h2, h1.h2, h3.h2, h4.h2, h5.h2, h6.h2 {margin-top: 0;}
/* p,ul,ol and p.lead — moved to _critical.css */

h2, h1.h2, h3.h2, h4.h2, h5.h2, h6.h2 {
    font-size: 55px;
    color: var(--dark);
    text-transform: uppercase;
  }

  /* Media query for mobile devices */
  @media (max-width: 767px) {
    h2, h1.h2, h3.h2, h4.h2, h5.h2, h6.h2 {
      font-size: 40px; /* Smaller font size for mobile */
    }
  }

/* h2 span.over — moved to _critical.css */
h3, .h3 {
  font-size: 38px;
  font-weight: 900;
}
/* h3 span.over — moved to _critical.css */
h4, .h4 {
  font-size:29px;
}
/* h4 span.over — moved to _critical.css */
h4 span.under, .h4 span.under, h3 span.under, .h3 span.under {
  font-size: 16px;
  font-weight: 100;
  text-transform: uppercase;
  padding-top: 3px;
  display: block;
  color: var(--dark);
}

/* LOCATION PAGES DO NOT DELETE */
.AWS-links h4 {
  font-size: 1.2em;
}
.locationAWS .AWS-links h4 a:hover {
  color: #fff;  
}
/* LOCATION PAGES DO NOT DELETE */

p.pullout {font-size:1.5em;font-style: italic;padding:8px 0;margin:20px 0; border-top:2px solid #CCCCCC;border-bottom:2px solid #CCCCCC;}
p.small, p.sm, .text-small, .text-sm, .small {font-size:0.875em}
p.xs {font-size:0.75em}



/* a, a:hover, a:focus — moved to _critical.css */

/* .over base — moved to _critical.css */

.decoration-primary, .decoration-primary-h2  {display:block;width:32px;height:5px;margin-top:24px;margin-bottom:24px;background-color:#CCCCCC}
.decoration-primary-h3, .decoration-purple-h3 {display:block;width:50px;height:2px;margin-top:16px;margin-bottom:16px;background-color:#CCCCCC}

/* .bg-primary, .bg-secondary, .bg-dark, .bg-white — moved to _critical.css */
.bg-cta {background:var(--primary);}
.bg-warranty {background:var(--primary);}
.bg-gray {background:var(--dark) }
/* .bg-alt — moved to _critical.css */
.bg-light-grey, .bg-light-gray{background: #CCC;}

/* .text-primary, .text-secondary, .text-white — moved to _critical.css */
.text-default, .text-gray {color:#353739}
.text-black {color:#000}


/* By default, hide mobile text and show desktop text */
.btn .mobile-text {
    display: none;
  }
  .btn .desktop-text {
    display: inline;
  }

  /* Media query for screens up to 768px width (typical mobile screens) */
  @media (max-width: 768px) {
      .btn .mobile-text {
        display: inline; /* Show mobile text */
      }
      .btn .desktop-text {
        display: none; /* Hide desktop text */
      }
  }


/* All button styles — moved to _critical.css */

.inner {padding:0 5%;}



/* Specific Styling */

/* ### Topbar Section ### */
.topbar{
  background:#CCCCCC;
  padding-top: 10px;
  padding-bottom: 10px;
}
.topbar p {
  color:#FFF;
  font-size:1em;
  margin:4px 0 0 0;
  padding:0;
}
.topbar a {
  color:#FFF;
  font-size:1em;
  text-transform: uppercase;
  text-decoration: underline;
  font-weight:bold;
}


/* ### Banner Section ### */
.banner{
  background-size:cover;
  background-repeat: no-repeat;
  position:relative;
}
/* .banner-filter — moved to _critical.css */

.banner h1 {
  color:#fff;
  font-size:64px;
  font-weight:800;
  padding:0;
  margin:60px 0 10px 0;
}
@media (max-width: 768px) { /* Adjust the breakpoint as needed for your mobile devices */
    .banner h1 {
      font-size: 40px;
    }
  }



  .banner p {
    font-size:18px;
    color:rgba(255,255,255,1);
    font-style:italic;
    margin-bottom: 50px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* Adding text shadow */
  }
  /* By default, hide mobile text and show desktop text */
  .banner p .mobile-text {
      display: none;
    }
    .banner p .desktop-text {
      display: inline;
    }
  
    /* Media query for screens up to 768px width (typical mobile screens) */
    @media (max-width: 768px) {
        .banner p .mobile-text {
          display: inline; /* Show mobile text */
        }
        .banner p .desktop-text {
          display: none; /* Hide desktop text */
        }
    }

/* Default styles for .banner h1 and .banner p */
.banner h1,
.banner p {
    max-width: 60%;
}

/* Media query with a unique class selector */
@media (max-width: 767px) {
    .banner h1,
    .banner p {
        max-width: 100%;
        padding: 20px;
    }
}





div.icon-list {margin-top:15px;}
.icon-list img{ width:35px;float:left; margin-top: 15px; padding-right: 5px;}
.icon-list h3 {margin-left:42px;margin-bottom:5px;margin-top:0;}
.icon-list p {margin-left:42px;margin-top:0;}


h3 span {
  font-size:.7em;
  color:#ccc;
}
h4 span {
  font-family: 'Open Sans', serif;
  font-size:.5em;
  color:#ccc;
}

  
.subnav {
    margin-top:20px;
    margin-bottom:20px;
  }
    @media (max-width: 767px){
      .subnav {
        margin-bottom:40px;
        width:100%;
      }
    }

  .subnav-header {
    display:block;
    width:100%;
    padding:4px 12px;
    margin-bottom:6px;
    background:#CCCCCC;
    color:#464646;
    font-weight:600;
    font-size:1em;  
  }
  .subnav a{
    display:block;
    width:100%;
    padding:8px 12px;
    margin-bottom:2px;
    background:#CCCCCC;
    color:#FFF;
    font-weight:600;
    font-size:1.2em;
  }
  .subnav a:hover{
    background:#464646;
    color:#FFF;
  }
  .subnav a.active{
    background:var(--primary);
    color:#FFF;
  }

.byline {
  font-weight:bold;
  color:#333;
  font-style:normal;
}
.benefit-grid {
  border:1px solid #ccc;
  padding:10px 10px;
  width:50%;
  float:left;
  height:180px
}
.breakout {
  padding:20px 20px;
}
.breakout h4{
  height:2em;
}
.breakout p{
  font-size:.9em;
  height:3em;
}
.headline {
    font-size: 50px;
    color: var(--dark);
    text-transform: uppercase;
    font-family: 'Open Sans', cursive; 
    font-weight:700;
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.1;
  }
/* .headline span.over — moved to _critical.css */

.topbar-link {
  font-size:1.3em;
}
.footer-links {
  display:block;
  font-size:1.2em;
  border-bottom:1px dotted rgba(255,255,255,.3);
  padding:5px 0;
}
.footer-links i{
  margin-right:8px;
}
.footer-links a {
  font-weight:normal;
  color:rgba(255,255,255,1);
}
.footer-links a:hover {
  color:var(--accent);
}

.footer-link-2 a {
    color:#fff !important;
  }

.footer-link-2 a:hover {
    color:var(--accent) !important;
  }
.social-link  {
  font-size:16px;
  height:28px;
  width:28px;
  text-align:center;
  padding:6px;
  border-radius:var(--icon-radius);
  background:var(--primary);
  color: white;
   margin-right:6px; 
   margin-left:6px; 
  transition: all 0.7s ease-out;
}
.social-link:hover {
  background:#fff;
  color:var(--accent);
  transition: all 0.7s ease-out;
}

    
/*
  MEDIA QUERIES
*/

/* Responsive Css */
@media all and (min-width: 1024px) {
  .offcanvas,
  .body-inactive,
  .toggle {
    display: none !important;
  }
  .navigation{
	/* display:inline-block;  REDUNDANT CHRIS KEEPING JUST INCASE LOL */
	float:right;
	}
}
  

.center-image {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* .center-content — moved to _critical.css */


    /* Default styles for the iframe container */
    .iframe-container {
        position: relative;
        overflow: hidden;
        padding-bottom: 56.25%; /* 16:9 aspect ratio for responsive height */
        max-width: 100%; /* Ensures the iframe doesn't overflow its container */
        margin: 0 auto; /* Centers the container */
        height: 400px;
      }
    
     

/* Back To Top Button — base styles moved to _critical.css */
  #backTop:hover {
	cursor: pointer;
	background-color: var(--primary-hover);
  }
  #backTop:active {
	background-color: var(--primary-hover);
  }
/* Back To Top Button END */


/* Contact us page */

.contactus-link, .contactus-link > h4 span {
  font-size: 22px;
  display: inline-flex; 
  align-items: center; 
  color: var(--accent);
}

.square-icon, .rounded-icon, .circle-icon {
  font-size: 30px;
  background-color: var(--accent);
  padding: 10px;
  transition: transform 0.5s ease; 
  text-align: center;
}

div.row.footer-icon-link > i.square-icon,
div.row.footer-icon-link > i.rounded-icon,
div.row.footer-icon-link > i.circle-icon {
  font-size: 22px;
  background-color: var(--accent);
  color: #fff !important;
  padding: 10px;
  transition: transform 0.5s ease; 
  width: 40px;
  height: 40px;
  text-align: center;
}

.square-icon {
  border-radius: var(--icon-radius);
}

.rounded-icon {
  border-radius: var(--icon-radius);
}

.circle-icon {
  border-radius: var(--icon-radius);
}


.contactus-link:hover .square-icon, 
.contactus-link:hover .rounded-icon, 
.contactus-link:hover .circle-icon {
  transform: rotate(15deg);  
}

a.contactus-link > p, div.contactus-link > p{
  font-size: 18px;
  color: var(--dark);
  margin-bottom: 0px;
}

/* Contact us page end */

h6.footerh6, .footerh6 {
  display: inline-block;
  font-size: 20px;
  line-height: 20px;
  color: #fff;
}

h6.footerh6 a, .footerh6 a {
  color: #fff;
}
h6.footerh6 a:hover, .footerh6 a:hover {
  color: var(--primary);
}

.footer-container-border{
  border-bottom: 5px var(--accent) solid;
}



/* MOBILE NAV ICON — moved to _critical.css */


/* Photo Gallery makes all the images the same size */
.img-responsive-pg {
  width: 100%; /* Image scales within its container */
  max-width: 600px; 
  aspect-ratio: 1 / 1; 
  object-fit: cover; 
  border-radius: var(--border-radius);
}




/* Testimonials */
.testimonial-wrapper {
  margin:10px 0 60px 0;
  padding:32px 20px 16px;
  background-color:#FFF;
  /* border-radius:8px; */
  border:3px solid #FFF;
  box-shadow: 0 0 40px rgba(0,0,0,0.22);
  text-align:center;
}

.testimonials-titlebox {
  margin:10px 0 60px 0;
  padding:32px 20px 16px;
  /* background-color:#E81877; */
  background:var(--primary);
  border-radius:8px;
  /* border:3px solid #E81877; */
  barder:3px solid var(--primary);
  box-shadow: 0 0 40px rgba(0,0,0,0.22);
  text-align:center;
}

.testimonial-photo {
  margin-right:12px;
}
.testimonial-wrapper h4 {
  margin-bottom:20px;
}
.testimonial-stars {
  display:block;
  margin:auto;
  margin-bottom:20px;
  width:100px;
}
.testimonial-disclaimer {
  margin-top:40px;
  font-size:.85em;
  color:#aaa;
  text-align:center;
}

/* Signature In Home Intro */
@media (max-width: 991px) { .signature { display: flex; justify-content: center;} }
/* Signature In Home Intro END*/