.ib-form-section{
    width:100%
}

.ib-form-description{
    margin-bottom: 0;
}

.ib-fieldset-title-container {
    width:100%;
    display:flex;
    justify-content: flex-start;
    margin-bottom:0.5rem;
}

.ib-fieldset-title{
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight:bold;
    color: var( --e-global-color-text );
    margin:0;
    text-transform: uppercase;
}

.ib-form-avatar-container{
    display:flex;
    flex-flow:row nowrap;
    align-items: center;
    gap:1.5rem;
}

@media only screen and (max-width:640px){
    .ib-form-avatar-container {
        flex-flow:column nowrap;
        gap:1rem;
        margin-bottom:0.5rem;
    }
}

.ib-avatar-container{
    position:relative
}

img.ib-avatar{
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius:999vw;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512' fill='none'%3E%3Crect width='512' height='512' fill='white'/%3E%3Cpath d='M426.667 356.868C426.667 369.704 422.989 382.415 414.784 392.285C375.654 439.359 316.665 469.339 250.667 469.339C193.198 469.339 141.04 446.607 102.683 409.652C90.7531 398.159 85.3391 381.775 85.3391 365.21C85.3391 325.517 117.517 293.339 157.21 293.339H363.138C398.224 293.339 426.667 321.782 426.667 356.868Z' fill='%23D4EDEC'/%3E%3Cpath d='M336.001 181.334C336.001 228.462 297.796 266.667 250.667 266.667C203.539 266.667 165.334 228.462 165.334 181.334C165.334 134.206 203.539 96.0007 250.667 96.0007C297.796 96.0007 336.001 134.206 336.001 181.334Z' fill='%23D4EDEC'/%3E%3C/svg%3E");
    width:9rem;
    height:9rem;
    aspect-ratio: 1;
    object-fit:cover;
}

button.ib-remove-avatar-btn{
    border:none;
    position: absolute;
    bottom:0;
    right:0;
    background-color: #AA0808;
    padding:0.5rem;
    border-radius:999vw;
    display:flex;
    color:var(--e-global-color-84d8ed8);
    cursor: pointer;
}

button.ib-remove-avatar-btn:hover{
    background-color: #cf3b3b;
}

button.ib-remove-avatar-btn svg{
    fill:currentColor
}

.ib-avatar-container button.ib-remove-avatar-btn {
    display: none;
}

.ib-avatar-container.has-custom-image button.ib-remove-avatar-btn {
    display: flex; 
}

.ib-btn{
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.5rem;
    letter-spacing: 0.05em;
    color: var(--e-global-color-84d8ed8);
    border-radius: 0.50rem 0.50rem 0.50rem 0.50rem;
    padding: 0.75rem 1.5rem 0.75rem 1.5rem;
    transition: ease .3s;
    cursor:pointer;
    border:none;
}

.ib-btn-primary{
    background-color: var(--e-global-color-text);
}

.ib-btn-primary:hover{
    background-color: var(--e-global-color-primary);
}

.ib-fieldset {
    padding: 2rem 1.5rem;
    background-color: var( --e-global-color-84d8ed8 );
    border-radius: 1rem;
    display:flex;
    flex-flow:column nowrap;
    gap: 1rem;
    width:100%;
}

.ib-fieldset .ib-fieldset {
    padding: 0;
    background-color: transparent;
    border-radius: 0;
}

.ib-login-fieldset {
    padding-top:1.75rem;
}

.ib-form {
    display: flex;
    flex-flow: column nowrap;
    gap: 1.5rem;
    align-items: flex-end;
}

.ib-field-group {
    display:flex;
    flex-flow:column nowrap;
    gap:0.25rem;
}

.ib-field-group {
    display:flex;
    flex-flow:column nowrap;
    gap:0.25rem;
}

.ib-field-group .ib-field-label {
    font-size: 0.75rem;
    line-height: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight:500;
    color: var( --e-global-color-text );
}

.ib-field-group .ib-field-input {
    padding: 0.5rem 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 600;
    color: var( --e-global-color-text );
    background-color: var( --e-global-color-27b1f3d );
    border: none;
    border-radius:0.5rem;
    min-height: 2.5rem;
    outline: none !important;
    appearance:none;
}

