/*
Theme Name: HD Genesis Child Theme
Theme URI: https://hcdemo.wpengine.com/
Description: This is Hennessey Digital Genesis Child theme for internal use.
Author: Hennessey Digital
Author URI: https://hennessey.com/

Version: 1.0.0

Template: genesis

Text Domain: hd-genesis-childtheme
*/
body .footer-form-info .h2 {
  display: block;
  font-family: Oswald, sans-serif;
  font-size: 117px;
  font-weight: 400;
  line-height: 1;
  margin: 0 0 30px;
  text-align: left;
  color: #f7e800;
}
@media (max-width: 1200px) {
  body .footer-form-info .h2 {
    font-size: 80px;
  }
}
@media (max-width: 992px) {
  body .footer-form-info .h2 {
    text-align: center;
  }

  body.page-id-8194 .home-hero-call p,
  body.page-id-8194 .home-hero-call a {
    font-size: 60px !important;
  }
}
@media (max-width: 767px) {
  body .footer-form-info .h2 {
    font-size: 60px;
  }
  body.page-id-8194 .home-hero-call p,
  body.page-id-8194 .home-hero-call a {
    font-size: 24px !important;
  }
  .home-banner-form .gform-theme--foundation .gform_fields,
  .footer-form .gform-theme--foundation .gform_fields {
    row-gap: 3px;
  }
  .home-banner-form .gform-footer {
    margin-top: 10px;
    width: 100%;
    justify-content: center;
  }
}
@media (min-width: 1200px) and (max-width: 1400px) {
  .entry-content .cta.first-cta,
  .entry-content .cta.third-cta,
  .entry-content .cta.fourth-cta {
    max-width: 100%;
    background-position: top right !important;
    /* background-color: #F7E602;
        background-size: cover; */
  }
  .entry-content .cta.second-cta,
  .entry-content .fifth-cta {
    max-width: 100%;
    background-position: top left !important;
  }
}

@media (min-width: 1200px) and (max-width: 1400px) {
  .entry-content .cta.first-cta .paragraph,
  .entry-content .cta.third-cta .paragraph,
  .entry-content .cta.fourth-cta .paragraph {
    margin-bottom: 0 !important;
  }
}

.footer-form .wpcf7-form input::placeholder,
.footer-form .wpcf7-form textarea::placeholder {
  color: #000 !important;
}

.google-map-wrap {
  position: relative;
  margin-bottom: 30px;
  height: 450px !important;
}
.google-map-wrap li:before,
.google-map-wrap li:after {
  display: none !important;
}
.google-map-wrap .contact-us-info {
  width: 40% !important;
  font-size: 18px !important;
  color: #fff !important;
}
.google-map-wrap li {
  padding-left: 0 !important;
}
.google-map-wrap li a,
.google-map-wrap address span {
  color: #fddb17 !important;
  font-size: 22px;
}
.google-map-wrap address {
  font-size: 18px !important;
}
.google-map-wrap p {
  font-size: 16px !important;
  margin-bottom: 0 !important;
}
.google-map-wrap ul {
  margin-bottom: 5px !important;
  margin-top: 5px !important;
}
.google-map-wrap li {
  border-top: 1px solid rgba(255, 255, 255, 0.6) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6) !important;
  color: #fff !important;
}
.google-map-wrap li a:hover {
  color: #fddb17 !important;
}
@media (max-width: 992px) {
  .google-map-wrap {
    height: auto !important;
  }
  .google-map-wrap .contact-us-info {
    position: relative;
    top: unset;
    right: unset;
    width: 100% !important;
  }
}
.powered-by-tseg {
  gap: 10px;
}
.powered-by-tseg .tseg-logo {
  min-width: 100px;
}
.powered-by-tseg .tseg-logo svg {
  min-width: 100px;
}

