/*
Theme Name: InSite Telecom, Inc CT
Author: WD
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/

.contractor-licenses table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
}

.contractor-licenses td {
  padding: 12px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #ddd;
}

@media (max-width: 640px) {
  .contractor-licenses table,
  .contractor-licenses tbody {
    display: block;
    width: 100%;
  }

  /* Hide the existing column headings on mobile */
  .contractor-licenses tr:first-child {
    display: none;
  }

  /* Each license becomes a card */
  .contractor-licenses tr {
    display: block;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
  }

  .contractor-licenses td {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    border: 0;
    overflow-wrap: anywhere;
  }

  .contractor-licenses td + td {
    margin-top: 14px;
  }

  .contractor-licenses td::before {
    display: block;
    margin-bottom: 4px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #555;
  }

  .contractor-licenses td:nth-child(1)::before {
    content: "License";
  }

  .contractor-licenses td:nth-child(2)::before {
    content: "Regulatory Agency";
  }

  .contractor-licenses td:nth-child(3)::before {
    content: "License Number";
  }
}

/*
 * InSite Telecom contact form styling
 *
 * Add the class "insite-contact-form" to the container or Group block
 * that holds the existing Gravity Forms shortcode.
 */

.insite-contact-form {
  --icf-green: #126031;
  --icf-dark: #082b1c;
  --icf-line: #cdd3ce;
  --icf-muted: #68736b;
  width: 100%;
  color: var(--icf-dark);
  font-family: inherit;
}

.insite-contact-form *,
.insite-contact-form *::before,
.insite-contact-form *::after {
  box-sizing: border-box;
}

