/**
 * Table of Contents
 * 
 * 1.  CSS Variables
 * 2.  Base Styles
 * 3.  Containers
 * 4.  Fonts
 * 5.  Forms
 * 6.  Misc. Styles
 * 7.  App Header
 * 8.  App Footer
 * 9.  App Main
 * 10  Hero Banner
 * 11. General Hero Banner
 * 12. Industries Served Section
 * 13. Testimonials Section
 * 14. CTAs Section
 * 15. Cards Carousel
 * 16. FAQs Section
 * 17. Contact Banner
 */

/** CSS Variables **/
:root {
  --blue-500: #0066cc;
  --blue-900: #000e2e;
  --cerulean-500: #00aeef;

  --bs-body-color: var(--blue-900);
  --bs-primary: var(--blue-500);
  --bs-primary-rgb: 0, 102, 204;
  --bs-secondary: var(--cerulean-500);
  --bs-secondary-rgb: 0, 174, 239;

  --bs-gray-100: #f1f1f1;
  --bs-gray-200: #e1e1e1;

  --bs-font-sans-serif: 'Open Sans', sans-serif;
  --bs-heading-color: var(--bs-primary);

  --bs-border-color: var(--bs-gray-200);
  --bs-border-radius-sm: .225rem;
  --bs-border-radius: .5rem;
}

.accordion {
  --bs-accordion-border-width: 2px;
  --bs-accordion-border-radius: .325rem;
  --bs-accordion-active-bg: var(--bs-gray-100);
  --bs-accordion-btn-color: var(--blue-900);
  --bs-accordion-btn-focus-box-shadow: unset;
}

.btn {
  --bs-btn-padding-x: 1.0rem;
  --bs-btn-padding-y: .225rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
  --bs-btn-font-weight: 600;
}

.nav {
  --bs-nav-link-padding-x: .875rem;
}


/** Base Styles **/
a {
  text-decoration: none;
  transition: color .15s ease-in-out, text-decoration .15s ease-in-out;
}
h2 {
  font-weight: 700;
}
h3 {
  font-size: clamp(1.1rem, 4vw, 1.375rem);
  font-weight: 700;
}


