/*
* Prefixed by:
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

body.rsra-modal-open {
    overflow: hidden;
}

.rsra-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; /* Keep as flex for centering */
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    /* Use opacity and visibility for transitions, allowing calculations */
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.2s ease, visibility 0s 0.2s;
    -o-transition: opacity 0.2s ease, visibility 0s 0.2s;
    transition: opacity 0.2s ease, visibility 0s 0.2s;
}

.rsra-modal-overlay.is-visible {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.2s ease;
    -o-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
}

.rsra-opt-in-modal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 710px !important;
    padding: 15px 30px 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
    border-radius: 4px;
    width: 100%;
    background-color: #fff;
}
@media (max-width: 991px) {
    .rsra-opt-in-modal {
        max-width: 600px;
        padding: 20px;
    }
}
@media (max-width: 640px) {
    .rsra-opt-in-modal {
        padding: 15px;
		margin: 10px;
        height: 76vh;
    }
}
.rsra-modal-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5px;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    border-radius: 4px;
}
.rsra-close-button {
    background: none;
    border: none;
    color: #d9aa32 !important;
    letter-spacing: 0.84px;
    text-transform: uppercase;
    cursor: pointer;
    background-color: unset !important;
    padding: unset !important;
    font-size: 14px !important;
    font-weight: 600 !important;
	border: unset !important;
}
.rsra-close-button:hover {
    opacity: 0.8;
}
.rsra-modal-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow-y: auto;
}
.rsra-modal-content,
.rsra-modal-intro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-item-align: stretch;
        align-self: stretch;
}
.rsra-modal-intro {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5px;
}

.rsra-modal-title {
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    font-family: Roboto !important;
    font-weight: 500 !important;
    font-size: 28px !important;
    line-height: 130% !important;
    letter-spacing: 0.02em !important;
	margin: 15px 0 30px;
    text-align: center;
    color: #272727;
}
.rsra-contractor-form {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
}
.rsra-contractor-form,
.rsra-form-step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.rsra-form-step {
    width: 100%;
}
.rsra-form-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    border: none;
    padding: 0;
    margin: 0;
}
.rsra-step-title {
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    color: #272727;
    letter-spacing: 0.4px;
    font: 700 20px/130% Roboto, -apple-system, Helvetica, sans-serif !important;
    margin: 0 0 20px;
    padding: 0;
    min-height: 26px;
}
.rsra-form-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 14px;
    -ms-flex-item-align: stretch;
        align-self: stretch;
}
.rsra-form-label {
    color: #d9aa32;
    letter-spacing: 0.84px;
    text-transform: uppercase;
    font: 700 14px Roboto, -apple-system, Helvetica, sans-serif;
}
.rsra-form-input, .rsra-form-select {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 12px 15px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5px;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: hsla(0, 0%, 59.2%, 0.1);
    border: 1px solid transparent;
    color: #272727;
    letter-spacing: 0.32px;
    font: 400 16px/145% Roboto, -apple-system, Helvetica, sans-serif;
    width: 100%;
}
.rsra-form-input:focus, .rsra-form-select:focus {
    outline: 2px solid #d9aa32;
    outline-offset: -2px;
}
.rsra-select-wrapper {
    position: relative;
    width: 100%;
}
.rsra-form-select {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
}
.rsra-dropdown-icon {
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    pointer-events: none;
    width: 20px;
    height: 20px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.rsra-radio-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    width: 100%;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: 4px;
}
.rsra-radio-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer;
    padding: 0;
}
.rsra-radio-group input[type="radio"] {
    display: inline-block;
    -webkit-appearance: radio;
       -moz-appearance: radio;
            appearance: radio;
    width: 14px;
    height: 14px;
    margin-right: 6px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.rsra-radio-group label {
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    text-align: left;
    padding: 0;
    border: none;
    border-radius: 0;
    cursor: pointer;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    font-size: 14px;
    color: #272727;
    background-color: transparent;
    font-family: Roboto !important;
}
.rsra-radio-group input[type="radio"]:checked + label {
    font-weight: 700;
}
.rsra-radio-group label:hover {
    color: #d9aa32;
}
.iti {
    width: 100%;
}
.iti__input {
    width: 100% !important;
    padding: 12px 15px 12px 73px !important;
    margin: 0 !important;
    border-radius: 4px !important;
    background-color: hsla(0, 0%, 59.2%, 0.1) !important;
    border: none !important;
    color: #272727 !important;
    font: 400 16px/145% Roboto, -apple-system, Helvetica, sans-serif !important;
    height: auto !important;
}
.iti__input:focus {
    outline: 2px solid #d9aa32 !important;
    outline-offset: 0 !important;
}
.rsra-privacy-notice {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 3px;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.rsra-privacy-text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    color: #555;
    font-family: Roboto, -apple-system, Helvetica, sans-serif;
    font-size: 10px;
    line-height: 1.4;
    margin: 0;
}
.rsra-sms-consent-headline {
    margin: 0 0 8px;
    font-family: Roboto, -apple-system, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #272727;
}
.rsra-privacy-title {
    font-size: 12px;
    font-weight: 400;
}
.rsra-privacy-disclaimer {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}
.rsra-sms-consent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}
.rsra-sms-consent-label {
    cursor: pointer;
}
.rsra-sms-consent-label input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.rsra-sms-consent-label span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: 72px;
    padding: 8px 20px;
    border: 2px solid #d9aa32;
    border-radius: 4px;
    font-family: Roboto, -apple-system, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #272727;
    background-color: transparent;
    -webkit-transition: background-color 0.15s ease, color 0.15s ease;
    -o-transition: background-color 0.15s ease, color 0.15s ease;
    transition: background-color 0.15s ease, color 0.15s ease;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.rsra-sms-consent-label:hover span {
    background-color: hsla(43, 65%, 52%, 0.12);
}
.rsra-sms-consent-label input[type="radio"]:checked + span {
    background-color: #d9aa32;
    color: #fff;
}
.rsra-sms-consent-required {
    display: block;
    margin-top: 4px;
    font-family: Roboto, -apple-system, Helvetica, sans-serif;
    font-size: 11px;
    color: #cc0000;
}
.rsra-form-navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    gap: 15px;
}
.rsra-nav-button,
.rsra-submit-button {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 12px 15px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid #0a8eff;
    color: #fff;
    letter-spacing: 0.84px;
    text-transform: uppercase;
    font: 700 14px Montserrat, -apple-system, Roboto, Helvetica, sans-serif;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    max-width: 200px !important;
}
.rsra-next-button,
.rsra-submit-button {
    background-color: #0a8eff;
}
.rsra-prev-button {
    background-color: #fff;
    color: #0a8eff;
}
.rsra-next-button:hover,
.rsra-prev-button:hover,
.rsra-submit-button:hover {
    background-color: #0876d1;
    border-color: #0876d1;
    color: #fff;
}

