

:root {
  /* === Border Radius Variables === */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-left-only: 8px 0 0 8px;

  /* === Service Selection Button === */
  --service-selection-button-height: 42px;
  
  /* === Section Customization === */
  --section-shadow: none;
  
  /* === Typography === */
  --font-family: "Helvetica Neue", Arial, sans-serif;
  --font-size-base: 14px;
  --font-size-button: 16px;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --line-height-button: 22px;

  /* === Spacing === */
  --spacing-md: 16px;
  --spacing-lg: 30px;

  /** Section Container**/
  --section-container-box-shadow: none;

  /** Section Container Footer Button **/
  --section-container-footer-continue-button-font-weight: 700;
  --section-container-footer-continue-button-width: 105px;
  --section-container-footer-continue-button-height: 48px;
  --section-container-footer-continue-button-padding: 0 24px;
  --section-container-footer-continue-button-margin: 8px auto;
  --section-container-footer-continue-button-font-size: 14px;
  --section-container-footer-continue-button-border: none;

  /** Get Bid Button **/
  --get-bid-button-font-weight: 700;
  --get-bid-button-height: 50px;
  --get-bid-button-width: 260px;
  --get-bid-button-padding: 14px 90.5px;
  --get-bid-button-margin: 24px auto 0;
  --get-bid-button-font-size: 14px;
  --get-bid-button-text-align: center;
  --get-bid-button-font-family: "Helvetica Neue";
  --get-bid-button-font-style: normal;
  --get-bid-button-line-height: 22px;

  /* --- HEIGHTS --- */
  --height-input: 40px;
  --height-button: 50px;
  --height-section-title: 40px;

  --service-select-button-background: #FFF;
  --service-select-button-border: 1px solid var(--other-border, #C4C4C4);
}

/* === Accordion Headers === */
.section-box .section-title {
  background-color: var(--section-header-color,#013974) !important;
  color: var(--section-header-text) !important;
  height: var(--height-section-title);
  font-family: var(--font-family);
}

.section-box .section-title h5 {
  font-weight: var(--font-weight-normal);
}

/* === Panel Background === */
.panel-collapse.collapse.in {
  background-color: var(--section-container-panel-background-color, #ffffff) !important;
  border-radius: var(--section-radius, 8px);
}

/* === Service Checkbox Buttons === */
#select_services.panel-collapse.collapse.in {
  padding-top: 20px;
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.service-select-input button {
  font-family: var(--font-family);
  background: var(--service-selection-button-color, #fff) !important;
  border: 1px solid var(--service-selection-button-border, #ccc);
  border-radius: var(--service-selection-button-radius, 8px);
  color: var(--service-selection-button-text);
  height: var(--service-selection-button-height);
  line-height: var(--line-height-button);
  padding: 8px 16px;
  text-align: left;
  font-size: var(--font-size-button);
  font-weight: var(--font-weight-normal);
  transition: background-color 0.3s ease;
}

.service-select-input button:hover {
  background-color: var(--service-selection-button-hover) !important;
}

.service-select-option[value="1"] + button {
  background-color: var(--service-selection-selected-color,#049DE0) !important;
  color: var(--service-selection-selected-text,#ffffff) !important;
  font-weight: var(--font-weight-bold);
}

/* === Section Padding === */
.section-content {
  padding: 0;
}

#general_information .contact_info_content {
  padding-bottom: 40px !important;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
  background-color: white !important;
}

#general_information .row {
  padding-left: 20px;
  padding-right: 20px;
  background-color: white !important;
}

/* === Toggle Buttons === */
.btn-group .btn.active,
.btn-group .btn.active:hover {
  background-color: var(--general-button-primary-bg, #049DE0) !important;
  color: var(--general-button-primary-text, #ffffff) !important;
  border-color: var(--general-button-primary-bg, none) !important;
}

.btn.btn-sm.btn-default.font-weight-bold {
  height: 40px;
  min-width: 60px;
}

/* === Continue & Submit Buttons === */
.continue-button,
#submitButton,
input[type="submit"] {
  font-family: var(--font-family);
  background-color: var(--section-container-footer--continue-button-color, #049DE0) !important;
  color: var(--section-container-footer--continue-button-text-color, #ffffff) !important;
  width: var(--section-container-footer-continue-button-width) !important;
  height: var(--section-container-footer-continue-button-height) !important;
  border-radius: var(--section-container-footer-continue-button-border-radius, 4px);
  font-size: var(--section-container-footer-continue-button-font-size);
  font-weight: var(--section-container-footer-continue-button-font-weight);
  border: var(--section-container-footer-continue-button-border);
  line-height: var(--line-height-button);
}

.continue-button:hover,
#submitButton:hover,
input[type="submit"]:hover {
  background-color: var(--section-container-footer--continue-button-hover-color) !important;
}

/* === Measurement Buttons === */
.btn.btn-success.add-measurement,
.btn.btn-primary.sub-service-button,
.btn.sub-service-button.btn-success,
.btn.btn-sm.btn-success.add-option {
  background-color: var(--general-button-primary-bg, #049DE0) !important;
  border-color: var(--general-button-primary-bg, #049DE0) !important;
  color: var(--general-button-primary-text, #ffffff) !important;
}

/* === Get a Bid Button === */
.get-bid-button {
  font-family: var(--get-bid-button-font-family);
  background-color: var(--get-bid-button-background-color, #049DE0) !important;
  color: var(--get-bid-button-text-color, #ffffff) !important;
  height: var(--get-bid-button-height);
  width: var(--get-bid-button-width);
  border-radius: var(--get-bid-button-border-radius, 4px);
  padding: var(--get-bid-button-padding);
  margin: var(--get-bid-button-margin);
  font-size: var(--get-bid-button-font-size);
  font-weight: var(--get-bid-button-font-weight);
  line-height: var(--get-bid-button-line-height);
  text-align: var(--get-bid-button-text-align);
  font-style: var(--get-bid-button-font-style);
  border: none;
}

.get-bid-button:hover {
  background-color: var(--get-bid-button-hover-color) !important;
}

/* === Notes Area === */
#additional_notes > .pull-left {
  float: none !important;
  display: flex;
  justify-content: center;
  width: 100%;
}

/* === Remove Shadow from Section Boxes === */
.section-box:before,
.section-box:after {
  display: none !important;
}

/* === Alert / Info Block === */
.alert-info.module-builder-factor-title, .alert-info{
  background-color: var(--service-configuration-light-backgrounds, #049DE01A) !important;
  color: var(--theme-alert) !important;
  font-size: var(--font-size-base);
  border-color: var(--service-configuration-light-backgrounds, #049DE01A) !important;
}


.module-builder-sub-service-selectors {
  padding: 20px !important;
}


/* === Form Layout Spacing === */
.section-box {
  font-family: var(--font-family);
  margin-bottom: var(--spacing-lg);
  box-shadow: var(--section-container-box-shadow);
  border-radius: var(--section-radius, 8px) !important;
}

.input-container {
  margin-bottom: var(--spacing-md2);
  margin-right: var(--spacing-sm);
  height: var(--height-input);
}

input.form-control,
select.form-control {
  font-family: var(--font-family);
  height: var(--height-input);
  border-radius: var(--radius-xs);
}

.input.text:has(input.hide) {
  display: none !important;
}


#property_information .section-content .row {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
}

#property_information .section-content .row.center {
  padding-left: 20px;
  padding-right: 20px;
}

.contact_info_content {
  padding-bottom: 40px !important;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 20px;
}

.row.center-blocks {
  padding-right: 16px;
}


.btn.dropdown-toggle.selectpicker.btn-default {
  height: var(--height-input);
  border-radius: var(--radius-md);
}

#house-size-range {
  display: block;
  width: 100%;
  position: relative;
  clear: both;
}

.input-container.house_size_container {
  display: block;
  overflow: visible;
  height: auto;
  min-height: 1px;
}

#house_size-actual {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* === Radio Button === */
.fa-radio-input-container {
  display: flex;
  justify-content: center;
}


#select_services .panel-collapse.collapse.in {
  padding-bottom: 100px;
  padding-top: 20px;
  padding-right: 10px;
  padding-left: 20px;
}


#general_information input {
  margin-bottom: 15px;
  border-radius: 8px;
  height: var(--height-input);
}

#general_information select {
  margin-bottom: 15px;
  height: 42px;
}

#additional_notes {
  margin-top: 64px;
}

.module-builder-sub-service .module-builder-factor {
  margin-bottom: 25px;
}

.module-builder-sub-service .fa-radio-button .radio-option.selected {
  background-color: var(--service-configuration-light-backgrounds) !important;
}

#ContactHouseSizeActual {
  border-radius: var(--radius-left-only) !important;
}

.module-builder-sub-service .specs {
  padding: 20px;
}

#house_size-actual {
  margin-bottom: 40px;
}

.module-builder-sub-service .fa-radio-button .fa-radio-button-case, .module-builder-sub-service .fa-radio-button .fa-checkbox-button-case {
  border: 2px solid var(--service-configuration-light-backgrounds,#8FC4FD)
}

.module-builder-sub-service-selectors .module-builder-sub-service-selector-header {
  color: var(--brand-color-2,#357ebd),
}

.responsibid-modal-footer button {
  background-color: var(--secondary-color) !important;
  border: none;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open>.dropdown-toggle.btn-primary {
  background-color: var(--secondary-color-hover,#049DE0) !important;
  border: none;
}

.module-builder-sub-service .fa-radio-button .radio-option, .module-builder-sub-service .fa-radio-button .checkbox-option {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.module-builder-sub-service .fa-radio-button .fa-radio-button-case .fa-check, .module-builder-sub-service .fa-radio-button .checkbox-option .fa-check {
  color: var(--general-button-primary-text, #057DFF) !important;
}

.module-builder-sub-service .module-builder-factor-title h3 {
  color: var(--primary-color, #1C1A5F) !important;
}

.module-builder-sub-service-selectors .module-builder-successful-sub-service-selection {
  color: var(--primary-color, #18A600) !important;
}

.btn-group>.btn:last-child:not(:first-child), .btn-group>.dropdown-toggle:not(:first-child) {
  height: 40px !important;
}

.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
  height: 40px !important;
}

#additional_notes .pull-right {
  display: var(--show-responsibid-logo, block) !important;
}