/**************************************************
Stylesheet: Defaults Variables for Hammerhead Trenchless
**************************************************/
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;1,600;1,700&family=Roboto+Condensed:ital,wght@0,400;0,700;1,400;1,700&family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap");
@font-face {
  font-family: 'nexa_rust_sansblack';
  src: url("/wp-content/themes/element/assets/fonts/nexarustsans-black-webfont.eot");
  src: url("/wp-content/themes/element/assets/fonts/nexarustsans-black-webfont.eot?#iefix") format("embedded-opentype"), url("/wp-content/themes/element/assets/fonts/nexarustsans-black-webfont.woff") format("woff"), url("/wp-content/themes/element/assets/fonts/nexarustsans-black-webfont.ttf") format("truetype"), url("/wp-content/themes/element/assets/fonts/nexarustsans-black-webfont.svg#nexa_rust_sansblack") format("svg");
  font-weight: normal;
  font-style: normal; }

/**************************************************
Stylesheet: Mixins Stylesheet
**************************************************/
/*******************
    FONT MIXINS (family, size, color, weight, line-height)
    ********************/
/*********************
	Column split into X columns
	@include column-count(3);
	*********************/
/*********************
	Column split with px gap
	@include column-gap(40px);
	*********************/
/*********************
	Column split style
	@include column-rule-style(solid);
	*********************/
/*********************
	Column split border
	@include column-rule(1px solid #ededed);
	*********************/
/*********************
	Background gradient 2 color
	@include background-gradient($gray, #000);
	*********************/
/*********************
	Background gradient 3 color
	@include accordion-gradient($gray, #000, #666);
	*********************/
/*********************
	Transform duration by X seconds
	@include transition(1.5s);
	*********************/
/*********************
	Transform Rotate element by x degrees
	@include rotate(180);
	*********************/
/*********************
	Creates a 6px arrow with pure css
	@include arrow(#000);
	*********************/
/*********************
	Clip 10px corner off the bottom right corner
	@include cornerclip(#000);
	*********************/
/*********************
	Clip 3px corner off the bottom right corner
	@include cornerclipsmall(#000);
	*********************/
/*********************
	Clip 10px corner off the top right corner
	@include cornercliptop(#000);
	*********************/
/*********************
	Clip 10px corner off the top left corner
	@include cornercliptopleft(#000);
	*********************/
#wrapper-main {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  align-items: flex-start;
  position: relative;
  justify-content: center; }
  @media (min-width: 1100px) {
    #wrapper-main {
      flex-direction: row; } }