/** Containers **/
.container {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media (min-width: 576px) {
  .container { max-width: 720px; }
}
@media (min-width: 768px) {
  .container { max-width: 940px; }
}
@media (min-width: 992px) {
  .container {
    max-width: 1100px;
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
@media (min-width: 1200px) {
  .container { max-width: 1300px; }
}

.container.container--md {
  max-width: 1000px;
}


/** Fonts **/
@font-face {
  font-family: 'icomoon';
  src:  url('../fnt/icomoon.eot?xbw86i');
  src:  url('../fnt/icomoon.eot?xbw86i#iefix') format('embedded-opentype'),
    url('../fnt/icomoon.woff2?xbw86i') format('woff2'),
    url('../fnt/icomoon.ttf?xbw86i') format('truetype'),
    url('../fnt/icomoon.woff?xbw86i') format('woff'),
    url('../fnt/icomoon.svg?xbw86i#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^="icn-"], [class*=" icn-"] {
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icn-download:before {
  content: "\e90c";
}
.icn-email:before {
  content: "\e904";
}
.icn-facebook:before {
  content: "\e905";
}
.icn-fax:before {
  content: "\e906";
}
.icn-linkedin:before {
  content: "\e907";
}
.icn-map-marker:before {
  content: "\e908";
}
.icn-phone:before {
  content: "\e909";
}
.icn-twitter:before {
  content: "\e90a";
}
.icn-x-twitter:before {
  content: "\e90b";
}
.icn-lock:before {
  content: "\e903";
}
.icn-email-circle:before {
  content: "\e900";
}
.icn-phone-circle:before {
  content: "\e901";
}
.icn-search-circle:before {
  content: "\e902";
}


/** Forms **/
.form-label {
  margin-bottom: .25rem;
  font-size: .95em;
}
.form-control,
.form-select {
  border-width: 2px;
}
.form-text {
  font-size: .8rem;
}


/** Misc. Styles **/
.btn-lg {
  padding: .275rem 1.75rem;
  font-size: clamp(1.2rem, 3vw, 1.375rem);
}

.btn-cerulean {
  background-color: var(--cerulean-500);
  color: #fff;
}
.btn-cerulean:hover {
  background-color: var(--bs-primary);
  color: #fff;
}

.bg-primary a.link-secondary:hover {
  color: #fff !important;
  text-decoration-color: #fff !important;
}

ul.list-squares {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
ul.list-squares li {
  padding-left: 1.2em;
  position: relative;
}
ul.list-squares li:before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  position: absolute;
  left: 0;
  top: 8px;
  background-color: var(--cerulean-500);
}

ul.list-files {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
ul.list-files li {
  padding-left: 1.4em;
  margin-bottom: .25rem;
  position: relative;
}
ul.list-files li:before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 18px;
  position: absolute;
  left: 0;
  top: 4px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20688.1%20848.2%22%3E%0A%20%20%3Cpath%20d%3D%22M208.4%2C73.7c0%2C.5-.2%2C1-.2%2C1.6%2C0%2C.2%2C0%2C.3%2C0%2C.5%2C1-3.2.6-3.2.3-2Z%22%20fill%3D%22%23404040%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M221.3%2C53.5c-.7.5-1.3.9-2%2C1.4%2C0%2C0-.1%2C0-.2.1%2C1.6-.9%2C2.2-1.4%2C2.2-1.5Z%22%20fill%3D%22%23404040%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M688%2C25.3c0-.4%2C0-.9%2C0-1.3C688%2C11%2C677%2C0%2C664%2C0H245c-2.1%2C0-4.2%2C0-6.3%2C0-21.4.2-43.1%2C9-57.5%2C25.1%2C0%2C0-.2.2-.3.3-18.1%2C18.1-36.2%2C36.3-54.3%2C54.4-28.9%2C28.9-57.7%2C57.7-86.6%2C86.6-6.6%2C6.6-13.2%2C13.2-19.8%2C19.8-1.2%2C1.2-2.3%2C2.6-3.2%2C4.1-5.9%2C7.5-10.6%2C16.1-13.6%2C25.8C-.8%2C229.4%2C0%2C243.8%2C0%2C257.7v529.3c0%2C11.8-.2%2C23.6%2C0%2C35.4%2C0%2C.5%2C0%2C1.1%2C0%2C1.6%2C0%2C12.6%2C11%2C24.6%2C24%2C24h561.5c25.8%2C0%2C51.6.5%2C77.4%2C0%2C.4%2C0%2C.7%2C0%2C1.1%2C0%2C13%2C0%2C24-11%2C24-24V56.7c0-10.4.2-20.9%2C0-31.3ZM160.1%2C114.1v45.9h-45.9c15.3-15.3%2C30.6-30.6%2C45.9-45.9ZM600%2C799.9H102.5c-18.1%2C0-36.3-.3-54.5-.2V273.3c0-11.2%2C0-22.3%2C0-33.5%2C0-2%2C.6-4.4.4-6.3.2-1.2.5-2.3.9-3.5.3-1.1.7-2.1%2C1-3.2.1-.4.3-.7.4-1%2C1.1-2.1%2C2.4-4%2C3.7-6%2C0-.1.2-.2.3-.3%2C1.5-1.5%2C3.1-3.1%2C4.6-4.6%2C3.1-1.6%2C1.6-1.2.1-.1.1-.1.2-.2.3-.3.6-.4%2C1.1-.9%2C1.7-1.2%2C1.1-.7%2C2.2-1.4%2C3.4-2%2C.4-.2.9-.5%2C1.3-.7%2C2.4-.7%2C4.8-1.7%2C7.3-2.2.1%2C0%2C.4%2C0%2C.6-.1%2C1%2C0%2C2.7-.2%2C3.2-.3%2C3%2C0%2C6%2C0%2C8.9%2C0h97.8c13%2C0%2C24-11%2C24-24v-93.6c0-3.3%2C0-6.6%2C0-9.9%2C0-.6%2C0-1.2%2C0-1.8%2C0-1%2C0-2%2C0-3%2C0%2C.3-.2.6-.3%2C1%2C.2-.5.3-1%2C.3-1.5%2C0%2C0%2C0%2C0%2C0%2C0%2C0-.6.1-1.1.2-1.5%2C0-.3.1-.7.2-1%2C.5-2.1%2C1.2-4%2C1.8-6%2C.3-.6.6-1.3%2C1-1.9.9-1.7%2C2-3.3%2C3.1-5%2C.4-.4.8-.8%2C1.1-1.2%2C0%2C0%2C0%2C0%2C.1-.1.4-.5.9-1%2C1.3-1.4.7-.7%2C1.4-1.3%2C2.1-1.9-.3.2-.6.3-1%2C.5.4-.2.8-.4%2C1.1-.7.2-.2.4-.4.6-.6.7-.7%2C1.4-1%2C1.4-.8.8-.5%2C1.5-1.1%2C2.3-1.5.7-.4%2C1.4-.8%2C2.2-1.1%2C2.3-.4%2C4.7-1.7%2C7-2.3.8-.2%2C1.7-.3%2C2.6-.4%2C1.1%2C0%2C2.3-.1%2C3.4-.1.2%2C0%2C.3%2C0%2C.5%2C0%2C1%2C0%2C2%2C0%2C3%2C0h333.5c21.4%2C0%2C42.9.4%2C64.4.3v743c0%2C2.9%2C0%2C5.8%2C0%2C8.6h-40Z%22%20fill%3D%22%23404040%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M544%2C271H193.3c-16.2%2C0-32.4-.5-48.5%2C0-.2%2C0-.5%2C0-.7%2C0-9.4%2C0-18.4%2C8.3-18%2C18%2C.4%2C9.8%2C7.9%2C18%2C18%2C18h350.8c16.2%2C0%2C32.4.5%2C48.5%2C0%2C.2%2C0%2C.5%2C0%2C.7%2C0%2C9.4%2C0%2C18.4-8.3%2C18-18-.4-9.8-7.9-18-18-18Z%22%20fill%3D%22%23404040%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M544%2C171h-257.3c-9.4%2C0-18.4%2C8.3-18%2C18%2C.4%2C9.8%2C7.9%2C18%2C18%2C18h257.3c9.4%2C0%2C18.4-8.3%2C18-18-.4-9.8-7.9-18-18-18Z%22%20fill%3D%22%23404040%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M544%2C371H193.3c-16.2%2C0-32.4-.5-48.5%2C0-.2%2C0-.5%2C0-.7%2C0-9.4%2C0-18.4%2C8.3-18%2C18%2C.4%2C9.8%2C7.9%2C18%2C18%2C18h350.8c16.2%2C0%2C32.4.5%2C48.5%2C0%2C.2%2C0%2C.5%2C0%2C.7%2C0%2C9.4%2C0%2C18.4-8.3%2C18-18-.4-9.8-7.9-18-18-18Z%22%20fill%3D%22%23404040%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M544%2C471H193.3c-16.2%2C0-32.4-.5-48.5%2C0-.2%2C0-.5%2C0-.7%2C0-9.4%2C0-18.4%2C8.3-18%2C18%2C.4%2C9.8%2C7.9%2C18%2C18%2C18h350.8c16.2%2C0%2C32.4.5%2C48.5%2C0%2C.2%2C0%2C.5%2C0%2C.7%2C0%2C9.4%2C0%2C18.4-8.3%2C18-18-.4-9.8-7.9-18-18-18Z%22%20fill%3D%22%23404040%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M544%2C571H193.3c-16.2%2C0-32.4-.5-48.5%2C0-.2%2C0-.5%2C0-.7%2C0-9.4%2C0-18.4%2C8.3-18%2C18%2C.4%2C9.8%2C7.9%2C18%2C18%2C18h350.8c16.2%2C0%2C32.4.5%2C48.5%2C0%2C.2%2C0%2C.5%2C0%2C.7%2C0%2C9.4%2C0%2C18.4-8.3%2C18-18-.4-9.8-7.9-18-18-18Z%22%20fill%3D%22%23404040%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M544%2C671H193.3c-16.2%2C0-32.4-.5-48.5%2C0-.2%2C0-.5%2C0-.7%2C0-9.4%2C0-18.4%2C8.3-18%2C18%2C.4%2C9.8%2C7.9%2C18%2C18%2C18h350.8c16.2%2C0%2C32.4.5%2C48.5%2C0%2C.2%2C0%2C.5%2C0%2C.7%2C0%2C9.4%2C0%2C18.4-8.3%2C18-18-.4-9.8-7.9-18-18-18Z%22%20fill%3D%22%23404040%22%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
ul.list-files li a {
  color: var(--bs-body-color);
}
ul.list-files li a:hover {
  color: var(--bs-primary);
}


/** App Header **/
.app-header__upper {
  padding: .625rem 0;
  background-color: var(--bs-primary);
  color: #fff;
  font-size: .9rem;
}
  @media (min-width: 992px) {
    .app-header__upper {
      font-size: 1rem;
    }
  }
.app-header__upper .container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: .625rem;
}
  @media (min-width: 992px) {
    .app-header__upper .container {
      gap: 1rem;
    }
  }
.app-header__upper .upper__link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: #fff;
}
  @media (min-width: 992px) {
    .app-header__upper .upper__link {
      gap: .675rem;
    }
  }
.app-header__upper .upper__link:hover {
  color: var(--bs-secondary);
}
.app-header__upper .upper__link i {
  font-size: 1.625rem;
}
  @media (min-width: 992px) {
    .app-header__upper .upper__link i {
      font-size: 1.875rem;
    }
  }
.app-header__upper .upper__link.upper__link--button {
  padding: .225rem .5rem;
  gap: .25rem;
  background-color: #fff;
  color: var(--bs-primary);
  font-size: .9em;
}
  @media (min-width: 572px) {
    .app-header__upper .upper__link.upper__link--button {
      padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
      gap: .375rem;
      font-size: 1em;
    }
  }
.app-header__upper .upper__link.upper__link--button i {
  font-size: 1.15em;
}
.app-header__upper .upper__link.upper__link--button:hover {
  background-color: var(--bs-secondary);
  color: #fff;
}
.app-header__lower {
  padding: 1rem 0;
}
  @media (min-width: 992px) {
    .app-header__lower {
      padding: 1.625rem 0;
    }
  }
.app-header__lower .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.app-header__lower .lower__logo {
  display: block;
  width: 140px;
  height: 60px;
  margin-right: 1.5rem;
  background-image: url(/images/central-steel-fabricators.png);
  background-repeat: no-repeat;
  background-size: contain;
}
  @media (min-width: 1200px) {
    .app-header__lower .lower__logo {
      width: 200px;
      height: 87px;
    }
  }
.app-header__lower .lower__nav {
  display: none;
}
  @media (min-width: 992px) {
    .app-header__lower .lower__nav {
      display: block;
    }
  }
.app-header__lower .lower__nav > .nav {
  display: flex;
  align-items: center;
}
.app-header__lower .lower__nav .nav > .nav-item {
  position: relative;
}
.app-header__lower .lower__nav .nav > .nav-item:hover .nav {
  opacity: 1;
  pointer-events: all;
}
.app-header__lower .lower__nav .nav > .nav-item > .nav-link {
  color: var(--blue-900);
  font-size: .85rem;
  font-weight: 500;
}
  @media (min-width: 1200px) {
    .app-header__lower .lower__nav .nav > .nav-item > .nav-link {
      font-size: 1rem;
    }
  }
.app-header__lower .lower__nav .nav > .nav-item > .nav-link.active,
.app-header__lower .lower__nav .nav > .nav-item > .nav-link:hover {
  color: var(--bs-primary);
}
.app-header__lower .lower__nav .nav > .nav-item > .nav-link.nav-link--button {
  padding: .25rem 1.1rem;
  background-color: var(--bs-primary);
  color: #fff;
}
.app-header__lower .lower__nav .nav > .nav-item > .nav-link.nav-link--button:hover {
  background-color: var(--bs-secondary);
  color: #fff;
}
.app-header__lower .lower__nav .nav > .nav-item .nav {
  opacity: 0;
  pointer-events: none;
  transition: all .2s ease-in-out;
  flex-direction: column;
  position: absolute;
  z-index: 1000;
  width: max-content;
  min-width: 150px;
  max-width: 200px;
  background-color: #fff;
  box-shadow: .25rem .25rem 0 rgba(10, 10, 10, .3);
  border-top: 1px solid var(--bs-gray-300);
  border-left: 1px solid var(--bs-gray-300);
  border-right: 1px solid var(--bs-gray-300);
}
.app-header__lower .lower__nav .nav > .nav-item .nav .nav-item {
  border-bottom: 1px solid var(--bs-gray-300);
}
.app-header__lower .lower__nav .nav > .nav-item .nav .nav-item .nav-link {
  padding: .375rem .75rem;
  font-size: .9em;
}
.app-header__lower .lower__nav .nav > .nav-item .nav .nav-item .nav-link:hover {
  background-color: var(--bs-gray-200);
}
.app-header__lower .lower__nav-icon {
  display: block;
  padding: 0;
  border: none;
  background: none;
}
.app-header__lower .lower__nav-icon svg {
  width: 39px;
  height: 38px;
}
.app-header__lower .lower__nav-icon svg g {
  fill: var(--bs-secondary);
  transition: fill .25s ease-in-out;
}
.app-header__lower .lower__nav-icon:hover svg g {
  fill: var(--bs-primary);
}
  @media (min-width: 992px) {
    .app-header__lower .lower__nav-icon {
      display: none;
    }
  }
.app-nav-mobile .btn-close {
  position: absolute;
  right: .75rem;
  top: .75rem;
}
.app-nav-mobile .app-nav-mobile__logo {
  display: block;
  width: 140px;
  height: 60px;
  margin: 0 0 1.25rem 0;
  background: url(/images/central-steel-fabricators.png) no-repeat;
  background-size: contain;
}
.app-nav-mobile .nav,
.app-nav-mobile .nav-item {
  width: 100%;
}
.app-nav-mobile .nav-item .nav-link {
  display: block;
  width: 100%;
  padding: .5rem .3125rem .5rem 1rem;
  position: relative;
  color: var(--blue-900);
}
.app-nav-mobile .nav-item a.nav-link:hover {
  background: var(--bs-gray-200);
}
.app-nav-mobile .nav-item a.nav-link.active {
  background: var(--bs-gray-100);
}
.app-nav-mobile .nav > .nav-item {
  position: relative;
  border-bottom: 1px solid var(--bs-gray-200);
}
.app-nav-mobile .nav > .nav-item:last-child {
  border-bottom: none;
}
.app-nav-mobile .nav > .nav-item button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  padding: 0;
  border: none;
  background: none;
  position: absolute;
  right: 10px;
  top: 7px;
}
.app-nav-mobile .nav > .nav-item button:after {
  display: inline-block;
  content: "";
  width: 1rem;
  height: 1.625rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%233c3c3c' d='M151.5 347.8L3.5 201c-4.7-4.7-4.7-12.3 0-17l19.8-19.8c4.7-4.7 12.3-4.7 17 0L160 282.7l119.7-118.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17l-148 146.8c-4.7 4.7-12.3 4.7-17 0z'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform .15s ease-in-out;
}
.app-nav-mobile .nav > .nav-item button:hover {
  color: var(--bs-primary); 
  background: var(--bs-gray-100);
}
.app-nav-mobile .nav > .nav-item button:focus {
  outline: none;
}
.app-nav-mobile .nav > .nav-item button[aria-expanded="true"]:after {
  transform: rotate(180deg);
}
.app-nav-mobile .nav > .nav-item .sub-nav {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: .95rem;
}
.app-nav-mobile .nav > .nav-item .sub-nav .nav-item .nav-link {
  padding-left: 2.25rem;
}


/** App Footer **/
.app-footer .app-footer__upper {
  padding: 3.5rem 0;
  background-color: var(--bs-gray-100);
  font-weight: 500;
}
.app-footer .app-footer__upper .upper__headline {
  margin: 0 0 1rem 0;
  color: var(--blue-900);
  font-size: 1.1rem;
  font-weight: 700;
}
.app-footer .app-footer__upper a {
  color: var(--bs-blue-900);
}
.app-footer .app-footer__upper a:hover {
  color: var(--bs-primary);
}
.app-footer .app-footer__upper .upper__social-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: .625rem;
  font-size: 1.625rem;
}
.app-footer .app-footer__upper .nav .nav-item .nav-link {
  padding: .225rem 0;
}
.app-footer .app-footer__upper .upper__address {
  display: flex;
  flex-direction: column;
  gap: .375rem;
}
.app-footer .app-footer__upper .upper__address .address__address div {
  padding-left: 1.3em;
}
.app-footer .app-footer__lower {
  padding: .75rem 0;
  font-size: .8rem;
}


/** App Main **/
.app-main {
  min-height: calc(100vh - 192px - 360px);
}


/** Hero Banner **/
.hero-banner {
  position: relative;
}
.hero-banner .hero-banner__content {
  position: absolute;
  top: 0; 
  left: 0;
  z-index: 10;
  display: flex;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.hero-banner .hero-banner__content .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 900px;
  color: #fff;
  text-align: center;
}
.hero-banner .hero-banner__content .content__headline {
  color: #fff;
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 400;
  line-height: 1.2;
}
.hero-banner .hero-banner__content .content__subheadline {
  margin-top: 1rem;
  color: #fff;
  font-size: clamp(1.05rem, 3vw, 1.625rem);
  font-weight: 400;
  line-height: 1.3;
}
.hero-banner .hero-banner__content .content__buttons {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(.75rem, 3vw, 3rem);
  max-width: 420px;
  margin-top: clamp(1rem, 4vw, 3.75rem);
}
  @media (min-width: 992px) {
    .hero-banner .hero-banner__content .content__buttons {
      flex-direction: row;
      max-width: none;
    }
  }
.hero-banner .hero-banner__content .content__buttons .buttons__button {
  padding: .325rem 2.5rem;
  background-color: var(--bs-secondary);
  color: #fff;
  font-size: clamp(1rem, 3vw, 1.5rem);
  font-weight: 600;
}
.hero-banner .hero-banner__content .content__buttons .buttons__button:hover {
  background-color: var(--bs-primary);
  color: #fff;
}
.hero-banner .hero-banner__content .content__buttons .buttons__button:nth-child(even) {
  background-color: #fff;
  color: var(--blue-900);
}
.hero-banner .hero-banner__content .content__buttons .buttons__button:nth-child(even):hover {
  background-color: var(--bs-primary);
  color: #fff;
}
.hero-banner .hero-banner__content .content__badges {
  display: flex;
  gap: .5rem;
  margin-top: 2rem;
}
  @media (min-width: 992px) {
    .hero-banner .hero-banner__content .content__badges {
      position: absolute;
      left: 3rem;
      bottom: 2rem;
      margin: 0;
    }
  }
.hero-banner .hero-banner__content .content__badges .badges__badge {
  height: 40px;
}
  @media (min-width: 992px) {
    .hero-banner .hero-banner__content .content__badges .badges__badge {
      height: 60px;
    }
  }
.hero-banner .hero-banner__content .content__badges .badges__badge img {
  height: 100%;
  width: auto;
}
.hero-banner .hero-banner__bkgd {
  width: 100%;
  min-height: clamp(460px, 75vw, 600px);
  position: relative;
  z-index: 1;
}
.hero-banner .hero-banner__bkgd img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  position: absolute;
  left: 0;
  top: 0;
}


/** General Hero Banner **/
.general-hero-banner {
  padding: 2.5rem 0;
  background-color: var(--bs-gray-100);
}
  @media (min-width: 992px) {
    .general-hero-banner {
      padding-top: 4rem 0;
    }
  }
.general-hero-banner .general-hero-banner__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
  @media (min-width: 768px) {
    .general-hero-banner .general-hero-banner__content {
      flex-direction: row;
      align-items: center;
    }
  }
.general-hero-banner .general-hero-banner__content .content__info {
  margin-bottom: 2.25rem;
}
  @media (min-width: 768px) {
    .general-hero-banner .general-hero-banner__content .content__info {
      flex-shrink: 0;
      width: 75%;
      padding-right: 2rem;
      margin-bottom: 0;
    }
  }
  @media (min-width: 992px) {
    .general-hero-banner .general-hero-banner__content .content__info {
      width: 65%;
      padding-right: 3rem;
    }
  }
.general-hero-banner .general-hero-banner__content .content__info .info__headline {
  color: var(--bs-body-color);
  font-size: clamp(1.875rem, 3vw, 2.875rem);
  font-weight: 400;
}
.general-hero-banner .general-hero-banner__content .content__info .info__text {
  font-size: clamp(1rem, 2vw, 1.25rem);
}
.general-hero-banner .general-hero-banner__content .content__info .info__buttons {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(.75rem, 3vw, 1rem);
  max-width: 420px;
  margin: 1.5rem auto 0 auto;
}
  @media (min-width: 768px) {
    .general-hero-banner .general-hero-banner__content .content__info .info__buttons {
      flex-direction: row;
      justify-content: flex-start;
      max-width: none;
    }
  }
.general-hero-banner .general-hero-banner__content .content__info .info__buttons .buttons__button {
  padding: .325rem 2.5rem;
  background-color: var(--bs-secondary);
  color: #fff;
  font-size: clamp(1rem, 2vw, 1.375rem);
  font-weight: 600;
}
.general-hero-banner .general-hero-banner__content .content__info .info__buttons .buttons__button:hover {
  background-color: var(--bs-primary);
  color: #fff;
}
.general-hero-banner .general-hero-banner__content .content__info .info__buttons .buttons__button:nth-child(even) {
  background-color: #fff;
  color: var(--blue-900);
}
.general-hero-banner .general-hero-banner__content .content__info .info__buttons .buttons__button:nth-child(even):hover {
  background-color: var(--bs-primary);
  color: #fff;
}
.general-hero-banner .general-hero-banner__content .content__img {
  flex-shrink: 0;
  border-radius: var(--bs-border-radius);
  overflow: hidden;
}
  @media (min-width: 768px) {
    .general-hero-banner .general-hero-banner__content .content__img {
      width: 25%;
    }
  }
  @media (min-width: 992px) {
    .general-hero-banner .general-hero-banner__content .content__img {
      width: 35%;
    }
  }
.general-hero-banner .general-hero-banner__content .content__img img {
  width: 100%;
}
.general-hero-banner .general-hero-banner__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 2.25rem;
}
  @media (min-width: 768px) {
    .general-hero-banner .general-hero-banner__items {
      grid-template-columns: repeat(4, 1fr);
    }
  }