/* Optional heading placed above the Gravity Form. */
.insite-contact-form .form-eyebrow {
  margin: 0 0 14px;
  color: var(--icf-green);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.insite-contact-form .form-heading {
  margin: 0;
  color: var(--icf-dark);
  font-size: clamp(42px, 4.8vw, 66px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.insite-contact-form .form-intro {
  margin: 18px 0 42px;
  color: var(--icf-muted);
  font-size: 16px;
  line-height: 1.65;
}

/* Hide the built-in title and description when custom headings are used. */
.insite-contact-form .gform_heading {
  display: none !important;
}

.insite-contact-form .gform_wrapper {
  margin: 0 !important;
  color: var(--icf-dark);
  font-family: inherit !important;
}

.insite-contact-form .gform_fields {
  row-gap: 20px !important;
  column-gap: 15px !important;
}

.insite-contact-form .gfield {
  margin: 0 !important;
  padding: 0 !important;
}

.insite-contact-form .gfield_label,
.insite-contact-form .gform-field-label,
.insite-contact-form .gform-field-label--type-sub {
  margin: 0px !important;
  color: #303a33 !important;
  font-family: inter !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.95 !important;
  letter-spacing: 0 !important;
}
.insite-contact-form .gfield_required,
.insite-contact-form .gfield_required_text,
.insite-contact-form .gfield_required_asterisk {
  color: var(--icf-green) !important;
}

.insite-contact-form input[type='text'],
.insite-contact-form input[type='email'],
.insite-contact-form input[type='tel'],
.insite-contact-form input[type='url'],
.insite-contact-form input[type='number'],
.insite-contact-form input[type='password'],
.insite-contact-form select,
.insite-contact-form textarea {
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1px solid var(--icf-line) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  color: #111713 !important;
  background: #fff !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.insite-contact-form input[type='text'],
.insite-contact-form input[type='email'],
.insite-contact-form input[type='tel'],
.insite-contact-form input[type='url'],
.insite-contact-form input[type='number'],
.insite-contact-form input[type='password'],
.insite-contact-form select {
  height: 48px !important;
  max-height: 48px !important;
}

.insite-contact-form textarea {
  min-height: 190px !important;
  resize: vertical;
}

.insite-contact-form input::placeholder,
.insite-contact-form textarea::placeholder {
  color: #9aa29c !important;
  opacity: 1;
}

.insite-contact-form input:not([type='radio']):not([type='checkbox']):hover,
.insite-contact-form select:hover,
.insite-contact-form textarea:hover {
  border-color: #87928a !important;
}

.insite-contact-form input:not([type='radio']):not([type='checkbox']):focus,
.insite-contact-form select:focus,
.insite-contact-form textarea:focus {
  border-color: var(--icf-green) !important;
  background: #fbfdfb !important;
  box-shadow: inset 4px 0 0 var(--icf-green) !important;
}

/* Name and email confirmation subfields. */
.insite-contact-form .ginput_complex {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.insite-contact-form .ginput_complex > span {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.insite-contact-form .ginput_container_name,
.insite-contact-form .ginput_container_email {
  width: 100% !important;
  max-width: none !important;
}

.insite-contact-form .ginput_complex label {
  margin: 8px 0 0 !important;
  color: #7a837d !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.insite-contact-form .gfield_description,
.insite-contact-form .ginput_counter,
.insite-contact-form .gform_fileupload_rules {
  color: #7a837d !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* Validation and confirmation states. */
.insite-contact-form .gform_validation_errors {
  margin: 0 0 28px !important;
  padding: 20px 22px !important;
  border: 0 !important;
  border-left: 5px solid #a52e2e !important;
  border-radius: 0 !important;
  color: #712323 !important;
  background: #fbefef !important;
  box-shadow: none !important;
}

.insite-contact-form .gfield_error input,
.insite-contact-form .gfield_error select,
.insite-contact-form .gfield_error textarea {
  border-color: #a52e2e !important;
}

.insite-contact-form .validation_message {
  padding: 8px 0 0 !important;
  border: 0 !important;
  color: #a52e2e !important;
  background: transparent !important;
  font-size: 13px !important;
}

.insite-contact-form .gform_confirmation_message {
  padding: 30px !important;
  color: #fff !important;
  background: var(--icf-green) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

/* Full-width submit treatment. */
.insite-contact-form .gform_footer,
.insite-contact-form .gform_page_footer {
  margin: 32px 0 0 !important;
  padding: 0 !important;
}

.insite-contact-form input[type='submit'],
.insite-contact-form button[type='submit'],
.insite-contact-form .gform_button {
  width: 100% !important;
  height: 84px !important;
  max-height: 84px !important;
  min-height: 84px !important;
  margin: 0 !important;
  padding: 0 30px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  background: var(--icf-green) !important;
  box-shadow: none !important;
  cursor: pointer;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase;
  transition: background-color .2s ease;
}

.insite-contact-form input[type='submit']:hover,
.insite-contact-form button[type='submit']:hover,
.insite-contact-form .gform_button:hover {
  background: var(--icf-dark) !important;
}

.insite-contact-form input[type='submit']:focus-visible,
.insite-contact-form button[type='submit']:focus-visible,
.insite-contact-form .gform_button:focus-visible {
  outline: 3px solid #33a35c !important;
  outline-offset: 4px;
}

@media (max-width: 640px) {
  .insite-contact-form .form-heading { font-size: 44px; }

  .insite-contact-form .ginput_complex,
  .insite-contact-form .gfield_checkbox,
  .insite-contact-form .gfield_radio {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .insite-contact-form input[type='submit'],
  .insite-contact-form button[type='submit'],
  .insite-contact-form .gform_button {
    min-height: 76px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .insite-contact-form input,
  .insite-contact-form textarea,
  .insite-contact-form select,
  .insite-contact-form button,
  .insite-contact-form .gchoice label {
    transition: none !important;
  }
}

.capability-hero {
    color: #fff;
    background: var(--green-dark);
    align-items: flex-end;
    min-height: 760px;
    display: flex;
    position: relative;
    overflow: hidden;
}

.capability-hero-image, .capability-hero-shade {
    width: 100%;
    height: 100%;
    position: absolute;
    inset:0
}

.capability-hero-image {
    object-fit:cover
}

.capability-hero-shade {
    background:linear-gradient(90deg, #041b11e6 0%, #041b11ab 42%, #041b1129 78%), linear-gradient(#0000 42%, #04140eb8)
}

.capability-hero-content {
    z-index: 2;
    width: 100%;
    padding: 180px clamp(24px, 7vw, 110px) 92px;
    position:relative
}


.scope-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 39px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.scope-item {
  position: relative;
  padding: 17px 8px 17px 0px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.84);
  font-size: 15px;
}

.scope-item::before {
  content: "";
  position: absolute;
  top: 25px;
  left: 5px;
  width: 5px;
  height: 5px;
}

.scope-item p {
  margin: 0;
}

.dc-image-label {
  position: absolute;
  z-index: 1;
  left: clamp(28px, 5vw, 72px);
  right: 28px;
  bottom: clamp(34px, 6vw, 82px);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 25px;
  color: #fff;
}

.dc-image-label span {
  max-width: 100px;
  color: #b6e8c8;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.dc-image-label strong {
  font-size: clamp(28px, 3.25vw, 34px);
  font-weight: 800;
  line-height: 1.08;
  text-align: right;
}

.dc-image-wrap {
  position: relative;
  min-height: 680px;
  overflow: hidden;
}

.dc-image-native {
  position: relative;
  background-position: center !important;
  background-size: cover !important;
}

.dc-image-native::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(
      0deg,
      rgba(4, 27, 17, 0.8),
      transparent 60%
    );
}

.dc-image-native .elementor-widget-html {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.dc-image-label {
  position: absolute;
  z-index: 2;
  left: clamp(28px, 5vw, 72px);
  right: 28px;
  bottom: clamp(34px, 6vw, 82px);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 25px;
}

@media (max-width: 640px) {
  .dc-image-label {
    align-items: flex-start;
    flex-direction: column;
  }

  .dc-image-label strong {
    text-align: left;
  }

@media (max-width: 640px) {
  .scope-grid {
    grid-template-columns: 1fr;
  }
}

}

