/* Common css for backend and frontend */
input::-ms-reveal,
input::-ms-clear {
    display: none;
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url(https://fonts.gstatic.com/s/opensans/v10/DXI1ORHCpsQm3Vp6mXoaTRUOjZSKWg4xBWp_C_qQx0o.woff2) format('woff2'), url(https://fonts.gstatic.com/s/opensans/v10/DXI1ORHCpsQm3Vp6mXoaTRa1RVmPjeKy21_GQJaLlJI.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v10/u-WUoqrET9fUeobQW7jkRVtXRa8TVwTICgirnJhmVJw.woff2) format('woff2'), url(https://fonts.gstatic.com/s/opensans/v10/u-WUoqrET9fUeobQW7jkRT8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
}
/* Open Sans Medium (500) has no @font-face here without this rule, so browsers fall back to 400 for every font-weight:500 in the codebase -- do not remove */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: local('Open Sans Medium'), local('OpenSans-Medium'), url(https://fonts.gstatic.com/s/opensans/v44/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjr0B4gaVI.woff2) format('woff2'), url(https://fonts.gstatic.com/s/opensans/v44/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjr0B4gaVQ.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(https://fonts.gstatic.com/s/opensans/v10/MTP_ySUJH_bn48VBG8sNShUOjZSKWg4xBWp_C_qQx0o.woff2) format('woff2'), url(https://fonts.gstatic.com/s/opensans/v10/MTP_ySUJH_bn48VBG8sNSha1RVmPjeKy21_GQJaLlJI.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v10/k3k702ZOKiLJc3WVjuplzBUOjZSKWg4xBWp_C_qQx0o.woff2) format('woff2'), url(https://fonts.gstatic.com/s/opensans/v10/k3k702ZOKiLJc3WVjuplzBa1RVmPjeKy21_GQJaLlJI.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(https://fonts.gstatic.com/s/opensans/v10/EInbV5DfGHOiMmvb1Xr-hhUOjZSKWg4xBWp_C_qQx0o.woff2) format('woff2'), url(https://fonts.gstatic.com/s/opensans/v10/EInbV5DfGHOiMmvb1Xr-hha1RVmPjeKy21_GQJaLlJI.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(https://fonts.gstatic.com/s/opensans/v10/PRmiXeptR36kaC0GEAetxo05NJhCxBV64hQBJiatqx0.woff2) format('woff2'), url(https://fonts.gstatic.com/s/opensans/v10/PRmiXeptR36kaC0GEAetxrsuoFAk0leveMLeqYtnfAY.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: local('Open Sans Italic'), local('OpenSans-Italic'), url(https://fonts.gstatic.com/s/opensans/v10/xjAJXh38I15wypJXxuGMBqg5eI2G47JWe0-AuFtD150.woff2) format('woff2'), url(https://fonts.gstatic.com/s/opensans/v10/xjAJXh38I15wypJXxuGMBtIh4imgI8P11RFo6YPCPC0.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(https://fonts.gstatic.com/s/opensans/v10/PRmiXeptR36kaC0GEAetxt5wBDjbAC_0C3a56xIGvxo.woff2) format('woff2'), url(https://fonts.gstatic.com/s/opensans/v10/PRmiXeptR36kaC0GEAetxmWeb5PoA5ztb49yLyUzH1A.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(https://fonts.gstatic.com/s/opensans/v10/PRmiXeptR36kaC0GEAetxqsA81DAeuqoeYxDcSOJPMY.woff2) format('woff2'), url(https://fonts.gstatic.com/s/opensans/v10/PRmiXeptR36kaC0GEAetxoUt79146ZFaIJxILcpzmhI.woff) format('woff');
}
:root {
  --cgray: #545454;
  --cred: #a00a0f;
  --hred: #900606;
  --cred-rgb: #a00a0f15;
  --cgreen: #054507;
  --cgreen-btn-bg: #eaf5ea;
  --cgreen-rgb: #3c763d15;
  --cgreenlight: #dff0d8;
  --cblue: #0b71a7;
  --cblue-rgb: #0b71a715;
  --blue: #1e90ff;
  --white: #ffffff;
  --bootPrimary: #337ab7;
  --bootDanger: #d9534f;
  --lgray-f5: #f5f5f5;
  --lgray-e5: #e5e5e5;
  --lgray-33: #333333;
  --lgray-66: #666666;
  --lgray-cc: #cccccc;
  /* Pagination accent + hover tint. Admin pages override --pagination-accent/-tint to the
     backend brand (sb-admin-2.css); this default is the frontend brand. */
  --pagination-accent: var(--front_primary_brand, #a00a0f);
  --pagination-tint: rgba(160,10,15,.06);
}
/* Current-page pagination input focus glow -- shared by frontend (css/master.css) and
   backend (admin/css/sb-admin-2.css) .setPaginate markup, was duplicated in both. */
.setPaginate input:focus:not(:disabled) { outline: none; box-shadow: 0 0 0 3px var(--pagination-tint); }
/* Fully unified pagination component -- one canonical look (size, font, border, colors)
   for every ul.setPaginate/.selt_blue_arrow/.setPaginate input instance on both frontend
   (css/master.css) and backend (admin/css/sb-admin-2.css). Each of those files now only
   adds page-specific layout (float/width of the outer <ul>, mobile hide rules, etc), never
   its own copy of the pill's look -- keep it that way; don't re-add size/font/color/border
   overrides per-file, extend this block instead. */
ul.setPaginate { margin: 0px; padding: 0px; overflow: hidden; list-style-type: none; float: left; }
ul.setPaginate li { float: left; margin: 0px; padding: 0px; margin-left: 5px; }
ul.setPaginate li.dot { padding: 3px 0; }
ul.setPaginate li a,
.setPaginate input,
.selt_blue_arrow {
  font-family: var(--font-base);
  font-size: 13px;
  font-weight: 600;
  border: 1px solid var(--lgray-cc);
  border-radius: 6px;
  color: #333333;
  background: #fff;
  transition: background-color .15s, border-color .15s, color .15s;
}
ul.setPaginate li a {
  display: flex; align-items: center; justify-content: center;
  min-width: 34px; height: 34px; padding: 0 10px;
  text-decoration: none;
  margin: 0 3px;
  box-sizing: border-box;
}
ul.setPaginate li a:hover:not(.current_page):not(.activePage) {
  border-color: var(--pagination-accent); color: var(--pagination-accent); background-color: var(--pagination-tint);
}
ul.setPaginate li a.current_page,
ul.setPaginate li a.activePage,
.editPagingContainger a.activePage {
  background-color: var(--pagination-accent); border-color: var(--pagination-accent); color: var(--white);
}
/* input[type="text"] (not just .setPaginate input) so this beats sb-admin-2.css's sitewide
   generic input[type="text"]/input[type="tel"]/select reset rule -- same total specificity
   (1 class + 1 element+attribute each) meant that rule, loading later, was winning on
   color/padding/border-radius/height, turning the active/current-page input's text black
   and its box the wrong size instead of matching the number pills next to it. */
/* .dataTable_wrapper variant outranks sb-admin-2.css ".dataTable_wrapper input[type=text]" (250px): AJAX-redrawn tables get no JS inline width */
.setPaginate input[type="text"],
.dataTable_wrapper .setPaginate input[type="text"] {
  width: 34px; height: 34px;
  text-align: center;
  background-color: var(--pagination-accent);
  border-color: var(--pagination-accent);
  color: var(--white);
  box-sizing: border-box;
  min-width: 34px;
}
.selt_blue_arrow {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 34px; height: 34px; padding: 0 10px;
  margin: 0 3px;
  text-decoration: none;
  box-sizing: border-box;
}
/* text-decoration explicit here (not just inherited from the non-hover base rule) --
   Bootstrap's own "a:focus, a:hover { text-decoration: underline; }" is itself :hover-scoped,
   so it out-specifies a plain .selt_blue_arrow{text-decoration:none} base rule for this one
   property, even though .selt_blue_arrow:hover otherwise wins on every other property. */
.selt_blue_arrow:hover { border-color: var(--pagination-accent); color: var(--pagination-accent); background-color: var(--pagination-tint); text-decoration: none; }
.selt_blue_arrow span { display: block; }
#signup-step1 button.btn.btn-nav-inverse.submit_btn.btn-large:hover, #signup-step1 button.btn.btn-nav-inverse.submit_btn.btn-large:focus, #signup-step1 button.btn.btn-nav-inverse.submit_btn.btn-large:active,
#login-step1 button.btn.btn-nav-inverse.submit_btn.btn-large:hover, #login-step1 button.btn.btn-nav-inverse.submit_btn.btn-large:focus, #login-step1 button.btn.btn-nav-inverse.submit_btn.btn-large:active,
#signup-step2 button.btn.btn-nav-inverse.submit_btn.btn-large:hover,
.login_screen_button:hover, .btn.disabled:hover, .btn[disabled]:hover,
#signup-step2 button.btn.btn-nav-inverse.submit_btn.btn-large,
.alert_freqency input[type="radio"]:checked, .alert_freqency input[type="radio"]:hover{ background-color: var(--front_primary_brand_hover) !important;}

header .nav > li > .dropdown-menu li .dropdown-menu li.active a,
header .nav > li > .dropdown-menu li .dropdown-menu li a:hover{ background-color: var(--lgray-f5); color: #000; }
.signUp-modal input[type=checkbox]:checked { background-image: none; }
.signUp-modal .newsletter-subs:checked,
#signUpModal .modal-header,
#loginModal .modal-header,
#mapSearchInfoModal .modal-header,
#saveSearchModal .modal-header,
.login_screen_button, .btn.disabled, .btn[disabled],
#signup-step1 button.btn.btn-nav-inverse.submit_btn.btn-large,
#login-step1 button.btn.btn-nav-inverse.submit_btn.btn-large,
.login-screen.panel-default .panel-heading.login-heading { background-color: var(--front_primary_brand) !important; }

.login_screen_button, .btn.disabled, .btn[disabled],
#login-step1 button.btn.btn-nav-inverse.submit_btn.btn-large,
#signup-step1 button.btn.btn-nav-inverse.submit_btn.btn-large,
.alert_freqency input[type="radio"]:checked, .alert_freqency input[type="radio"]:hover { border-color: var(--front_primary_brand) !important; }

.business_directory-row h4.business_directory-bizname { color: var(--front_primary_brand); }

#signUpModal .modal-header .close,
#loginModal .login-screen .fa.fa-times,
#mapSearchInfoModal .modal-header .close,
#loginModal .modal-header .close,
#saveSearchModal .login-screen .fa.fa-times,
#saveSearchModal .modal-header .close,
#login-step1 button.btn.btn-nav-inverse.submit_btn.btn-large:hover,
#signup-step1 button.btn.btn-nav-inverse.submit_btn.btn-large:hover { color: var(--white); }

#signUpModal .modal-content .inner-box h3{ font-family: var(--font-base); margin: 0px 0px 18px 0px; }
#signUpModal .modal-header .close, #mapSearchInfoModal .modal-header .close { opacity: 1;}
#signUpModal .modal-body, #mapSearchInfoModal .modal-body { position: relative;padding: 20px;}
#signUpModal .modal-footer { padding: 19px 20px 20px; font-family: var(--font-base) !important;}
#signUpModal .modal-footer span{text-align: center; font-family: var(--font-base) !important;}
#signUpModal .alert { font-size: 14px; font-weight: 600; margin-bottom: 0px; text-align: left; padding: 15px !important; }
#signUpModal .alert-success { background-color: #dff0d8; border-color: #d6e9c6; color: #3c763d; }
#signUpModal input[type='tel'], #signUpModal input[type='text'], #signUpModal select, #signUpModal input[type='password'], #signUpModal input[type="email"] { height: 36px; }
#signUpModal .modal-dialog { width: 600px; }

#signUpModal .modal-footer,
#loginModal .modal-footer,
#saveSearchModal .modal-footer {margin-top: 0;text-align: center;}
#signUpModal .modal-header,
#loginModal .modal-header,
#mapSearchInfoModal .modal-header,
#saveSearchModal .modal-header { color: var(--white);padding: 15px 20px;}
#signUpModal .modal-content,
#loginModal .modal-content,
#mapSearchInfoModal .modal-content,
#saveSearchModal .modal-content { overflow: hidden; border: none; }
#signUpModal .modal-title,
#loginModal .modal-title,
#mapSearchInfoModal .modal-title,
#saveSearchModal .modal-title { font-weight: 600;color: var(--white);text-transform: uppercase;font-size: 15px;font-family: var(--font-base) !important;}

.modal-content,
#exportPopup .modal-content,
#signUpModal .modal-content,
#loginModal .modal-content,
#mapSearchInfoModal .modal-content,
#saveSearchModal .modal-content,
.login-screen, .login-screen.panel { border-radius: 15px; }

#loginModal .login-screen, #saveSearchModal .login-screen { margin: 0px; }
#loginModal .modal-dialog, #saveSearchModal .modal-dialog { width: fit-content; max-width: 90vw;}
#loginModal *:not(i), #saveSearchModal *:not(i) { font-family: var(--font-base) !important;}
#loginModal .main_txt, #saveSearchModal .main_txt { color: #000; border: solid 1px #ccc; border-top-right-radius: 4px !important; border-bottom-right-radius: 4px !important; border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; width: 256px !important; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset; height: 34px !important; padding: 6px 12px !important; outline: none; margin-right: 4px; }
#loginModal .form-group.somi-login > span, #saveSearchModal .form-group.somi-login > span { display: flex; align-items: center; margin-top: 5px; float: left; }
#loginModal .form-group.somi-login.block, #saveSearchModal .form-group.somi-login.block{ display: block; }
#loginModal .hasMultipleAccounts label { font-family: var(--font-base) !important; font-size: 14px !important; color: red; font-weight: normal; margin-bottom: 5px; display: inline-block; width: 100% }
#loginModal .multiRoleRadio { margin-right: 20px; text-transform: capitalize; padding-bottom: 10px; }
#loginModal .multiRoleRadio input[type="radio"] { position: relative; left: unset; margin-right: 10px; background: var(--white); border-radius: 50%; }
#loginModal .multiRoleRadio input[type="radio"]:checked { background: radial-gradient(black 60%, transparent 40%); border-color: #000; outline: none; }



#signup-step1 .form-control,
#login-step1 .form-control { color: var(--lgray-66); margin-top: 10px; width: 100%;font-family: var(--font-base) !important;}
#signup-step1 select.form-control { color: var(--lgray-66);padding-left: 9px;background-image: url(../images/select-arrow2.png);-webkit-appearance: none; background-repeat: no-repeat;background-position: 98% center;background-size: 18px;}
#signup-step1 label.error::first-letter, #login-step1 label.error::first-letter {text-transform:uppercase;}
#signup-step1 label.error, #login-step1 label.error {text-transform:lowercase;}


body{  background-repeat:no-repeat; background-attachment:fixed; background-position:center center; background-size:cover;}


.signUp-modal.in .modal-dialog { margin: auto; border-radius: 12px; overflow: hidden;}
div.signUp-modal.in { display: flex !important; }
/* Signup popup: one look on the frontend and on admin/index.php. */
/* Admin's global button.close is absolute; keep the X in flow so the title stays left. */
#signUpModal .modal-header .close { position: static !important; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
#signUpModal .modal-title { margin: 0; }
#signUpModal .modal-body { color: #333; }
#signUpModal p.form_text { margin: 0; }
/* Error text: admin/index.php's inline .modal-body label rule made it 13px there vs 14px on the frontend. */
#signUpModal label.error { font-size: 14px !important; }
#signUpModal .modal-footer { color: #333; }
#signUpModal .form-control { border-radius: 4px; }
#signUpModal .form-control:hover { border-color: var(--su-border-strong, var(--lgray-cc)); }
#signUpModal .form-control:focus { outline: none; border-color: var(--front_primary_brand); box-shadow: 0 0 0 3px rgba(160, 10, 15, 0.10); }
/* Secret Question: search-page dropdown (somi-search-core.js), sized like the inputs around it. */
.visually-hidden-select { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
#signUpModal .su-select-enhance { display: block; width: 100% !important; margin-top: 10px; }
#signUpModal .su-select-enhance .dropdown-trigger {
  display: -webkit-flex; display: flex; width: 100% !important; height: 36px; padding: 0 12px;
  font-size: 14px; font-weight: 400 !important; color: var(--lgray-66);
  border-color: var(--lgray-cc); border-radius: 4px;
}
/* Re-assert hover/open states: the border-color above outranks somi-shared.css's .find-section ones. */
#signUpModal .su-select-enhance .dropdown-trigger:hover { border-color: var(--su-border-strong, var(--lgray-cc)); }
#signUpModal .su-select-enhance .dropdown-trigger.open,
#signUpModal .su-select-enhance .dropdown-trigger:focus { outline: none; border-color: var(--front_primary_brand); box-shadow: 0 0 0 3px rgba(160, 10, 15, 0.10); }
/* Calendar icon: pin to the 44px input's middle, not the wrapper that grows with the error label. */
#signUpModal .somi-dp-field > .somi-dp-trigger { top: 22px; }
/* Dialog clips overflow, so the option list scrolls instead of running past the popup's bottom edge. */
#signUpModal .su-select-enhance .dropdown-options { max-height: 190px; }

::-webkit-input-placeholder {color:#c0bbb6 !important;}
::-moz-placeholder {color:#c0bbb6 !important;}
:-ms-input-placeholder {color:#c0bbb6 !important;}
input:-moz-placeholder {color:#c0bbb6 !important;}


.custom-alert-card, .thumb-view-left, .thumb-view-left1 { box-shadow: 0px 0px 6px 2px #72727247; }
.business_directory-row, .testimonial-internal, .agent_categroies_colum { border-radius: 8px; }
.business_directory-row:hover, .testimonial-internal:hover { box-shadow: 0px 0px 6px 2px var(--lgray-e5) }
.custom-alert-card:hover,  .thumb-view-left:hover { box-shadow: 0px 0px 6px 2px #aaa; }
.business_directory-row { padding: 15px; background: var(--white); margin: 10px 0 30px; text-align: justify; max-width: 900px; overflow: hidden;}
.business_directory-row .propLabel.featuredProp { position: relative; z-index: 9; top: -8px; left: -6px; }
.business_directory-logo { border-radius: 6px; overflow: hidden; box-shadow: 2px 2px 10px -4px rgba(0, 0, 0, 0.4); padding: 10px; }
.business_directory-logo > img { max-width: 100%; width: 100%; }
.business_directory-row .business_directory-category.biz_icon { float: right; }
.biz_icon > .fa { font-size: 18px !important; color: var(--lgray-66) !important; margin: 0px !important; width: 32px; }
.biz_icon > .fa-envelope:before{ margin:0 !important; }
.business_directory-row h4.business_directory-bizname { border-bottom: 1px solid var(--lgray-cc); padding: 0px 0px 10px 0px; font-size: 18px; font-weight: 600; margin: 0 0 18px; }
.business_directory-category, .business_directory-name, .business_directory-address, .business_directory-email, .business_desc, .business_disc { font-size: 14px; color: var(--lgray-66); margin: 0 0 15px; }
.business_desc div, .business_disc div { color:#3c3c3c; font-weight:600 }
.business_disc { margin: 0px; }
.business_directory-row .business_desc { border-top: 1px solid var(--lgray-cc); padding-top: 10px; }
.propLabel.featuredProp { background: #059116; }
.propLabel { font-size: 15px; padding: 5px 30px; color: var(--white); transform: rotate(-45deg); width: fit-content; margin: 5px 0px -36px -40px; text-align: center; min-width: 120px; box-shadow: 0px 3px 10px #000000; position: relative; z-index: 3;}
.propLabel.newToday { margin: 24px 0px -55px -28px; }


.loading:not(:required) { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; }
.loading:not(:required):after { content: ''; display: block; font-size: 10px; width: 1em; height: 1em; margin-top: -0.5em;
  -webkit-animation: spinner 1200ms infinite linear;
  -moz-animation: spinner 1200ms infinite linear;
  -ms-animation: spinner 1200ms infinite linear;
  -o-animation: spinner 1200ms infinite linear;
  animation: spinner 1200ms infinite linear;
  border-radius: 0.5em;
  -webkit-box-shadow: rgba(128, 128, 128) 2.1em 0 0 0,
    rgba(160, 160, 160) 1.48em 1.48em 0 0,
    rgba(192, 192, 192) 0 2.1em 0 0,
    rgba(224, 224, 224) -1.48em 1.48em 0 0,
    rgba(240, 240, 240) -2.1em 0 0 0,
    rgba(245, 245, 245) -1.48em -1.48em 0 0,
    rgba(250, 250, 250) 0 -2.1em 0 0,
    rgba(255, 255, 255) 1.48em -1.48em 0 0;
  box-shadow: rgba(128, 128, 128) 2.1em 0 0 0,
    rgba(160, 160, 160) 1.48em 1.48em 0 0,
    rgba(192, 192, 192) 0 2.1em 0 0,
    rgba(224, 224, 224) -1.48em 1.48em 0 0,
    rgba(240, 240, 240) -2.1em 0 0 0,
    rgba(245, 245, 245) -1.48em -1.48em 0 0,
    rgba(250, 250, 250) 0 -2.1em 0 0,
    rgba(255, 255, 255) 1.48em -1.48em 0 0;
}
@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.modal-content{ overflow: hidden; }

.admin_panel-menu-custom .navbar-nav li a .fa { float: right; line-height: 52px; font-size: 28px; }
.navbar-nav .collapseMinus { border-bottom: 1px solid var(--cgray); position: absolute; width: 14px; float: right; right: 10px; top: 50%; }
.navbar-nav .collapseMinus.collapseMinusV { transform: rotate(90deg); }
.navbar-nav li.open > a > .collapseMinusV { display: none; }
.navbar-default .navbar-nav li a { position: relative;  color: var(--lgray-33); }

.adminDropdownContainer #navbar-collapse { height:auto !important; }

.adminDropdownContainer .admin_panel-menu-custom#navbar-collapse,
.admin_panel-menu-custom{ position: fixed; width: 85vw; max-width: 360px; height:100%; margin:0; padding: 50px 0; padding-top: 100px; background: var(--white); list-style-type: none; -webkit-font-smoothing: antialiased;
  transform-origin: 0% 0%; -webkit-transform: translate(-100%, 0); transform: translate(-100%, 0); transition: all ease-out 0.5s; z-index:9998; /* Safari text-flicker fix */
}
.adminDropdownContainer.active .admin_panel-menu-custom, .adminDropdownContainer.active #navbar-collapse { transform: translate(0, 0); }
.adminDropdownContainer.active { position: fixed; height: 100vh; opacity: 1; background: #0000009e; z-index: 9999; width: 100%; }
.adminDropdownContainer .admin_panel-menu-custom > ul > li.open > ul.dropdown-menu { border-top: 1px solid #d3d3d3; padding: 14px 0px;}
.admin_panel-menu-custom { margin: 0px; height: 100vh; overflow-y: auto; padding-bottom: 100px; }
.admin_panel-menu-custom > li { height: auto !important; margin-right: 0 !important; border-bottom: 1px solid #e9e9e9; float: none;}
.admin_panel-menu-custom > li > a { color: var(--cgray); position: relative; font-family: var(--font-base); text-transform: uppercase; font-size: 13px; border-left: 4px solid var(--white); border-top: 0px !important; padding: 5px 10px 0 10px !important; min-height: 52px; margin-top: 0px; line-height: 52px; }
.admin_panel-menu-custom > li.open > a, .admin_panel-menu-custom > li.open > a:hover{border-width: 0px 0px 0px 4px !important;}
.admin_panel-menu-custom > li > a .arrow, .admin_panel-menu-custom .open .dropdown-menu > li > a >span.drop1 .arrow1 { background-repeat: no-repeat; border-left: 4px solid #000; border-right: 4px solid #000; float: right; margin-left: 2px; position: relative; right: 0; vertical-align: middle; background-image: url(../../images/arrow.png); width: 19px; height: 19px; top: 15px; }
.admin_panel-menu-custom > li.open > a .arrow, .admin_panel-menu-custom .dropdown-submenu.open .arrow1 { border-top: medium none; display: block; background-image: url(../../images/arrow_down_hover.png) !important; }
.admin_panel-menu-custom > li a.option.dropdown-toggle.redi i.fa { float: right; line-height: 52px; font-weight:200; font-size:28px; }
.admin_panel-menu-custom > li.open > a .fa.fa-minus, .admin_panel-menu-custom .dropdown-submenu.open .fa.fa-minus { display: block !important; transform: scale(0.66, 0.2); margin-right: -1.2%; margin-top: 0.2%; }
.admin_panel-menu-custom > li.open > a .fa.fa-plus, .admin_panel-menu-custom .dropdown-submenu.open .fa.fa-plus{display: none;}
.admin_panel-menu-custom > li > .dropdown-submenu { position: relative; font-size: 14px; border: 0 !important;background: var(--white);}
.admin_panel-menu-custom > li > .dropdown-menu li { background: var(--white); font-size: 14px; position: relative;}
.admin_panel-menu-custom > li > .dropdown-menu li:last-child { border: 0px; }
.admin_panel-menu-custom > li > .dropdown-menu li a.drop { width: 100% !important; background: var(--white); padding: 8px 10px 8px 30px; color: var(--lgray-66); height: 40px; display: block; font-size: 14px; overflow: hidden; font-family: var(--font-base); border: 0px;line-height: 25px; position: relative;}
.admin_panel-menu-custom li a .fa { float: right; line-height: 52px; font-size: 28px; }
.admin_panel-menu-custom > li > .dropdown-menu li .dropdown-menu li a { border-left: 1px solid #d3d3d3 !important; padding-left: 20px !important; overflow: hidden; font-family: var(--font-base); font-size: 14px; padding: 7px 4px; background: transparent; color: var(--lgray-66);}
.admin_panel-menu-custom .dropdown-submenu > a:after { display: block; content: " "; width: 162px; height: 0; border-color: transparent; border-width: 5px 0 5px 5px; }
.admin_panel-menu-custom .open .dropdown-menu, .admin_panel-menu-custom .dropdown .dropdown-submenu > .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; border-radius: 0px; border: 0; box-shadow: none; padding: 0px;}
.admin_panel-menu-custom .dropdown .dropdown-submenu > .dropdown-menu {padding: 0px 0px 0px 50px; margin-left: 0px;}
.admin_panel-menu-custom .nav.navbar-nav > li:hover > a, .admin_panel-menu-custom .nav.navbar-nav > li.open > a { border-left: 4px solid var(--front_primary_brand); background: #eee !important;}

label { font-size: 14px !important; font-weight:normal;}
/* Safety net for public validation labels not covered by the scoped rules below */
label.error { color: var(--front_primary_brand); }

@media (min-width:980px){
  #header .navbar-nav .collapseMinus{display: none;}
  #navbar-collapse .navbar-nav li ul li a:hover, #navbar-collapse .navbar-nav li ul li:hover > a, #navbar-collapse .navbar-nav li ul li.active > a { color: var(--white); } 
}

.footerBottom { background: #333; padding: 5px 0px 10px 0px; }
.footerBottom .row { padding: 10px 15px; }
.footerBottom * {line-height: 1em !important;vertical-align: baseline;}
.footerBottom *:not(i) {font-family: var(--font-base);}
.footerBottom p { color: var(--white) !important; }
.footerBottom .socialIcons { display: inline-block;font-size: 20px;text-align: center;vertical-align: middle; }
.footerBottom svg { margin-right: 5px; }
.footerBottom .socialIcons svg { width: 40px; height: 40px; margin: 0px; }
.footerBottom .socialIcons:hover svg path.svgOpac { opacity: 0.13; }
.footerBottom table tbody tr:first-child td:nth-child(2) { min-width: 195px; }

.socialFollowLinks { display: flex; gap: 10px; flex-wrap: nowrap; }
.socialFollowText { white-space: nowrap; }
.socialFollowContainer { display: flex; align-items: center; justify-content: end; flex-wrap: wrap; gap: 10px; }
.realtorHousingLogo { display: flex; align-items: center; justify-content: flex-start; gap: 10px; }
.realtorHousingLogo svg { width: 60px; height: 60px; margin: 0px; }
.virtual_tour svg { width: 40px; height: 40px; }
.svgOpac { opacity: 0.2; }
.svgOpac2 { opacity: 0.4; }
.virtual_tour svg .svgOpac { opacity: 0.15; }


.login-screen, .login-screen.panel { margin:auto; width:450px; border: none; overflow: hidden; max-width: 100%; background: transparent;}
.login-screen strong { font-weight: 600; color: var(--white); text-transform: uppercase; font-size: 20px;}
.login-screen .form-group{ margin-bottom:15px; }
.login-screen p { margin-left:34px; font-size:13px;}
.login-screen .navbar-brand { height: auto !important; width: auto; padding: 0px; margin: 15px auto; }

.login-screen.panel-default .panel-body .loginBoxContainer {
    padding: 0px 15px;
    margin: 0px;
}
.login-screen.panel-default .panel-heading.login-heading {
  padding: 15px 30px;
  color: var(--white);
  border: 0px;
}
.login-screen.panel-default .panel-body {
  padding: 0px 15px 15px;
}
.login-screen .input-group { width: 100%; }
.login-screen .passwordShow.fa-eye{
  color: #333;
}
.login-screen .somi-login input,
.login-screen .input-group-addon{
  height: 50px !important;
  font-size: 18px;
  width: calc(100% - 48px);
  display: block;
  border-radius: 0px 5px 5px 0px;
  margin: 0px;
}
.forgot-screen .somi-login input,
.forgot-screen .input-group-addon,
.login-screen .somi-login input#Secret_Answer,
.login-screen .somi-login input[type="submit"]{
  border-radius: 5px;
  width: 100%;
}
.login-screen .form-group.somi-login input[type='text'], .login-screen .form-group.somi-login input[type='password']{
  padding: 6px 12px;
  border: 1px solid var(--su-border, #E0E0E0);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.login-screen .form-group.somi-login input[type='text']:hover, .login-screen .form-group.somi-login input[type='password']:hover{
  border-color: var(--su-border-strong, var(--lgray-cc));
}
.login-screen .form-group.somi-login input[type='text']:focus, .login-screen .form-group.somi-login input[type='password']:focus{
  outline: none;
  border-color: var(--front_primary_brand);
  box-shadow: 0 0 0 3px rgba(160,10,15,.10);
}
.login-screen .form-group.somi-login input[type='text'].valid, .login-screen .form-group.somi-login input[type='password']{
  color: #000;
}
.login-screen .form-group.somi-login span {
  font-size: 17px;
  padding: 10px 0px;
  display: flex;
  align-items: center;
}
.login-screen .form-group.somi-login span input[type="checkbox"]{
  width: 20px;
  height: 20px !important;
  margin-right: 10px;
  border-radius: 0px;
}
.login-screen a {
  text-decoration:underline;
}
.login-screen a:hover, .login-screen a:focus { text-decoration:none; color:var(--white); outline: none;}
.login-screen .login-account span,
.login-screen a {
  font-size: 15px;
  padding: 6px 15px;
  color: var(--white);
}

.fa.passwordShow { position: absolute; right: 1px; top: 1px; padding: 0px; border: 0px; border-radius: 3px; width: 36px; height: 32px; line-height: 32px; text-align: center; z-index: 1; font-size: 16px; cursor: pointer; background: #f5f5f5; }
.login-screen .passwordShow {
    height: 48px;
    line-height: 48px !important;
    font-size: 25px !important;
    width: 48px;
    right: 1px;
    border-radius: 0px 5px 5px 0px;
    z-index: 2;
}
.login-screen .form-group.somi-login { width: 100%; }

.login-screen i.passwordShow, .login-screen i.passwordShow:hover, .login-screen i.passwordShow:active, .login-screen i.passwordShow:focus { border : none; }
.login-screen input[name="password"], .login-screen input[name="password_admin"], .login-screen input[name="Secret_Answer"]{ padding-right: 55px !important; }
#signUpModal input[name="password"] { padding-right: 42px; }
.login_screen_button[disabled] { color: #fff !important; }

.login_screen_button, .btn.disabled, .btn[disabled]{ text-align: center; border-radius: 4px; color: var(--white); border: none !important; padding: 7px 17px; font-size: 14px; width: 45% !important; float:right; margin-bottom:5px; margin-top:2px;}
.login_screen_button:hover{ text-align:center; border-radius:4px; color:var(--white); border:none !important; padding:7px 17px;}

.topPanel a svg, .adminHeaderContainer ul.dropdown-menu .dropdown-content a svg { margin-right:4px; width:16px; vertical-align:middle; }
.userLogindetail ul li a svg, .adminHeaderContainer ul.dropdown-menu .dropdown-content a svg { margin-right: 8px; width:20px; }



.adminHeaderContainer ul.dropdown-menu, .topPanel .dropdown-menu{background:#ffffff;border-radius: 10px;padding:0px;border: 1px solid var(--lgray-cc);margin-top:0px; overflow: hidden; box-shadow: 0 6px 12px rgba(0, 0, 0, .175);}
.adminHeaderContainer ul.dropdown-menu li, .topPanel .dropdown-menu li{padding: 0;}
.adminHeaderContainer ul.dropdown-menu li a:hover, .topPanel .userLogindetail ul li a:hover{background:var(--front_primary_brand);color:var(--white) !important; border: 1px solid; }
.adminHeaderContainer ul.dropdown-menu li a:hover strong, .adminHeaderContainer ul.dropdown-menu li .dropdown-content a:hover,
.adminHeaderContainer ul.dropdown-menu li a:hover .text-muted, .topPanel .userLogindetail ul li a:hover .text-muted { color:var(--white) !important; }
.adminHeaderContainer ul.dropdown-menu li:first-child, .topPanel .dropdown-menu li:first-child{border-top:0px;}
.adminHeaderContainer ul.dropdown-menu li a, .topPanel .userLogindetail ul li a {
    width: 100%;
    color: #000 !important;
    padding: 8px !important;
    height: auto;
    display: inline-block;
    border: 1px solid transparent;
    border-bottom-color: #ccc;
    font-weight: 500;
    line-height: 17px;
    border-radius: 0px !important;
    font-size: 13px;
    text-align: left;
    text-decoration: none;
}

.select-language span, .contactTop span, .userLogindetail a span.hidesmall, .loginSubmenu a span.hidesmall { vertical-align: middle; font-size: 14px; font-weight: 400; }
.language-box .select-language { padding: 0px; }
.topPanel a.contactTop, .userLogindetail a, .loginSubmenu a { padding: 0px 0px 0px 15px; }
.topPanel .col-xs-12 { gap: 15px; }

.showMobileOnly { display: none !important; }
#wrapper { width: 100%; }
#page-wrapper { width: 100%; }

a:focus { outline: none !important; }

.home_image header.sticky .adminDropdownContainer .nav.navbar-nav > li.active > a, 
.home_image header.sticky .adminDropdownContainer .nav.navbar-nav > li.active > a:hover, 
.home_image header.sticky .adminDropdownContainer .nav.navbar-nav > li > a:hover, 
.home_image header.sticky .adminDropdownContainer .nav.navbar-nav > li:hover > a,
header.sticky .adminDropdownContainer .nav.navbar-nav > li.active > a, 
header.sticky .adminDropdownContainer .nav.navbar-nav > li.active > a:hover, 
header.sticky .adminDropdownContainer .nav.navbar-nav > li > a:hover, 
header.sticky .adminDropdownContainer .nav.navbar-nav > li:hover > a {
  color: var(--front_primary_brand) !important;
  border-color: var(--front_primary_brand) !important;
}

.home_image header .adminDropdownContainer .nav.navbar-nav > li.active > a, 
.home_image header .adminDropdownContainer .nav.navbar-nav > li.active > a:hover, 
.home_image header .adminDropdownContainer .nav.navbar-nav > li > a:hover, 
.home_image header .adminDropdownContainer .nav.navbar-nav > li:hover > a {
  background: transparent;
  color: var(--white) !important;
  border-color: var(--white) !important;
}

@media (max-width:480px){
  .login-screen.panel-default .panel-footer { adding: 10px 0px; }
  .login-screen.panel-default .panel-heading { padding: 15px !important; }
  .login-screen .login_screen_button { width: 35% !important; }
}
@media (max-width:767px){
  .admin_panel-menu-custom.active, .admin_panel-menu-custom.collapse.in{ overflow-y: auto; }
  .login-screen p { margin-left:0px; }
  .login-screen .login-account span,
  .login-screen p, .login-screen a { font-size:14px; }
  .showMobileOnly { display: block !important; }
}
@media (max-width:979px){
  .signUp-modal.in { max-height: 90vh; width: min(600px, calc(100vw - 30px)); margin: auto; overflow: auto; }
  .adminDropdownContainer { background: transparent;}
  .adminDropdownContainer #navbar-collapse { -webkit-transform: translate(-100%, 0); transform: translate(-100%, 0); }
  .adminDropdownContainer #navbar-collapse, .adminDropdownContainer #navbar-collapse.in{ position: fixed; height: fit-content !important; width: 85vw; transition: all ease-out 0.5s; padding-top: 0px;}
  .navbar-nav li a:hover { background: var(--lgray-f5) !important; color: #000000 !important; }
  .navbar-nav .open .dropdown-menu>li>a{ line-height: 25px; }
  header .adminDropdownContainer .nav.navbar-nav > li.open > a, header .adminDropdownContainer .nav.navbar-nav > li > a:hover { 
    border-left: 4px solid var(--front_primary_brand); 
    background: #eee !important;
    color: var(--front_primary_brand) !important;
  }
  .adminDropdownContainer .nav.navbar-nav > li.open > .dropdown-menu li a{
    color: var(--cgray) !important;
  }
  .adminDropdownContainer .nav.navbar-nav > li:hover > a,
  .adminDropdownContainer .nav.navbar-nav > li.open > .dropdown-menu li a:hover{
    color: var(--cgray) !important;
  }
  .adminDropdownContainer .nav.navbar-nav > li.open > .dropdown-menu li.active > a{
    color: #000 !important;
    background-color: transparent !important;
    font-weight: 600;
  }
  .adminDropdownContainer .nav.navbar-nav > li.active > a,
  .adminDropdownContainer .nav.navbar-nav > li.active > a:hover{
    background-color: var(--lgray-f5) !important;
    border-color: var(--front_primary_brand) !important;
  }
}


/* ===== Canonical checkbox -- one style everywhere (front + admin), matching the
   admin agent-edit permission grid: 18px rounded square, grey border, brand-red fill
   + white check when checked. Loaded on both sites via common-back-front.css.
   !important on the shape props so it wins over the per-widget accent-color /
   appearance:checkbox rules in find-section / somi-search / somi-inventory / sb-admin-2. */
input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 18px; height: 18px; min-width: 18px;
  border: 1.5px solid #cccccc !important;
  border-radius: 4px !important;
  background-color: #ffffff !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 62% auto !important;
  position: relative;
  cursor: pointer;
  vertical-align: text-bottom;
  margin: 0 4px 0 0;
  flex-shrink: 0;
  box-sizing: border-box;
  transition: background-color .12s ease, border-color .12s ease;
}
input[type="checkbox"]:checked {
  background-color: var(--back_primary_brand, #a00a0f) !important;
  border-color: var(--back_primary_brand, #a00a0f) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.4l3 3 6-7'/%3E%3C/svg%3E") !important;
}
input[type="checkbox"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(160,10,15,.25);
}
input[type="checkbox"]:disabled { opacity: .5; cursor: not-allowed; }

img.ui-datepicker-trigger {
    vertical-align: middle;
    cursor: pointer;
    width: 38px;
    height: 32px;
    padding: 8px;
    left: -2;
    top: -2px;
    position: relative;
    background: #fff;
    border-radius: 5px;
    margin-left: -38px;
}
#signUpModal img.ui-datepicker-trigger { position: absolute; right: 18px; top: 11px; height: 32px; width: 34px; }
#signup-step1 .phone-wrapper .iti {
    margin-top: 0;
    width: 100%;
}
#request-more-info-form .phone-wrapper .iti{
    width: 100%;
}
@media (max-width: 420px){
  #signUpModal img.ui-datepicker-trigger { top: 1px; }
  #signUpModal .modal-content { margin-bottom: 0px; }
}
@media (min-width:1200px){
  .container { max-width: 1255px; }
}

#signUpModal *:not(.fa), #mapSearchInfoModal *:not(.fa) { font-family: var(--font-base); }
#signUpModal p.form_text, #signUpModal .term-cond, #signUpModal .inner-footer span { color: #333; }
#signUpModal input.hasDatepicker { max-width: 100%; }
.closeModal svg { fill: #fff; color: #fff; }
.closeModal path.fil1, .closeModal path.fil2 { fill: #fff; }
.close:hover { opacity: 0.5 !important; }

.alert_freqency { display: flex; flex-wrap: wrap; gap: 10px; }
.alert_freqency label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 88px;
  min-width: 88px;
  min-height: 36px;
  margin: 0px;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  color: #000;
  cursor: pointer;
}
.alert_freqency label input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0;
  border-radius: 5px !important;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.alert_freqency input:checked + span,
.alert_freqency label:hover span { opacity: 1; color: #fff; }
.alert_freqency input:focus { outline: transparent; }
.alert_freqency input + span {
  position: relative;
  z-index: 1;
  pointer-events: none;
  opacity: 0.65;
  padding: 8px 10px;
}
#saveSearchModal .panel.panel-default.login-screen { width: 550px; }
#saveSearchModal .loginBoxContainer { margin-top: 20px !important; }
#saveSearchModal input[type="text"] { width: 100%; }
/* .login_screen_button forces 45% (2-up login buttons) -- this modal's single Save button needs full width */
#saveSearchModal .save_search_details { width: 100% !important; }
#saveSearchModal .inputLabel{ font-size: 16px; margin-bottom: 10px; margin-left: 0px;}
span.redRequired { display: inline-block !important; width: auto; color: #a00a0f; margin-right: 5px; line-height: 1px;}


.card.ecard-container { height: 125vw; margin: 20px auto; width: 90vw; max-width: 500px; max-height: 670px; }
.ecard-container .cardImageContainer { width: 100%; background-size: 100% 100%; box-shadow: 0px 0px 6px 2px #72727247; padding: 1%; display: flex; height: 100%; flex-direction: column; align-items: center; border-radius: 1%; }
.ecard-container .cardImageContainer img { max-width: 75%; max-height: 200px; }
.ecard-container .card-body { padding: 5%; display: flex; flex-direction: column; align-items: center; justify-content: space-between; height: 100%; }
.ecard-container .card-body footer { margin-top: auto; position: relative; bottom: 0px; font-size: min(3.5vw, 14px);}
.ecard-container .ecardTitle { font-size: min(4.5vw, 24px); margin-bottom: 8%; text-align: center; }
.ecard-container .ecardMessage { padding: 5% 0px; }
.ecard-container p { margin: 0 0 3% 0; background-color: transparent !important; font-size: min(3.5vw, 14px) !important; }

.ecard-container .card-text { text-align: justify; }
.ecard-container .card-body * {font-family: cursive;}

.clear { clear: both; }
.copyrightAndPolicy { display: flex; justify-content: space-between; gap: 25px; }
.copyrightText { font-size: 14px; }
.termsAndPolicyLinks { font-size: 12px; text-align: right; }
@media only screen and ( max-width: 620px ){
  .copyrightAndPolicy { flex-direction: column-reverse; }
}
.siteLogoBoxForPrint { display: flex; justify-content: space-between; margin-bottom: 40px; border-bottom: 1px solid #aaa; padding-bottom: 20px;}
.siteLogoBoxForPrint .siteLogo img.somi-logo { height: 90px !important; margin: 0px; }
.isHidden { display: none; }
@media print {
  .for_print_only,
  .for_print_only * {
      margin: 0 !important;
      padding: 0 !important;
  }
  .for_print_only {
      display: block !important;
      margin: 0 !important;
      padding: 0 !important;
      height: auto !important;
  }
  .for_print_only img {
      display: block !important;
      margin: 0 !important;
      padding: 0 !important;
      height: auto !important;
      width: auto !important;
      max-width: 100% !important;
      -webkit-print-color-adjust: exact !important;
      print-color-adjust: exact !important;
      max-height: 800px;
  }

}
.brand-highlight {
  color: var(--front_primary_brand);
  font-size: 30px;
  font-weight: bold;
}
.contactInfoBox { font-size: 16px; }
.contactInfoBox i.fa { width: 20px; }
.siteLogoBoxForPrint .addressBox { text-align: right; }

.mobile-tooltip {
    position: absolute;
    background: #333;
    color: #fff;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 13px;
    display: none;
    z-index: 99999;
    white-space: normal;
    max-width: 250px; /* allow wrapping instead of shrinking */
    width: max-content;
}

/* Unified inline validation error style (frontend): small red circle badge + red text. Matches the sidebar request form (.pd-sidebar-card-body / .ss-sidebar-card-body). */
#signup-step1 label.error,
#login-step1 label.error,
.somi-login label.error,
.mc-field-group label.error,
.contactus_info_sub label.error,
#request-more-info-form label.error,
#mc_embed_signup .mc-field-group div.mce_inline_error {
  display: flex; align-items: center; gap: 5px; width: auto; margin: 6px 0 0; padding: 0;
  background: none; background-color: transparent; color: var(--front_primary_brand);
  font-size: 12px; font-weight: 400; font-family: inherit; line-height: 1.4; z-index: auto;
}
#signup-step1 label.error::before,
#login-step1 label.error::before,
.somi-login label.error::before,
.mc-field-group label.error::before,
.contactus_info_sub label.error::before,
#request-more-info-form label.error::before,
#mc_embed_signup .mc-field-group div.mce_inline_error::before {
  content: '!'; display: flex; align-items: center; justify-content: center; flex: 0 0 auto;
  width: 13px; height: 13px; border-radius: 50%; background: var(--front_primary_brand); color: #fff;
  font-size: 9px; font-weight: 800; line-height: 1;
}
/* Password case-sensitive note reuses .error class but is an info hint, not a validation error. */
.somi-login label.error.passwordCaseSenstive { display: none; }
.somi-login label.error.passwordCaseSenstive::before { content: none; }
#mc_embed_signup input.mce_inline_error, .mc-field-group input.error, .input3.error,
.contactus_info_sub input.error, .contactus_info_sub textarea.error,
#request-more-info-form input.error, #request-more-info-form textarea.error {
  border-color: var(--front_primary_brand) !important; background: rgba(160,10,15,.04) !important;
}

/* Universal modal close button (44px circle) -- same treatment as search-filter popup close; loaded on all front/admin pages with modals */

.panel-heading.login-heading,
.modal-header {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-justify-content: space-between !important;
  justify-content: space-between !important;
  -webkit-align-items: center !important;
  align-items: center !important;
}
/* Headers where the close button appears first in HTML -- visually reverse */
.modal-header.step1,
.modal-header.welcome {
  -webkit-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important;
}

button.close {
  background: transparent;
  border: none;
  padding: 0 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  width: 44px !important;
  height: 44px !important;
  cursor: pointer;
  display: -webkit-inline-flex !important;
  display: inline-flex !important;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  border-radius: 999px;
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  appearance: none;
  opacity: 1 !important;
  float: none !important;
  position: static !important;
  top: auto !important;
  text-shadow: none;
  line-height: 1;
  -webkit-transition: background 0.18s ease, -webkit-transform 0.18s ease;
  transition: background 0.18s ease, transform 0.18s ease;
}
button.close svg {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px;
  min-height: 24px;
  max-width: 24px;
  max-height: 24px;
  display: block;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
}
button.close i {
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
}
button.close:hover { background: rgba(255, 255, 255, 0.16); opacity: 1 !important; }
button.close:hover svg,
button.close:hover i { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
button.close:active { -webkit-transform: scale(0.94); transform: scale(0.94); }

/* #invitewelcome has a light Bootstrap header -- use a dark ring instead */
#invitewelcome .modal-header button.close:hover { background: rgba(0, 0, 0, 0.08); }

/* ==== SomiDatePicker -- shared calendar widget (js/somi-datepicker.js) ==== */
.somi-dp-field { position: relative; display: block; }
.somi-dp-field > input { padding-left: 34px !important; }
.somi-dp-field > input:focus { border-color: var(--cred); outline: none; }
.somi-dp-trigger {
  position: absolute; left: 5px; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 24px; height: 24px; display: flex; align-items: center; justify-content: center;
  background: transparent; border: 0; border-radius: 6px; padding: 0; cursor: pointer;
  color: var(--lgray-66); transition: background .15s, color .15s;
}
.somi-dp-trigger:hover, .somi-dp-trigger:focus-visible { background: var(--lgray-f5); color: var(--cred); }
.somi-dp-trigger svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }

.somi-dp-popover {
  position: fixed; z-index: 100000; width: 250px; box-sizing: border-box;
  background: #fff; border-radius: 10px; border: 1px solid rgba(0,0,0,.09);
  box-shadow: 0 16px 48px rgba(0,0,0,.22); padding: 14px;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .15s ease, transform .15s ease;
}
.somi-dp-popover.open { opacity: 1; visibility: visible; transform: translateY(0); }
.somi-dp-popover.flip-up { transform: translateY(6px); }
.somi-dp-popover.flip-up.open { transform: translateY(0); }
.somi-dp-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.somi-dp-prev, .somi-dp-next {
  width: 26px; height: 26px; border-radius: 6px; border: 0; background: transparent; color: var(--lgray-66);
  display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .15s, color .15s; flex: 0 0 auto;
}
.somi-dp-prev:hover, .somi-dp-next:hover { background: var(--lgray-f5); color: var(--cred); }
.somi-dp-prev[disabled], .somi-dp-next[disabled] { opacity: .35; cursor: default; }
.somi-dp-prev svg, .somi-dp-next svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.somi-dp-month {
  display: inline-flex; align-items: center; gap: 3px; flex: 0 1 auto;
  border: 0; background: transparent; font-family: inherit; font-size: 12.5px; font-weight: 700; color: var(--lgray-33);
  padding: 4px 8px; border-radius: 6px; cursor: pointer; transition: background .15s, color .15s;
}
button.somi-dp-month:hover { background: var(--lgray-f5); color: var(--cred); }
.somi-dp-caret { width: 11px; height: 11px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; opacity: .65; }
.somi-dp-weekdays { display: grid; grid-template-columns: repeat(7,1fr); margin-bottom: 4px; }
.somi-dp-weekdays span { font-size: 10px; font-weight: 700; text-transform: uppercase; color: var(--lgray-66); text-align: center; }
.somi-dp-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 2px; }
.somi-dp-day {
  width: 100%; aspect-ratio: 1; border: 0; background: transparent; border-radius: 7px;
  font-size: 12px; color: var(--lgray-33); cursor: pointer; transition: background .12s, color .12s; padding: 0;
}
.somi-dp-day:hover { background: var(--cred-rgb); color: var(--cred); }
.somi-dp-day.is-muted { color: #c9c9c9; }
.somi-dp-day.is-today { font-weight: 700; box-shadow: inset 0 0 0 1.5px rgba(0,0,0,.09); }
.somi-dp-day.is-selected, .somi-dp-day.is-selected:hover { background: var(--cred); color: #fff; }
.somi-dp-day[disabled] { color: #d5d5d5; cursor: default; background: transparent; }
.somi-dp-year-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.somi-dp-year {
  padding: 11px 0; border: 0; background: transparent; border-radius: 7px; font-family: inherit;
  font-size: 12.5px; font-weight: 600; color: var(--lgray-33); cursor: pointer; transition: background .12s, color .12s;
}
.somi-dp-year:hover { background: var(--cred-rgb); color: var(--cred); }
.somi-dp-year.is-current { font-weight: 800; box-shadow: inset 0 0 0 1.5px rgba(0,0,0,.09); }
.somi-dp-year.is-selected, .somi-dp-year.is-selected:hover { background: var(--cred); color: #fff; }
.somi-dp-year[disabled] { color: #d5d5d5; cursor: default; }

/* ==== Character / word counter pill (admin/js/sb-admin-2.js .limitText handler) ==== */
.char-counter-row { display: flex; justify-content: flex-end; margin-top: 8px; }
.char-counter {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 10px; border-radius: 999px;
  background: #f0f1f2; color: var(--lgray-66, #6b6b6b);
  font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums;
  transition: background .15s ease, color .15s ease;
}
.char-counter .dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.char-counter-row.is-warning .char-counter { background: #fdf1de; color: #a15d0a; }
.char-counter-row.is-limit .char-counter { background: #fbe8e6; color: var(--cred, #a00a0f); }
/* Optional left-hand hint (data-limit-hint) beside the counter pill */
.char-counter-row.has-hint { justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px 12px; }
.char-counter-hint { font-size: 11.5px; color: var(--lgray-66, #6b6b6b); }
.char-counter-row.has-hint .char-counter { margin-left: auto; }

/* Somi time picker (reuses .somi-dp-field / .somi-dp-trigger / .somi-dp-popover) */
.somi-tp-field { max-width: 150px; }
.somi-tp-pop { width: 170px; padding: 8px; }
.somi-tp-head { font-size: 12.5px; font-weight: 700; color: #333; padding: 4px 8px 8px; border-bottom: 1px solid #eee; margin-bottom: 6px; }
.somi-tp-list { max-height: 236px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; scrollbar-width: thin; }
.somi-tp-opt { border: 0; background: transparent; border-radius: 7px; padding: 7px 10px; font-family: inherit; font-size: 12.5px; color: #333; text-align: left; cursor: pointer; font-variant-numeric: tabular-nums; transition: background .12s, color .12s; }
.somi-tp-opt:hover { background: rgba(160,10,15,.08); color: var(--cred, #a00a0f); }
.somi-tp-opt.is-selected, .somi-tp-opt.is-selected:hover { background: var(--cred, #a00a0f); color: #fff; }
.somi-tp-opt.is-focus, .somi-dp-day.is-focus { box-shadow: inset 0 0 0 2px var(--cred, #a00a0f); }
.time-pair { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-start; }
.time-pair > .form-group { flex: 0 1 150px; min-width: 130px; }
@media (max-width: 420px) { .time-pair { flex-wrap: nowrap; } .time-pair > .form-group { flex: 1 1 0; min-width: 0; } }
/* Super admin "Log in as this user": profile header button form + bar while switched in */
.sla-form { display: contents; }
.sla-bar { position: fixed; left: 16px; bottom: 16px; z-index: 1040; display: flex; align-items: center; gap: 12px; max-width: calc(100% - 32px); padding: 10px 10px 10px 16px; background: #1f1f1f; color: #fff; border-radius: 10px; box-shadow: 0 6px 24px rgba(0,0,0,.28); font: 400 13px/1.4 Inter, Arial, sans-serif; }
.sla-bar b { font-weight: 600; }
.sla-btn { flex: 0 0 auto; padding: 7px 12px; border: 0; border-radius: 6px; background: var(--back_primary_brand, var(--front_primary_brand, #a00a0f)); color: #fff; font: 600 13px/1.2 Inter, Arial, sans-serif; cursor: pointer; }
.sla-btn:hover, .sla-btn:focus-visible { background: color-mix(in srgb, var(--back_primary_brand, var(--front_primary_brand, #a00a0f)) 80%, #000); }
.sla-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 600px) { .sla-bar { right: 16px; flex-wrap: wrap; } .sla-btn { width: 100%; } }
/* admin, wide screens: sit in the empty middle of the top bar so sticky save bars stay clear */
@media (min-width: 1366px) { .sla-bar.sla-top { top: 7px; bottom: auto; left: 50%; transform: translateX(-50%); z-index: 100000; padding: 5px 5px 5px 14px; white-space: nowrap; } .sla-bar.sla-top .sla-btn { padding: 6px 10px; } }