@media (max-width: 450px) {
  .powered-by-tseg {
    font-size: 12px;
  }
  .powered-by-tseg .tseg-logo {
    min-width: 100px;
  }
}
.dark {
  background: #f7f7f7;
}
.page-id-8194 .main-wrap,
.page-template-page-careers .main-wrap {
  margin: 0;
  padding: 0;
  max-width: 100%;
}
.page-template-page-careers .breadcrumb {
  max-width: 1320px;
  margin: 0 auto;
}
.careers section {
  padding: 80px 0;
}
.careers .single_col_content,
.careers .two_col_section,
.careers .cards_section {
  font-size: 20px;
  color: #595d5c;
}
.careers .single_col_content p {
  margin-bottom: 10px;
}
.careers > section:first-child {
  text-align: center;
  color: #696969;
  font-size: 24px;
}
.careers .single_col_title {
  color: #17446b;
  font-size: 35px;
  line-height: 1.2;
  margin-bottom: 10px;
  font-weight: 700;
}
.careers ul {
  padding-left: 50px;
}
.careers ul li {
  color: #17446b;
  list-style-type: disc;
}
.careers .blue-text {
  color: #17446b;
  padding-left: 30px;
}
.careers .card_content {
  font-size: 18px;
  padding: 20px 30px;
}
.careers .card_content span {
  color: #17446b;
  font-size: 28px;
  line-height: 1.2;
  margin-bottom: 10px;
  font-weight: 700;
}
.careers > section:nth-child(4),
.careers > section:nth-child(5) {
  padding-top: 0;
}
.careers .cards_section_title {
  color: #17446b;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 35px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
}
.careers .cards_section_title:before {
  content: "";
  position: absolute;
  left: 10%;
  height: 1px;
  width: 150px;
  background-color: #17446b;
}
.careers .cards_section_title:after {
  content: "";
  position: absolute;
  right: 10%;
  height: 1px;
  width: 150px;
  background-color: #17446b;
}
.careers .card_item {
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.6);
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
@media (max-width: 1399px) {
  .careers .cards_section_title:before {
    left: 0;
  }
  .careers .cards_section_title:after {
    right: 0;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .careers .cards_section_title:before,
  .careers .cards_section_title:after {
    width: 12%;
  }
}
@media (max-width: 991px) {
  .careers .cards_section_title:before,
  .careers .cards_section_title:after {
    display: none;
  }
  .careers .container {
    max-width: 90%;
  }
}

.top-bar {
  align-items: center;
}

/***Banner Form***/
.hero-php {
  padding-top: 120px;
  height: 810px;
}
.hero-php .head-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero-php .head-wrap .head {
  flex: 0 0 60%;
}
.hero-php .head-wrap .banner-form {
  flex: 0 0 40%;
  padding: 15px 20px;
  background: #639aed;
  border-radius: 10px;
}
.hero-php .head-wrap .banner-form-head {
  text-align: center;
}
.hero-php .head-wrap .banner-form-head span.h3 {
  color: #fff;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  font-size: 1.7em;
  display: block;
  margin-bottom: 5px;
  text-align: center;
}
.hero-php .head-wrap .banner-form-head p {
  text-align: center;
  margin-bottom: 10px;
}
.hero-php .head-wrap .banner-form p br {
  display: none;
  width: 0px;
  height: 0px;
}
.hero-php .head-wrap .banner-form p {
  margin: 0 0 10px;
}
.hero-php .head-wrap .banner-form p input,
.hero-php .head-wrap .banner-form p select,
.hero-php .head-wrap .banner-form p textarea {
  font-size: 15px;
  padding: 10px 15px;
}
.hero-php .head-wrap .banner-form p textarea {
  max-height: 100px;
}
.hero-php .head-wrap .banner-form .wpcf7-spinner {
  display: none;
}
.hero-php .wpcf7-not-valid-tip {
  font-size: 14px;
}
.hero-php .wpcf7 form .wpcf7-response-output {
  margin: 0 !important;
}
.hero-php .submit input {
  margin: 0 auto;
  text-transform: uppercase;
}
.home-banner-form {
  background: transparent;
  height: 300px;
  padding: 0;
  margin-top: -100px;
}
.hero-php .custom-head .submit input {
  height: 100px;
}

body.error404 .content-sidebar-wrap main.content {
  order: 99;
}
body.error404 .site-inner .breadcrumb {
  display: none;
}
aside.sidebar {
  position: relative;
  overflow: hidden;
}
.page-template-page-contact .gform_footer,
.page-template-page-contact .gform_button,
.footer-form .gform-footer,
.footer-form .gform-footer .gform_button {
  width: 100% !important;
}
.page-template-page-contact .gform_button,
.internal-hero-image .gform-footer .gform_button,
.footer-form .gform-footer .gform_button,
.sidebar .sidebar-form .sidebar-form-main .gform-footer .gform_button,
.home-banner-form .gform-footer .gform_button,
.services-content-sidebar .gform-footer .gform_button {
  background-color: #f7e800 !important;
  color: #1b1b1b !important;
  font-family: Oswald, sans-serif !important;
  font-size: 20px !important;
  transition: 0.4s !important;
}
.page-template-page-contact .gform_button:hover,
.internal-hero-image .gform-footer .gform_button:hover,
.footer-form .gform-footer .gform_button:hover,
.sidebar .sidebar-form .sidebar-form-main .gform-footer .gform_button:hover,
.home-banner-form .gform-footer .gform_button:hover,
.services-content-sidebar .gform-footer .gform_button:hover {
  background-color: #fff !important;
}
.page-template-page-contact .gform-theme--foundation .gform_fields,
.internal-hero-image .gform-theme--foundation .gform_fields,
.footer-form .gform-theme--foundation .gform_fields,
.sidebar
  .sidebar-form
  .sidebar-form-main
  .gform-theme--foundation
  .gform_fields,
.services-content-sidebar .gform-theme--foundation .gform_fields {
  row-gap: 3px;
}
.internal-hero-image .gform_fields .gfield_label,
.footer-form .gform_body .gfield_label,
.sidebar .sidebar-form .sidebar-form-main .gform_body .gfield_label,
.services-content-sidebar .gform_fields .gfield_label {
  margin: 0;
  color: #fff;
}
.internal-hero-image .gform_fields .gfield textarea {
  height: 50px;
}
.internal-hero-image .gform-footer,
.sidebar .sidebar-form .sidebar-form-main .gform-footer,
.services-content-sidebar .gform-footer {
  margin-top: 10px;
  width: 100%;
  justify-content: center;
}
.sidebar .sidebar-form .sidebar-form-main .gfield--type-select select,
.services-content-sidebar .gfield--type-select select {
  line-height: 43px;
}
/* Gravity Forms CSS */
.page-template-page-contact .gform_body .gfield_label,
.home-banner-form .gform_body .gfield_label {
  color: #fff;
}
.home-banner-form .gform_body .gfield_label {
  margin: 0;
}
.page-template-page-contact .contact-us .lead-form,
.sidebar .sidebar-form {
  padding-bottom: 35px;
}

@media (min-width: 768px) {
  /* Put fields + footer inside the same grid */
  .home-banner-form .gform_wrapper form .gform_body,
  .home-banner-form .gform_wrapper form .gform_body .gform_fields,
  .home-banner-form .gform_wrapper form .gform_footer {
    display: contents;
  }

  .home-banner-form .gform_wrapper form {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 15px;
    row-gap: 0px;
    align-items: stretch;
  }

  /* First Name */
  .home-banner-form .gform_wrapper form .gform_fields > .gfield:nth-child(1) {
    grid-column: 1 / 2;
  }

  /* Last Name */
  .home-banner-form .gform_wrapper form .gform_fields > .gfield:nth-child(2) {
    grid-column: 2 / 3;
  }

  /* Phone */
  .home-banner-form .gform_wrapper form .gform_fields > .gfield:nth-child(3) {
    grid-column: 1 / 2;
  }

  /* Email */
  .home-banner-form .gform_wrapper form .gform_fields > .gfield:nth-child(4) {
    grid-column: 2 / 3;
  }

  /* Message (textarea) spans 2 rows */
  .home-banner-form .gform_wrapper form .gform_fields > .gfield:nth-child(5) {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }

  /* Submit button aligned beside message */
  .home-banner-form .gform_wrapper form .gform_footer {
    grid-column: 4 / 5;
    grid-row: 1 / 3;
    display: flex;
    justify-content: center;
    align-items: stretch;
    margin-top: 20px;
  }

  /* Style the button */
  .home-banner-form .gform_wrapper form .gform_footer input[type="submit"] {
    width: 100% !important;
    background: #f7e800;
    color: #1b1b1b;
    font-weight: bold;
    border: none;
    cursor: pointer;
  }
  .home-banner-form
    .gform_wrapper
    form
    .gform_fields
    > .gfield:nth-child(5)
    textarea.small {
    height: 100px;
  }
}

html .gform-theme--framework .gform_validation_errors {
  display: none;
}

.main-form .sidebar-form {
  padding-bottom: 40px;
}
.main-form .sidebar-form-main.lead-form .gform_fields {
  row-gap: 10px;
}
.main-form .sidebar-form-main.lead-form .gfield .gfield_label {
  color: #fff;
  text-transform: uppercase;
}
.main-form .sidebar-form-main.lead-form .gfield select {
  line-height: 2.8;
}

.main-form .sidebar-form-main.lead-form .gform_footer {
  justify-content: center;
}
.main-form .sidebar-form-main.lead-form .gform_footer input[type="submit"] {
  font-size: 1.2rem !important;
  text-transform: uppercase !important;
  padding: 1rem 2rem !important;
  font-weight: 700 !important;
  background-color: #fddb17 !important;
  color: #000 !important;
}
.main-form
  .sidebar-form-main.lead-form
  .gform_footer
  input[type="submit"]:hover {
  background-color: #fff !important;
}

.internal-hero-image .gfield {
  position: relative;
}
.internal-hero-image .gfield_validation_message {
  margin: 0 !important;
  position: absolute;
  top: 0;
  right: 0;
}

@media (min-width: 1200px) {
  body.error404 .site-inner .breadcrumb {
    display: block;
  }

  aside.sidebar-primary:has(.sidebar-form-sticky) {
    display: flex !important;
    flex-flow: column wrap !important;
  }
  aside.sidebar-primary #custom_html-2:has(.sidebar-form-sticky) {
    order: 99;
    margin-top: 32px;
    position: sticky;
    top: 100px;
  }

  aside.sidebar-primary:has(.sidebar-form-sticky)
    .widget:nth-of-type(1)
    .widget-title {
    margin-top: 0;
  }

  /* 404 Page */
  body.error404 .content-sidebar-wrap main.content {
    order: initial;
  }
  body.error404 .content-sidebar-wrap aside.sidebar {
    margin-top: -450px;
  }
}
@media (max-width: 510px) {
  .hero-php .custom-head .submit input {
    height: auto;
  }
}