.main-content {
  padding-left: 0;
  padding-right: 0; }
  .main-content .wrapper {
    margin: 0 !important; }
  .main-content .section {
    padding-top: 37px;
    padding-bottom: 37px; }
    .main-content .section.intro h1 {
      margin-bottom: 0; }
      .main-content .section.intro h1:has(+ *) {
        margin-bottom: 12px; }
    .main-content .section.intro h4 {
      margin-top: 0; }
    .main-content .section.rep-locator {
      padding-top: 0;
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center; }
      .main-content .section.rep-locator select {
        max-width: 260px;
        width: 100%;
        padding: 15px 20px;
        font-family: "Roboto Condensed", sans-serif, sans-serif;
        font-size: 16px;
        color: #000000;
        font-weight: 400;
        line-height: 18px;
        background-color: #EAEAEA;
        appearance: none;
        border: none;
        margin-bottom: 0;
        background-image: url("/wp-content/themes/element/assets/images/arrow.svg");
        background-size: 18px;
        background-repeat: no-repeat;
        background-position: center right 20px; }
        .main-content .section.rep-locator select:focus {
          outline: 1px solid #D71920; }
      .main-content .section.rep-locator h4 {
        margin: 0; }
    .main-content .section.representatives {
      background-color: #F5F5F5; }
      .main-content .section.representatives .rep-copy {
        margin-bottom: 15px; }
        .main-content .section.representatives .rep-copy h4 {
          margin-top: 0; }
        .main-content .section.representatives .rep-copy .hide {
          display: none; }
      .main-content .section.representatives .rep-info {
        display: flex;
        flex-direction: column;
        grid-gap: 10px;
        text-align: center;
        max-width: 100%;
        width: 100%;
        display: none; }
      .main-content .section.representatives .rep-photo {
        max-width: 198px;
        width: 100%;
        margin: 0 auto; }
        .main-content .section.representatives .rep-photo img {
          height: auto;
          max-width: 100%;
          width: 100%; }
      .main-content .section.representatives .rep-contact {
        max-width: 100%;
        width: 100%; }
        .main-content .section.representatives .rep-contact h4 {
          margin-top: 0;
          margin-bottom: 15px; }
        .main-content .section.representatives .rep-contact h5 {
          margin-top: 15px;
          margin-bottom: 15px; }
      @media (min-width: 570px) {
        .main-content .section.representatives .rep-info {
          flex-direction: row;
          align-items: flex-end;
          grid-gap: 35px;
          text-align: left; }
        .main-content .section.representatives .rep-contact {
          max-width: calc(100% - 198px); }
        .main-content .section.representatives .rep-photo {
          margin: 0; } }
      @media (min-width: 1100px) and (max-width: 1240px) {
        .main-content .section.representatives .rep-contact {
          text-wrap: nowrap; } }
    .main-content .section.image-and-content {
      background-color: #F5F5F5;
      display: flex;
      flex-direction: column;
      grid-gap: 20px; }
      .main-content .section.image-and-content .image-wrapper {
        max-width: 100%;
        width: 100%;
        z-index: 0; }
      .main-content .section.image-and-content .white-90 {
        max-width: 100%;
        width: 100%;
        padding: 30px;
        background-color: rgba(255, 255, 255, 0.9);
        z-index: 2; }
    .main-content .section.form-header {
      background-color: #D71920; }
    .main-content .section.form {
      background-color: #000000; }
      .main-content .section.form * {
        color: #D71920; }
      .main-content .section.form .gform_wrapper {
        max-width: 500px;
        width: 100%;
        margin: 0 auto; }
      .main-content .section.form .gfield_error *[aria-describedby] {
        outline: 2px solid #D71920; }
      .main-content .section.form .gform_submission_error {
        text-transform: unset;
        margin-top: 0;
        font-family: "Roboto", sans-serif, sans-serif;
        font-size: 24px;
        color: #D71920;
        font-weight: 600;
        line-height: 28px; }
        @media (min-width: 500px) {
          .main-content .section.form .gform_submission_error {
            font-family: "Roboto", sans-serif, sans-serif;
            font-size: 28px;
            color: #D71920;
            font-weight: 600;
            line-height: 32px; } }
        @media (min-width: 700px) {
          .main-content .section.form .gform_submission_error {
            font-family: "Roboto", sans-serif, sans-serif;
            font-size: 30px;
            color: #D71920;
            font-weight: 600;
            line-height: 34px; } }
      .main-content .section.form .validation_message {
        margin-top: 5px;
        text-transform: uppercase;
        letter-spacing: 0.36px;
        font-family: "Roboto Condensed", sans-serif, sans-serif;
        font-size: 14px;
        color: #D71920;
        font-weight: 700;
        line-height: 16px; }
      .main-content .section.form .gform_fields {
        grid-row-gap: 20px; }
      .main-content .section.form .gform-field-label {
        display: none; }
      .main-content .section.form input, .main-content .section.form textarea, .main-content .section.form select {
        padding: 15px 20px;
        display: block;
        font-family: "Roboto Condensed", sans-serif, sans-serif;
        font-size: 16px;
        color: #000000;
        font-weight: 500;
        line-height: 18px; }
        .main-content .section.form input::placeholder, .main-content .section.form textarea::placeholder, .main-content .section.form select::placeholder {
          font-family: "Roboto Condensed", sans-serif, sans-serif;
          font-size: 16px;
          color: #000000;
          font-weight: 500;
          line-height: 18px; }
        .main-content .section.form input:focus, .main-content .section.form textarea:focus, .main-content .section.form select:focus {
          outline: 1px solid #D71920; }
      .main-content .section.form .gfield--type-address .ginput_container_address {
        display: flex;
        flex-direction: column; }
        .main-content .section.form .gfield--type-address .ginput_container_address span {
          width: 100%;
          margin: 0; }
          .main-content .section.form .gfield--type-address .ginput_container_address span:not(:last-of-type) {
            margin-bottom: 20px; }
          .main-content .section.form .gfield--type-address .ginput_container_address span input, .main-content .section.form .gfield--type-address .ginput_container_address span select {
            width: 100%; }
      .main-content .section.form .gform_footer {
        margin-top: 20px;
        text-align: center; }
      .main-content .section.form input[type=submit] {
        font-family: "Roboto Condensed", sans-serif, sans-serif;
        font-size: 18px;
        color: #ffffff;
        font-weight: 700;
        line-height: 20px;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        padding: 17px 47px;
        background: #D71920;
        border: 3px solid #D71920;
        display: inline-block;
        transition: all 300ms ease-in-out;
        text-decoration: none;
        margin-right: 25px; }
        .main-content .section.form input[type=submit]:hover {
          color: #D71920 !important;
          background: #ffffff;
          text-decoration: none; }
  @media (min-width: 666px) {
    .main-content .section.image-and-content {
      grid-gap: 0px; }
      .main-content .section.image-and-content .image-wrapper {
        max-width: 400px; }
      .main-content .section.image-and-content .white-90 {
        max-width: 500px;
        padding: 50px;
        margin-left: auto;
        margin-top: -97px; } }
  @media (min-width: 1100px) {
    .main-content {
      max-width: calc(100% - 440px); }
      .main-content .section {
        padding-left: 120px;
        padding-right: 100px; }
        .main-content .section.form, .main-content .section.image-and-content, .main-content .section.intro, .main-content .section.representatives {
          padding-top: 60px;
          padding-bottom: 60px; } }
  @media (min-width: 1360px) {
    .main-content {
      max-width: 920px; } }
.wrapper-page-rep-locator .main-content .section.intro {
  padding-top: 60px;
  padding-bottom: 30px; }

.wrapper-page-rep-locator .main-content .section.form {
  background-color: #2F2F2F; }

.sidebar {
  max-width: 100%;
  width: 100%;
  background-color: #EAEAEA;
  padding-top: 60px;
  padding-bottom: 60px; }
  .sidebar .content-wrapper {
    max-width: 400px;
    width: 100%;
    margin: 0 auto; }
    .sidebar .content-wrapper h4 {
      margin-top: 0;
      margin-bottom: 15px; }
    .sidebar .content-wrapper h5 {
      margin-top: 15px;
      margin-bottom: 15px; }
    .sidebar .content-wrapper p {
      margin-top: 30px;
      margin-bottom: 30px; }
  @media (min-width: 1100px) {
    .sidebar {
      max-width: 520px;
      position: sticky;
      top: 0px;
      min-height: 100vh; } }
.content-wrapper .phone,
.content-wrapper .directions,
.content-wrapper .email {
  vertical-align: middle; }
  .content-wrapper .phone a,
  .content-wrapper .directions a,
  .content-wrapper .email a {
    text-decoration: none;
    color: #000000;
    transition: all 200ms ease-in-out; }
    .content-wrapper .phone a:hover,
    .content-wrapper .directions a:hover,
    .content-wrapper .email a:hover {
      color: #D71920;
      text-decoration: underline; }
    .content-wrapper .phone a:before,
    .content-wrapper .directions a:before,
    .content-wrapper .email a:before {
      content: "";
      display: inline-block;
      width: 20px;
      height: 20px;
      margin-right: 15px;
      background-size: 20px;
      background-position: center;
      background-repeat: no-repeat;
      vertical-align: middle; }

.content-wrapper .phone a:before {
  background-image: url("/wp-content/themes/element/assets/images/phone.svg"); }

.content-wrapper .directions a:before {
  background-image: url("/wp-content/themes/element/assets/images/directions.svg"); }

.content-wrapper .email a:before {
  background-image: url("/wp-content/themes/element/assets/images/email.svg"); }