.general-hero-banner .general-hero-banner__items .items__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem;
  background-color: #fff;
  border-radius: var(--bs-border-radius);
  color: var(--bs-body-color);
  font-size: clamp(.9rem, 2vw, 1.25rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
.general-hero-banner .general-hero-banner__items .items__item .item__icon {
  width: 100%;
  height: 3rem;
  margin-bottom: 1rem;
}
.general-hero-banner .general-hero-banner__items .items__item .item__icon img {
  height: 100%;
}

/** Industries Served Section */
.section-industries {
  padding: 2.5rem 0;
  background-color: var(--bs-gray-100);
}
  @media (min-width: 992px) {
    .section-industries {
      padding: 4rem 0;
    }
  }
.section-industries .section-industries__industries {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  column-gap: 1.1rem;
  row-gap: 2.25rem;
}
  @media (min-width: 572px) {
    .section-industries .section-industries__industries {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (min-width: 992px) {
    .section-industries .section-industries__industries:not(.section-industries__industries--quadrants) {
      grid-template-columns: repeat(4, 1fr);
    }
    .section-industries .section-industries__industries.section-industries__industries--quadrants {
      gap: 4.5rem;
    }
  }
.section-industries .section-industries__industries:not(.section-industries__industries--quadrants) .industries__industry {
  max-width: 360px;
  margin: 0 auto;
}
.section-industries .section-industries__industries .industries__industry .industry__img {
  display: block;
  margin-bottom: 1.1rem;
  border-radius: var(--bs-border-radius);
  overflow: hidden;
  position: relative;
}
  @media (min-width: 992px) {
    .section-industries .section-industries__industries .industries__industry .industry__img {
      margin-bottom: 1.5rem;
    }
  }
.section-industries .section-industries__industries .industries__industry .industry__img img {
  width: 100%;
}
.section-industries .section-industries__industries.section-industries__industries--quadrants .industries__industry .industry__img {
  height: 120px;
}
.section-industries .section-industries__industries.section-industries__industries--quadrants .industries__industry .industry__img img {
  height: 100%;
  object-fit: cover;
}
.section-industries .section-industries__industries .industries__industry .industry__img .img__name {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0 1.1rem;
  color: #fff;
  font-size: clamp(1.1rem, 3vw, 1.325rem);
  font-weight: 700;
  text-align: center;
}
.section-industries .section-industries__industries .industries__industry .industry__info {
  padding: 0 1rem;
  font-size: clamp(.9rem, 3vw, 1.1rem);
}
.section-industries .section-industries__industries .industries__industry .industry__info a {
  display: block;
  margin-top: .25rem;
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
}
.section-industries .section-industries__industries .industries__industry .industry__info a:hover {
  color: var(--bs-primary);
}


/** Testimonials Section **/
.section-testimonials {
  padding: 2.5rem 0;
}
  @media (min-width: 992px) {
    .section-testimonials {
      padding: 4rem 0;
    }
  }
.section-testimonials .section-testimonials__testimonials {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.25rem;
}
  @media (min-width: 992px) {
    .section-testimonials .section-testimonials__testimonials {
      grid-template-columns: repeat(3, 1fr);
      gap: 2.25rem;
    }
  }
.section-testimonials .section-testimonials__testimonials .testimonials__testimonial {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 480px;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  margin: 0 auto;
  background-color: var(--bs-primary);
  border-radius: var(--bs-border-radius);
  position: relative;
  color: #fff;
  font-size: clamp(1rem, 2.25vw, 1.25rem);
}
.section-testimonials .section-testimonials__testimonials .testimonials__testimonial:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(60%, -30%);
  width: 23px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2019%2016.4%22%3E%0A%20%20%3Cpath%20d%3D%22M8.2.2l-.5%2C3.4c-1%2C0-1.7%2C0-2.3.5s-1%2C1-1.2%2C1.7c-.2.7-.3%2C1.6-.1%2C2.5h4.2v8.2H0v-8.2C0%2C5.4.7%2C3.2%2C2%2C1.7%2C3.4.2%2C5.4-.3%2C8.2.2ZM19%2C.2l-.5%2C3.4c-1%2C0-1.7%2C0-2.3.5s-1%2C1-1.2%2C1.7-.3%2C1.6-.1%2C2.5h4.2v8.2h-8.2v-8.2c0-2.9.7-5.1%2C2-6.6S16.3-.3%2C19%2C.2Z%22%20fill%3D%22%2300aeef%22%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
  @media (min-width: 992px) {
    .section-testimonials .section-testimonials__testimonials .testimonials__testimonial:before {
      width: 30px;
      height: 26px;
    }
  }
.section-testimonials .section-testimonials__testimonials .testimonials__testimonial p:last-of-type {
  margin-bottom: clamp(.5rem, 2vw, 1.425rem);
}
.section-testimonials .section-testimonials__testimonials .testimonials__testimonial blockquote {
  padding: 0;
  margin: 0;
}
.section-testimonials .section-testimonials__testimonials .testimonials__testimonial footer cite {
  font-style: normal;
}


/** CTAs Section **/
.section-ctas {
  padding: 2.5rem 0;
  background-color: var(--bs-primary);
  color: #fff;
  text-align: center;
}
  @media (min-width: 992px) {
    .section-ctas {
      padding: 4rem 0;
    }
  }
.section-ctas.section-ctas--gray {
  background-color: var(--bs-gray-100);
  color: var(--bs-body-color);
}
.section-ctas .container {
  max-width: 1080px;
}
.section-ctas .section-ctas__headline {
  color: #fff;
}
.section-ctas.section-ctas--gray .section-ctas__headline {
  color: var(--bs-primary);
}
.section-ctas .section-ctas__content {
  font-size: clamp(1rem, 2.25vw, 1.25rem);
}
.section-ctas .section-ctas__buttons {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(.75rem, 3vw, 3rem);
  max-width: 420px;
  margin: clamp(1rem, 4vw, 1.75rem) auto 0 auto;
}
  @media (min-width: 992px) {
    .section-ctas .section-ctas__buttons {
      flex-direction: row;
      max-width: none;
    }
  }
.section-ctas .section-ctas__buttons .buttons__button {
  padding: .325rem 2.5rem;
  background-color: var(--bs-secondary);
  color: #fff;
  font-size: clamp(1rem, 3vw, 1.375rem);
  font-weight: 600;
}
.section-ctas .section-ctas__buttons .buttons__button:nth-child(even) {
  background-color: transparent;
  border: 1px solid;
  color: #fff;
}
.section-ctas.section-ctas--gray .section-ctas__buttons .buttons__button:nth-child(even) {
  background-color: #fff;
  color: var(--bs-body-color);
}
.section-ctas .section-ctas__buttons .buttons__button:hover {
  background-color: #fff;
  color: var(--bs-primary);
}
.section-ctas.section-ctas--gray .section-ctas__buttons .buttons__button:hover {
  background-color: var(--bs-primary);
  color: #fff;
}


/** Cards Carousel **/
.cards-carousel {
  position: relative;
  padding: 0 2.5rem;
}
.cards-carousel .cards-carousel__cards {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}
  @media (min-width: 992px) {
    .cards-carousel .cards-carousel__cards {
      gap: 1.425rem;
    }
  }
.cards-carousel .cards-carousel__cards .cards__card {
  padding: 1.2rem;
  background-color: #f9fafb;
  border: 1px solid var(--bs-gray-200);
  border-radius: var(--bs-border-radius);
}
.cards-carousel .cards-carousel__cards .cards__card .card-img-top {
  margin-bottom: 1.1rem;
  border-radius: 0;
}
.cards-carousel .cards-carousel__cards .cards__card .card-img-top img {
  max-width: 100%;
  max-height: 100%;
}
.cards-carousel .cards-carousel__cards .cards__card .card-body {
  padding: 0;
  text-align: center;
}
.cards-carousel .cards-carousel__cards .cards__card .card-body .card-title {
  margin-bottom: .825rem;
  font-size: 1rem;
  font-weight: 600;
}
.cards-carousel .tns-controls {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.cards-carousel .tns-controls button {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: 52%;
  background-position: center center;
  border: 1px solid var(--bs-gray-400);
  box-shadow: 0 0 .2rem rgba(100, 100, 100, .3);
  top: 50%;
  transform: translateY(-50%);
  text-indent: -9999px;
}
.cards-carousel .tns-controls button:hover {
  background-color: var(--bs-gray-100);
}
.cards-carousel .tns-controls button[data-controls="prev"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000e2e'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e");
}
.cards-carousel .tns-controls button[data-controls="next"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000e2e'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}


/**
 * FAQs Section
 */
.section-faqs {
  padding: 2.5rem 0;
  background-color: var(--bs-gray-100);
  color: #fff;
  text-align: center;
}
  @media (min-width: 992px) {
    .section-faqs {
      padding: 4rem 0;
    }
  }
.section-faqs .container {
  max-width: 1080px;
}
.section-faqs .section-faqs__faqs {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
  @media (min-width: 992px) {
    .section-faqs .section-faqs__faqs {
      gap: 1.25rem;
    }
  }
.section-faqs .section-faqs__faqs .faqs__faq {
  border-radius: var(--bs-accordion-border-radius);
}
.section-faqs .section-faqs__faqs .faqs__faq:not(:first-of-type) {
  border-top: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.section-faqs .section-faqs__faqs .faqs__faq .accordion-button {
  font-weight: 700;
}
  @media (min-width: 992px) {
    .section-faqs .section-faqs__faqs .faqs__faq .accordion-button {
      font-size: 1.1rem;
    }
  }
.section-faqs .section-faqs__faqs .faqs__faq .accordion-body {
  text-align: left;
}
.section-faqs .section-faqs__faqs .faqs__faq .accordion-body *:last-child {
  margin-bottom: 0;
}


/** Contact Banner **/
.contact-banner {
  padding: 2.5rem 0;
}
  @media (min-width: 992px) {
    .contact-banner {
      padding: 4rem 0;
    }
  }
.contact-banner .contact-banner__headline {
  color: var(--bs-body-color);
  font-weight: 400;
}
.contact-banner .contact-banner__info {
  padding: 1.25rem;
  background-color: var(--bs-gray-100);
  border-radius: var(--bs-border-radius);
}
  @media (min-width: 992px) {
    .contact-banner .contact-banner__info {
      padding: 2.5rem;
    }
  }
.contact-banner .contact-banner__info .info__headline {
  margin-bottom: .625rem;
  font-size: clamp(1.1rem, 3vw, 1.225rem);
}
.contact-banner .contact-banner__info dl div {
  display: flex;
}
.contact-banner .contact-banner__info dl div dt {
  margin-right: .5em;
  font-weight: 500;
}
.contact-banner .contact-banner__info dl div dd a {
  color: var(--bs-body-color);
}
.contact-banner .contact-banner__info dl div dd a:hover {
  color: var(--bs-primary);
}