body.page-id-8194 .home-hero-call p,
body.page-id-8194 .home-hero-call a {
  font-size: 80px;
}

body .article-box a .blog-title {
  font-weight: 400;
  color: #f7e800;
  margin: 0 0 15px;
}

body .footer-form-head .form-title {
  margin: 0;
  width: 100%;
  text-align: center;
  font-size: 42px;
  line-height: 1.1;
  font-family: Oswald, sans-serif;
  color: #fff;
  font-weight: 700;
}

body .sidebar-form-head .sidebar-form-title {
  margin: 0 0 5px;
  width: 100%;
  text-align: left;
  color: #fff;
  font-size: 35px;
  line-height: 1.2;
  font-weight: 700;
  font-family: Oswald, sans-serif;
}

html:has(.gkbm-floating-call-us) #icw--call--content {
  display: none !important;
}

.gkbm-floating-call-us {
  position: fixed;
  left: 10px;
  top: 75%;
  transform: translateY(-50%);
  z-index: 9999;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  width: 64px;
  height: 64px;
  margin-top: 12px;
  background-color: #43a047;
  border-radius: 20px;
  color: #fff;
  font-size: 0.8rem;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;

  transition: all 1s ease-in-out;
  animation: floating-call-us-pulse 4s ease-in-out infinite;
}