.rsra-contractor-form.form-loading .rsra-form-step {
    opacity: 0.6;
    pointer-events: none;
}
.rsra-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid hsla(0, 0%, 100%, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: rsra-spin 1s ease-in-out infinite;
    -webkit-animation: rsra-spin 1s ease-in-out infinite;
    margin-right: 8px;
    vertical-align: middle;
}

@keyframes rsra-spin { to { -webkit-transform: rotate(1turn); transform: rotate(1turn); } }
@-webkit-keyframes rsra-spin { to { -webkit-transform: rotate(1turn); } }

.iti__flag {
    background-image: url(https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/img/flags.png) !important;
}
@media (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-resolution: 192dpi) {
    .iti__flag {
        background-image: url(https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/img/flags@2x.png) !important;
    }
}


/* CORRECTED: The container for the dropdown gets the z-index */
.iti--container {
    z-index: 100000 !important;
}

/* NEW: Force the search input to be visible */
.iti__search-input {
    display: block !important;
    width: 95% !important;
    margin: 4px auto !important;
    padding: 5px 8px !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
    border: 1px solid #ccc !important;
    border-radius: 3px !important;
}
.iti-mobile .iti--container {
    left: 10px !important;
    width: calc(100% - 20px) !important;
    height: 50% !important;
    top: auto !important;
}
.iti--separate-dial-code .iti__selected-flag{
	background-color: unset !important;
}

@media (max-width: 640px) {
	.rsra-modal-title{
        font-size: 20px !important;
        margin: 0px 0 20px;
	}
	.rsra-form-input, .rsra-form-select{
		padding: 9px 15px;
		font-size: 14px;
	}
	.rsra-contractor-form {
		padding: 0px 4px;
	}
}

/* NEW: Checkbox Styles for Page 1980 */
.rsra-privacy-checkbox-wrapper {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    text-align: left;
}

.rsra-privacy-checkbox-wrapper input[type="checkbox"] {
    margin-top: 3px;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    cursor: pointer;
}

.rsra-privacy-text-label {
    font-family: Roboto, -apple-system, Helvetica, sans-serif;
    color: #272727;
    line-height: 1.4;
    cursor: pointer;
    font-size: 14px;
    flex: 1;
}

/* --- Custom Lightweight Popup --- */
.rsra-message-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4); /* Slight dark overlay */
    z-index: 20000; /* Higher than the form modal */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0s 0.2s;
}

.rsra-message-overlay.is-active {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s ease;
}

.rsra-message-box {
    background: #fff;
    padding: 30px 40px;
    border-radius: 8px;
    text-align: center;
    max-width: 400px;
    width: 90%;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    transform: scale(0.9);
    transition: transform 0.2s ease;
}

.rsra-message-overlay.is-active .rsra-message-box {
    transform: scale(1);
}

.rsra-message-icon {
    font-size: 40px;
    margin-bottom: 15px;
}

.rsra-message-box h3 {
    margin: 0 0 10px;
    color: #333;
    font-size: 20px;
    font-family: Roboto, sans-serif;
}

.rsra-message-box p {
    color: #666;
    font-size: 15px;
    margin-bottom: 25px;
    line-height: 1.5;
}

.rsra-message-btn {
    background: #0a8eff;
    color: #fff;
    border: none;
    padding: 10px 30px;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
    font-size: 14px;
    transition: background 0.2s;
}

.rsra-message-btn:hover {
    background: #0876d1;
}

/* Status Colors */
.rsra-msg-error .rsra-message-icon { color: #dc3232; }
.rsra-msg-success .rsra-message-icon { color: #46b450; }