html,
body {
height: 100%;
margin: 0;
padding: 0;
}
#rsl-form *, 
#rsl-form *:after, 
#rsl-form *:before {
box-sizing: border-box;
}	
#rsl-form {
padding: 10px;
}
#rsl-form *::selection {
color: #333;
background: none;
}
#rsl-form .step-1{
display:flex;
}
#rsl-form .step:not(.step-1) {
display: none;
margin-top: 25px;
margin-bottom: 10px;
}
#rsl-form .step-6 {
padding: 10px 15px;
padding-top: 15px;
background: #ccefff;
}
#real-state-popup {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 99999;
background: rgba(0,0,0,.3);
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
display: none;
}
#real-state-popup .container {
background: white;
padding: 15px 20px;
overflow-y: auto;
max-height: 96%;
box-shadow: 2px 2px 4px 0 rgb(0 0 0 / 20%);
width: 870px;
max-width: 96%;
position: relative;
}
#real-state-popup .btn-close .fa {
display: block;
}
#real-state-popup .btn-close {
width: 20px;
height: 20px;
font-size: 16px;
padding: 0;
position: absolute;
top: 10px;
right: 10px;
z-index: 999;
}
#real-state-popup .container::-webkit-scrollbar {
width: 1.3em;
}
#real-state-popup .container::-webkit-scrollbar-track {
box-shadow: none;
background: #d8e7ff;
}
#real-state-popup .container::-webkit-scrollbar-thumb {
background-color: #3674bb;
outline: 1px solid #3674bb;
}
#real-state-popup h2 {
font-size: 1.5rem;
} 
#rsl-form input,
#rsl-form button,
#rsl-form textarea,
#rsl-form select {
width: 100%;
padding: 5px 10px;
border: 1px solid #ccc;
color: #333;
margin: 0 auto;
transition: .3s;
}
#rsl-form input:focus,
#rsl-form button:focus,
#rsl-form textarea:focus,
#rsl-form select:focus {
outline: 0;
border-color: #888;
color: #000;
background: #f7f7f7;
}
#rsl-form input[type='checkbox'],
#rsl-form input[type='radio'] {
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
}
#rsl-form button {
padding: 8px 30px;
background: #2f619b;
color: white;
border: 0;
box-shadow: 2px 2px 4px 0 rgb(0 0 0 / 20%);
font-weight: 500;
}
#rsl-form button:focus,
#rsl-form button:active {
color: white;
background: #2f619b;
}
#rsl-form button.btn-gray {
background: #d3d3d3;
box-shadow: none;
}
#rsl-form button:hover {
background: #246fc5;
}
#rsl-form button.btn-gray:hover {
background: #c3c3c3;
}
#rsl-form .field {
margin: 10px 0;
}
#rsl-form .field label {
display: block;
font-weight: 600;
color: #666;
cursor: pointer;
}
#rsl-form .field label.label-bottom {
font-size: .8rem;
color: inherit;
}
#rsl-form .field.buttons {
display: flex;
flex-wrap: wrap;
gap: 15px;
}
#rsl-form .field label.button {
padding: 6px 15px;
background: #e9e9e9;
box-shadow: 2px 2px 4px 0 rgb(0 0 0 / 20%);
min-width: 160px !important;
}
#rsl-form .field label.button:has(:checked)  {
background: #d6e7ff;
color: #333;
}
#rsl-form .field-columns {
display: flex;
flex-wrap: wrap;
gap: 15px;
}
#rsl-form .field-columns .field {
width: 49%;
}
#rsl-form .icon-control {
position: relative;
display: flex;
}
#rsl-form .icon-control .rsl-icon {
position: absolute;
top: 0;
bottom: 2px;
left: 0;
font-size: 26px;
display: flex;
justify-content: center;
align-items: center;
line-height: 1;
padding: 0;
margin: 0;
width: 50px;
color: #2f619b;
}
input#pac-input {
padding: 8px 24px;
padding-left:40px;
border-radius: 30px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
@media(min-width:767px){
input#pac-input{
max-width:100%;
width:420px;
}
}
.response-form.fail,
.response-form.success {
padding: 16px 15px;
background: #00b0f0;
display: inline-block;
line-height: 1;
margin: 10px 10px;
align-items: center;
color: white;
width: 500px;
max-width: 100%;
color: white;
font-weight: 500;
}
.response-form.fail {
background: #f44336;
}
#rsl-form button#button-start-form {	
display: inline-block;
width: auto;
background: #00b0f0;
border-radius: 30px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
margin-left: -15px;
padding: 9px;
padding-left: 30px;
padding-right: 20px;
font-weight: 500;
text-transform: uppercase;
}
.pac-container {
padding: 25px;
padding-bottom: 12px;
border: 0;
border-radius: -25px;
margin-top: 9px;
}
#rsl-form .button-container {
margin: 15px auto;
display: flex;
justify-content: end;
align-items: center;
column-gap: 15px;
align-self: end;
margin-top: 40px;
}
#rsl-form .button-container button {
min-width: calc(25% - 12px);
margin: 0;
}