﻿ /* ===== General Styling ===== */
.breadcrumb, .page-header, .validation-summary { display:none !important; }
.crmEntityFormView .actions { border-top:none; }
.form-div{
  background:#fff;
  padding:30px;
  max-width:80%;
  position:relative;
  margin:auto;
}
textarea.form-control {
  resize: both !important; 
  min-height: 80px !important; 
  max-height: 400px;         
  min-width: 100%;          
  overflow: auto;
}
textarea.form-control::-webkit-resizer {
  background: #ccc;
}
.rr-error-border {
  border: 1px solid #c0392b !important;
  border-radius: 6px;
}
.rr-has-error label.field-label {
  color: #c0392b;
}

#hisol_submittedotp,
#hisol_submittedotp_label {
    display: none !important;
}
.form-div label{font-weight:500;color:#222;margin-top:12px;}
.msos-input,
.msos-input-container {
  border: none !important;
  padding-top: 5px !important;
}
.field-label::after,
fieldset[aria-label="Tell us about yourself"] > 
legend.section-title,
.tab-title {
  display: none !important;
}
span.msos-glyph {
  margin-right: 15px !important;
  padding-top: 10px !important;
}
.form-div .form-control {
  border-radius:3px !important;
  border:1px solid #ccc !important;
  height:42px !important;
  box-shadow:none !important;
}
.msos-container { 
  padding-top: 5px;
  border: none;
}
.form-div textarea.form-control{height:auto;}

.rr-card {
  background:#fff;
  padding:40px;
  border-radius:12px;
  font-family:"Segoe UI", Arial, sans-serif;
}
.custom-intro-text {
  margin-top: 30px;
  font-size: 15px;
  color: #333;
  line-height: 1.5;
  font-family: "RRPioneer" 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  padding-left: 28px;;
}

.rr-section-label {
  color:#10069F;
  font-weight:600;
  padding-left: 68px;
}
.rr-title-row {
  align-items: center !important;
  align-content: center !important;
}
.rr-page-title {
  font-size:30px;
  font-weight:700;
  margin-top:10px;
}
h2.rr-page-title.col-xs-8 {
  padding-left: 68px;
}
.rr-time-estimate {
  text-align: right !important;
  padding-right: 68px !important;
  margin: 0!important;
}
.form-control:focus {
  border-color:#10069F !important;
  box-shadow:0 0 5px rgba(16,6,159,.3);
}
fieldset[arial-label='Additional buyer'].section-title {
  color: #000 !important;
}

.field-error {
  display:none;
  color:#c0392b;
  font-size:13px;
  margin-top:4px;
}
.form-control.error,
input.error,
select.error,
textarea.error {
  border-color: #c0392b !important;
  box-shadow: 0 0 4px rgba(192,57,43,0.3) !important;
}

.control.rr-has-error .form-control,
input.form-control[style*="c0392b"],
textarea.form-control[style*="c0392b"],
select.form-control[style*="c0392b"] {
  border-color: #c0392b !important;
  box-shadow: 0 0 4px rgba(192, 57, 43, 0.4) !important;
}
.msos-inner-container {
  border: 1px solid #ccc;
  border-radius: 3px;
  min-height: 44px;
}

.msos-inner-container.error {
  border-color: #c0392b !important;
  box-shadow: 0 0 4px rgba(192,57,43,0.3) !important;
}
.section-title > h3 {
  color: #10069F;
  font-size: 16px;
  font-weight: 600;
  padding-left: 28px;
  margin: 0;
}

.form-control {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#WebFormControl_2297cc78efb7f011bbd3000d3a2a373b_ProgressIndicator {
  display: none !important;
}
#MessagePanel .message .alert { display: none !important; }


/* ===== Buttons ===== */
#NextButton, #customButton, #UpdateButton, #SubmitButton, #customNextButton {
  background:#10069F !important;
  border-radius:50px !important;
  padding:10px 45px !important;
  font-weight:600 !important;
  border-color:#10069F !important;
  color: #fff;
}
#NextButton:hover, #customButton:hover, #UpdateButton:hover, #SubmitButton:hover, #customNextButton:hover { background:#0b0470 !important; }
.btn-outline {
    border: 1px solid #e0e0e0;
    color: #292929;
}
#PreviousButton, #customBackButton {
  background:#fff !important;
  border-radius:50px !important;
  padding:10px 45px !important;
  font-weight:600 !important;
  border: 1px solid #e0e0e0;
  color: #292929;
}
#PreviousButton:hover, #customBackButton:hover { background:#b8b8b8 !important; border: 1px solid #b8b8b8;}