.ib-field-group select.ib-field-input {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 15.4L6 9.4L7.4 8L12 12.6L16.6 8L18 9.4L12 15.4Z' fill='%23002928'/%3E%3C/svg%3E%0A");
    background-position: right 1rem center;
    background-repeat: no-repeat;
    padding-right: 3rem;
}

.ib-field-group .ib-field-input:focus {
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
}

.pass-error-message{
    color:#aa0808;
    font-size:0.75rem;
    line-height: 1rem;
}
.ib-field-input.ib-input-error,
.ib-checkbox-input-and-label.ib-input-error::before,
.ib-radio-group.ib-input-error .ib-radio-option{
    box-shadow: inset 0 0 0 1px #aa0808;
}
.ib-radio-option {
    padding: 0.5rem 1rem;
    background-color: var(--e-global-color-27b1f3d);
    border-radius: 0.5rem;
    font-size:1rem;
    line-height:1.5rem;
    cursor:pointer;
    position:relative;
}

.ib-radio-option:focus-within{
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 1px inset;
}

.ib-radio-option input[type="radio"] {
    position:absolute;
    width:0;
    height:0;
}

.ib-radio-option:has(input[type="radio"]:checked) {
    background-color: var(--e-global-color-primary);
    color:var(--e-global-color-84d8ed8);
}

.ib-radio-option:has(input[type="radio"]:checked):focus-within{
    box-shadow: var(--e-global-color-text) 0px 0px 0px 2px inset;
}

.ib-field-group > label > input[type="checkbox"] {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
}

.ib-field-group .ib-checkbox-input-and-label {
    display: flex;
    flex-flow: row nowrap;
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: var(--e-global-color-text);
    position: relative;
}

.ib-field-group .ib-checkbox-input-and-label::before {
    content: "";
    width: 1.25rem;
    height: 1.25rem;
    background-color: var( --e-global-color-27b1f3d );
    border-radius: 0.25rem;
    transition: ease .2s;
    flex-grow:0;
    flex-shrink:0;
}

.ib-field-group .ib-checkbox-input-and-label::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 1.25rem;
    border-radius: 0.25rem;
    transition: ease .2s;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.95837 15.0001L3.20837 10.2501L4.39587 9.06258L7.95837 12.6251L15.6042 4.97925L16.7917 6.16675L7.95837 15.0001Z' fill='white'/%3E%3C/svg%3E%0A");
    flex-grow:0;
    flex-shrink:0;
}

.ib-field-group .ib-checkbox-input-and-label:has(input[type="checkbox"]:checked)::before {
    background-color: var(--e-global-color-primary);
}

.ib-field-group .ib-checkbox-input-and-label:has(input[type="checkbox"]:focus)::before {
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
}

.ib-field-group .ib-checkbox-input-and-label:has(input[type="checkbox"]:checked)::after {
    width: 1.25rem;
}

.ib-checkbox-label{
    font-size:0.875rem;
    line-height: 1.25rem;
}

.ib-checkbox-label a{
    color: var(--e-global-color-text);
    text-decoration: underline;
    transition: ease .3s;
}

.ib-checkbox-label a:hover{
    color: var(--e-global-color-secondary);
}

.ib-notice-box {
    background-color: var(--e-global-color-c9aba6c);
    padding: 1rem;
    border-radius: 0.5rem;
    display: flex;
    flex-flow: row nowrap;
    gap: 1rem;
    color: var(--e-global-color-text);
}

.ib-form-message{
    padding:1rem;
    margin-bottom: -1.25rem;
    background-color: var(--e-global-color-accent, #CFF700);
    border-radius: 1rem 1rem 0.5rem 1rem;
    color: var( --e-global-color-text , #002928);
    text-align: right;
}

.ib-form-message.alone{
    border-radius: 1rem;
    text-align: left;
}

.ib-form-message.error{
    background-color: #aa0808;
    color: var( --e-global-color-84d8ed8 , white);
}

.ib-form-message.success{
    background-color: #3e743e;
    color: var( --e-global-color-84d8ed8 , white);
}

.ib-btn-submit{
    border:none;
}

.ib-btn-submit:disabled{
    opacity:0.4;
    cursor: not-allowed;
}