@keyframes floating-call-us-pulse {
  0% {
    box-shadow: rgba(67, 160, 71, 0.16) 0 0 0 1px;
  }
  20% {
    box-shadow: rgba(67, 160, 71, 0.16) 0 0 0 6px;
  }
  40% {
    box-shadow: rgba(67, 160, 71, 0.16) 0 0 0 3px;
  }
  60% {
    box-shadow: rgba(67, 160, 71, 0.16) 0 0 0 8px;
  }
  100% {
    box-shadow: rgba(67, 160, 71, 0.16) 0 0 0 1px;
  }
}

.toc-content .toc-accordion-title {
  background: #639aed;
}

.content-sidebar-wrap #blogSidebar #in-this-article {
  line-height: 1.2;
}

/* TOC View More */
.toc-content #dynamicToc {
  max-height: 290px !important;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.toc-content .view-more-btn {
  text-align: center;
  padding-top: 30px;
  padding-bottom: 10px;
  margin-top: -46px;
  background: linear-gradient(
    to bottom,
    rgba(99, 154, 237, 0),
    rgba(99, 154, 237, 0.6),
    rgba(99, 154, 237, 1)
  );
  font-weight: 700;
  color: #fff;
  display: none;
}
.toc-content .view-more-btn.more {
  margin-top: -11px;
  padding-top: 10px;
  background: #639aed;
}
.toc-accordion-title.active ~ .view-more-btn {
  display: block;
}

ul#dynamicToc.toc-list-wrapper.expanded {
  max-height: none !important;
}

.home-hero span.h1 {
  padding: 0;
  margin: 0;
  font-size: 117px;
  font-family: Oswald, sans-serif;
  color: #f7e800;
  line-height: 1;
  font-weight: 700;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body .header-logo img {
  min-height: 37px; /* adjust based on real content */
}

.footer-logotype .footer-logo img {
  min-height: 38px;
}

.hero-php .head-wrap .banner-form {
  min-height: 468px; /* adjust based on real content */
}

@media (max-width: 1200px) {
  body .header-logo img {
    min-height: 25px; /* adjust based on real content */
  }
}

@media (max-width: 991px) {
  .footer-logotype .footer-logo img {
    min-height: 43px;
  }
}

@media (max-width: 767px) {
  .top-bar .top-bar-title {
    min-height: 17px;
  }
  .home-hero span.h1 {
    font-size: 45px;
  }

  .hero-php .head-wrap .banner-form {
    min-height: 462px; /* adjust based on real content */
  }
}

@media (max-width: 639px) {
  .hero-php .head-wrap .banner-form {
    min-height: 584px; /* adjust based on real content */
  }
}