/* ===== Progress bar ===== */
/* === Dynamic Stepper Progress Bar === */
.stepper{
  display:flex; align-items:center; gap:16px; width:100%;
}
.step > p {
  font-size: 16px !important;
}
.stepper-next-btn,
.stepper-back-btn { border:none; background:#fff;
}
.stepper-btn:disabled{ opacity:.5; cursor:not-allowed; }
.next{ background:#10069F; color:#fff; border-color:#10069F; }

.steps{
  flex:1; display:flex; justify-content:space-between; align-items:left; position:relative; padding-left: 20px;
}
.step{
  flex:1; display:flex; align-items:left; justify-content:center; gap:2px;
  color:#8e98aa; font-size: 16px !important; font-weight:500; position:relative; text-align:center;
}
.text-line::before {
  content: "────────";
  letter-spacing: 0; 
  color: #bebebe;
  margin-bottom: 0px;
  padding-top: 3px;
}
.step-name {
  margin-bottom: 0;
  padding-left: 10px;
}
.text-line {  
  margin-bottom: 0;
}

/* ==== Dynamic Circle States ==== */

.circle.active {
  border: 2px dotted #10069F;
  background: linear-gradient(to right, #10069F 50%, transparent 50%);
}

.circle.completed {
  border: 2px solid #10069F;
  background-color: #10069F;
  position: relative;
}
.circle.completed::after {
  content: "✔";
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.circle.upcoming {
  border: 2px dotted #bebebe;
  background-color: #fff;
}

.text-line.completed::before {
  color: #10069F;
  content: "────────";
  letter-spacing: 0; 
  margin-bottom: 0px;
  padding-top: 3px;
}
.text-line.upcoming::before {
  content: "────────";
  letter-spacing: 0; 
  color: #bebebe;
  margin-bottom: 0px;
  padding-top: 3px;
}

.rr-progress {
  margin-bottom: 50px;
}

.circle{
  width:24px; height:24px; border-radius:50%; border:2px dotted #5c626d; background:#fff; display:inline-block; z-index:1;
}

.step.active{ color:#10069F; }
.step.active .circle{ border-color: #10069F; }

.step.completed{ color:#10069F; }
.step.completed .circle{ border-color:#10069F; background:#10069F; }
.step.completed::after{ background:#10069F; }

/* ==== End of progress bar styling ==== */


/* ===== Multi-select styling (enhanced) ===== */
.select2-container--default .select2-selection--multiple {
  border:1px solid #ccc !important;
  border-radius:6px !important;
  padding:6px !important;
  min-height:44px !important;
  transition:border-color .2s;
}
.select2-container--default .select2-selection--multiple:focus {
  border-color:#10069F !important;
  box-shadow:0 0 5px rgba(16,6,159,.3);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background:#f8f8f8 !important;
  border:1px solid #ccc !important;
  border-radius:20px !important;
  padding:5px 10px !important;
  color:#333;
  font-size:13px;
  margin:3px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color:#000 !important;
  margin-left:4px;
  font-weight:bold;
}

.selected-options {
  margin-top:8px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.selected-tag {
  background:#fff;
  border:1px solid #ccc;
  border-radius:20px;
  padding:5px 12px;
  font-size:13px;
  display:flex;
  align-items:center;
  color:#333;
}
.selected-tag .remove-tag {
  margin-left:6px;
  cursor:pointer;
  color:#000;
  font-weight:bold;
}
.form-control::placeholder,
.msos-input::placeholder,
select option[value=''] {
  color: #bebebe !important;
  font-weight: 100 !important;
  opacity: 1;
}
#hisol_contactnumber,
#hisol_primarycontacttelephone {
  background: url('data:image/svg+xml;utf8,<svg fill="%23bebebe" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.62 10.79a15.09 15.09 0 006.59 6.59l2.2-2.2a1 1 0 011.05-.24 11.36 11.36 0 003.56.57 1 1 0 011 1v3.49a1 1 0 01-1 1A17 17 0 013 5a1 1 0 011-1h3.5a1 1 0 011 1 11.36 11.36 0 00.57 3.56 1 1 0 01-.24 1.05z"/></svg>') no-repeat 12px center;
  background-size: 18px;
  padding-left: 38px; 
  border-radius: 6px;
  border: 1px solid #ccc;
  height: 44px;
  font-size: 14px;
  box-shadow: none;
}
#hisol_country,
#hisol_primarycontactcountry,
#hisol_principalbusinesscountry {
  background: url('data:image/svg+xml;utf8,<svg fill="%23bebebe" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm8 10c0 1.15-.2 2.25-.57 3.26l-2.34-.78a19.9 19.9 0 000-4.96l2.34-.78A7.93 7.93 0 0120 12zm-8 8c-1.56 0-3.03-.45-4.28-1.23l1.45-2.43a15.83 15.83 0 005.66 0l1.45 2.43A7.94 7.94 0 0112 20zm-6.26-6.74a19.9 19.9 0 010-4.96l-2.34-.78A7.93 7.93 0 004 12c0 1.15.2 2.25.57 3.26l2.34-.78zM12 4c1.56 0 3.03.45 4.28 1.23L14.83 7.66a15.83 15.83 0 00-5.66 0L7.72 5.23A7.94 7.94 0 0112 4z"/></svg>') no-repeat 12px center;
  background-size: 18px;
  padding-left: 38px;
  border-radius: 6px;
  border: 1px solid #ccc;
  height: 44px;
  font-size: 14px;
  box-shadow: none;
  color: #bebebe;
}

.control:has(#hisol_website) {
  position: relative;
}
.control:has(#hisol_website)::before {
  content: "https://";
  position: absolute;
  border-right: 1px solid #ccc;
  padding-left: 0;
  padding-right: 10px;
  margin-left: 0;
  left: 14px;
  align-items: center;
  text-align: center;
  align-content: center;
  top: 50%;
  transform: translateY(-50%);
  color: #bebebe;
  font-size: 14px;
  font-family: "Segoe UI", Arial, sans-serif;
  pointer-events: none;
  z-index: 2;
}
#hisol_website {
  padding-left: 75px !important;
  border-radius: 6px;
  border: 1px solid #ccc;
  height: 44px;
  font-size: 14px;
  box-shadow: none;
  color: #333;
}
tr[style*="width: 50%"][style*="float: right;"] *,
tr[style*="width:50%"][style*="float:right;"] * *,
tr[style*="width: 50%"][style*="float: left;"] *,
tr[style*="width:50%"][style*="float: left;"] * *{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: block;
  float: none !important;
}
input {
  text-decoration: none !important;
}
.validators, 
div.control > a[href^="mailto:"] {
  display: none !important;
}
#rrFullName,
#hisol_emailaddress {
  background-color: #f8f8f8;
  display: block !important;
}
.form-control:disabled {
  background: #f8f8f8 !important;
}


/* ===== Enhanced Styling for OOB Multi-Select (msos) Fields ===== */
.msos-inner-container {
  border: 1px solid #d0d0d0 !important;
  border-radius: 6px !important;
  background-color: #fff !important;
  min-height: 44px !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.msos-inner-container.msos-active {
  border-color: #10069F !important;
  box-shadow: 0 0 4px rgba(16,6,159,0.25);
}

/* Input area */
.msos-input {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  padding: 8px 12px !important;
  font-size: 14px !important;
  color: #333 !important;
  width: 100% !important;
}

/* Dropdown container */
.msos-selection-container {
  border: 1px solid #e0e0e0 !important;
  border-radius: 6px !important;
  background-color: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  padding: 6px 0 !important;
  z-index: 9999 !important;
}

/* Each option */
.msos-option {
  display: flex !important;
  align-items: center !important;
  padding: 8px 14px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  font-size: 14px !important;
  background: #f8f8f8 !important;
  color: #333 !important;
  cursor: pointer !important;
  transition: background 0.15s ease;
}
.msos-option:last-child { border-bottom: none !important; }
.msos-option:hover { background-color: #f6f9fc !important; }

/* Checkbox */
.msos-checkbox {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  border: 1.5px solid #222 !important;
  border-radius: 3px !important;
  margin-right: 10px !important;
  position: relative !important;
  cursor: pointer !important;
  background-color: #fff !important;
  vertical-align: middle !important;
}

.msos-checkbox:checked {
  background-color: #10069F !important;
  border-color: #10069F !important;
}
.msos-checkbox:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 0px;
  width: 4px;
  height: 8px;
  border: solid #222;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Option text */
.msos-optionitem-text {
  color: #222 !important;
  font-size: 14px !important;
}
.msos-label-text.msos-optionitem-text {
  color: #222 !important;
}
.msos-label-text.msos-optionitem-text::before {
  color: #fff !important;
  border: 1px solid #10069F !important;
  background: #10069F !important;
}

/* "Select all" area */
.msos-action-buttons {
  border-bottom: 1px solid #e0e0e0 !important;
  margin-bottom: 4px !important;
  padding: 8px 14px !important;
  background-color: #fafafa !important;
}
.msos-action-buttons .msos-label-text {
  font-weight: 600 !important;
  color: #222 !important;
}

/* No results text */
.msos-no-results {
  text-align: center;
  padding: 8px !important;
  color: #999 !important;
  font-style: italic;
}

/* === Restore actual checkboxes === */
.msos-option .msos-checkbox {
  display: inline-block !important;
  position: relative !important;
  margin-right: 10px !important;
  transform: scale(1.2);
  border: 1px solid #222 !important;
  color:#fff;
  height: 20px !important;
  width: 20px !important;
}

/* === Improve spacing and layout === */
.msos-option .msos-label-text {
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
}
.msos-selected-items.msos-selection {
  background: #f8f8f8 !important;
}

/* === Active (selected) item styling === */
.msos-option.msos-option-selected .msos-label-text {
  font-weight: 600;
  border: none;
  padding: 6px 10px;
  color: #222;
}

/* === Dropdown box styling === */
.msos-selection-container {
  border: 1px solid #ccc !important;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);xx
  padding: 6px 10px;
}

/* === Checkbox alignment fix === */
.msos-option label.msos-label {
  display: flex;
  align-items: center;
  gap: 8px;
}

.msos-option .msos-label::before {
  display: none !important;
}
.clear-error {
  border-color: #ccc;
  box-shadow: none;
  outline: none;
}
.show-error {
  border-color: #c0392b;
  box-shadow: 0 0 4px rgba(192,57,43,0.4);
  outline: none;
  padding-top: 10px;
}