/*====================*/
/*  Inputs            */
/*====================*/
.input-field {--int-height: 3.75rem;--int-pd: 1rem;--font-size: var(--text);display: block;position: relative;text-align: left;line-height: 0;font-size: var(--font-size);}
.input {position: relative;z-index: 1;transition: var(--transition-1);background-color: var(--clr-grey);border-radius: 0.625rem;border: 0.0625rem solid var(--clr-grey);font-size: var(--font-size);font-weight: 300;line-height: var(--int-height);height: var(--int-height);text-overflow: ellipsis;color: var(--clr-title);padding: 0.625rem var(--int-pd);}
textarea.input {height: 6.25rem;line-height: 1.5em;}
.input-error {font-size: 0.875rem;line-height: 1.5em;font-weight: 300;color: var(--clr-red);margin-top: 0.25rem;display: none;}
.input-success {font-size: 0.875rem;line-height: 1.5em;font-weight: 300;color: var(--clr-title);margin-top: 0.25rem;display: none;}
.input-field.focus {z-index: 5;}
.input-field:where(.focus) .input {border-color: var(--clr-primary);}
.input-field.invalid:not(.value) .input,
.input-field.invalid-email .input {border-color: var(--clr-red);}
.input-field.invalid:not(.value) .input-error,
.input-field.invalid-email .input-error {display: block;}
@media (max-width: 1199px) {
.input-field {--int-height: 3.25rem;}
}
/*====================*/
/*  Autofill          */
/*====================*/
.input-field.focus .input:not(textarea):-webkit-autofill,
.input-field.value .input:not(textarea):-webkit-autofill,
.input-field.focus .input:not(textarea):-webkit-autofill:hover,
.input-field.value .input:not(textarea):-webkit-autofill:hover,
.input-field.focus .input:not(textarea):-webkit-autofill:focus,
.input-field.value .input:not(textarea):-webkit-autofill:focus,
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {border: 0;-webkit-text-fill-color: var(--clr-title);-webkit-box-shadow: inset 0 0 0 0.0625rem var(--clr-title),inset 0 0 6.25rem var(--clr-grey);-webkit-transition: background-color 5000s ease-in-out 0s;transition: background-color 5000s ease-in-out 0s;}
/*====================*/
/*  Checkbox & Radio  */
/*====================*/
.ch-box-wrap {--ch-size: 1rem;--lh-size: calc(var(--ch-size) * 1.25);display: flex;flex-wrap: wrap;gap: var(--lh-size);}
.ch-box {cursor: pointer;gap: calc(var(--ch-size) / 2);display: inline-flex;align-items: center;font-size: var(--ch-size);line-height: var(--lh-size);text-align: left;}
.ch-box a {display: inline;color: var(--clr-title);font-weight: 400;text-decoration: underline;text-decoration-color: currentColor;}
.ch-box input[type=radio],
.ch-box input[type=checkbox] {position: relative;cursor: pointer;display: inline-block;align-self: start;color: var(--clr-text);width: var(--lh-size);height: var(--lh-size);flex-shrink: 0;border-radius: 0.25rem;border: 0.0625rem solid currentColor;}
.ch-box input[type=radio]::before,
.ch-box input[type=checkbox]::before {content: "";position: absolute;top: 50%;left: 50%;display: block;width: 0.875rem;height: 0.875rem;transform: translate(-50%, -50%) scale(0);transition: var(--transition-1);border-radius: inherit;background-color: currentColor;}
.ch-box input[type=radio]:checked,
.ch-box input[type=checkbox]:checked {color: var(--clr-primary);}
.ch-box input[type=radio]:checked::before,
.ch-box input[type=checkbox]:checked::before {transform: translate(-50%, -50%) scale(1);}
.ch-box input[type=radio] {border-radius: 100%;}
@media (min-width: 1200px) {
.ch-box a:not(.btn):hover {text-decoration-color: transparent;}
}
@media (min-width: 1200px) and (max-width: 1440px) {
.ch-box-wrap {--lh-size: calc(var(--ch-size) * 1.334);}
.ch-box-wrap input[type=radio]:before,
.ch-box-wrap input[type=checkbox]:before {width: 0.834rem;height: 0.834rem;}
}
@media (max-width: 575px) {
.ch-box-wrap {align-items: flex-start;flex-direction: column;}
}
/*====================*/
/*  Select            */
/*====================*/
.SumoSelect {--sel-p: 1rem;--sel-h: 3.75rem;--sel-fz: var(--text);--sel-items: 5;--opt-p: 0.625rem;--opt-lh: calc(var(--sel-fz) * 1.125);--max-height: calc((var(--opt-p) * 2 + var(--opt-lh)) * var(--sel-items) + var(--opt-p) * 2);cursor: pointer;z-index: 1;width: 100%;}
.SumoUnder {z-index: 0;padding: 0;margin: 0;line-height: 0;font-size: 0;display: none;backface-visibility: hidden;}
.SumoSelect > .CaptionCont {z-index: 1;transition: var(--transition-1);height: var(--sel-h);background: var(--clr-grey);border-radius: 0.625rem;border: 0.0625rem solid var(--clr-input);color: var(--clr-title);text-align: left;padding: 0.625rem var(--sel-p);padding-right: calc(var(--sel-p) * 2.5);}
.SumoSelect > .CaptionCont > span {cursor: pointer;padding-right: 0;font-size: var(--sel-fz);font-weight: 300;line-height: calc(var(--sel-h) - 1.25rem);color: currentColor;backface-visibility: hidden;}
.SumoSelect > .CaptionCont > span.placeholder {font-style: normal;color: var(--clr-text);display: none;}
.SumoSelect > .CaptionCont > label {display: inline-block;cursor: pointer;width: 1.5rem;height: 1.5rem;color: currentColor;right: var(--sel-p);bottom: auto;top: 50%;transform: translateY(-50%);transition: var(--transition-1);}
.SumoSelect > .CaptionCont > label i {background-image: none;opacity: 1;width: 100%;height: 100%;right: auto;bottom: auto;top: 50%;left: 50%;transform: translate(-50%, -50%);background-size: 100% 100%;background-repeat: no-repeat;background-position: center;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 4L12 20M12 20L18 14M12 20L6 14' stroke='%231C76FF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.SumoSelect > .optWrapper {display: block;overflow: auto;z-index: 2;padding: 0;top: 100%;left: 0;width: 100%;border: 0.0625rem solid transparent;border-radius: 0.625rem;opacity: 0;visibility: hidden;backface-visibility: hidden;background-color: var(--clr-white);box-shadow: 0 2.25rem 1.25rem 0 rgba(0, 0, 0, 0.03),0 0.25rem 0.625rem 0 rgba(0, 0, 0, 0.05);transition: 0s;margin-top: 0.125rem;}
.SumoSelect > .optWrapper > .options {font-size: var(--text-sm);max-height: var(--max-height);padding: 0.25rem;border-radius: 0 !important;}
.SumoSelect > .optWrapper > .options li.opt {padding: 0;border-bottom: 0;border-radius: 0 !important;background: transparent !important;}
.SumoSelect > .optWrapper > .options li label {transition: var(--transition-1);border-radius: 0.5rem;font-size: var(--text-sm);line-height: var(--opt-lh);font-weight: 300;color: var(--clr-title);white-space: unset;text-align: left;padding: var(--sel-p);}
.SumoSelect > .optWrapper > .options li.opt.selected label {background-color: var(--clr-secondary);}
.SumoSelect > .optWrapper > .options > .opt.disabled:first-child {display: none !important;}
.SumoSelect > .optWrapper > .options li.group > label {padding: var(--opt-p) var(--sel-p);font-weight: 600;}
.SumoSelect > .optWrapper > .options li ul li.opt {padding-left: var(--opt-p);}
.SumoSelect:focus > .CaptionCont,
.SumoSelect:hover > .CaptionCont {box-shadow: none;border-color: var(--clr-grey);}
.SumoSelect.open > .CaptionCont {border-color: var(--clr-grey);border-bottom-right-radius: 0;border-bottom-left-radius: 0;}
.SumoSelect.open > .CaptionCont > label {transform: translateY(-50%) rotateX(180deg);}
.SumoSelect.open > .optWrapper {top: 100%;opacity: 1;visibility: visible;transition: var(--transition-1);transition-delay: 0.2s;}
.SumoSelect.disabled {opacity: 0.5;}
.SumoSelect.disabled > .CaptionCont {cursor: not-allowed;}
.SumoSelect.disabled > .CaptionCont > span {cursor: not-allowed;}
@media (min-width: 1200px) {
.SumoSelect > .optWrapper > .options li.opt:not(.selected):hover label {background-color: var(--clr-grey);}
}
@media (max-width: 1199px) {
.SumoSelect {--sel-h: 3.25rem;}
}
/*====================*/
/*  Upload Files      */
/*====================*/
.upload-wrap {text-align: left;}
.upload-btn {position: relative;cursor: pointer;transition: var(--transition-1);gap: 0.75em;display: flex;width: 100%;border-radius: 0.625rem;background-color: var(--clr-white);border: 0.0625rem dashed var(--clr-title);font-size: var(--text);line-height: 1.5em;font-weight: 300;color: var(--clr-text);padding-block: 1.875rem;padding-inline: 1.25rem;}
.upload-btn input {display: none;}
.upload-btn svg {--size: 1.334em;display: inline-block;width: var(--size);height: var(--size);flex-shrink: 0;transition: var(--transition-1);color: var(--clr-title);}
.upload-files {gap: 0.625rem;display: flex;flex-wrap: wrap;}
* + .upload-files {margin-top: var(--sp-xs);}
.uploaded-file {gap: 0.75rem;display: flex;align-items: center;width: 100%;font-size: var(--text);line-height: 1.5em;font-weight: 300;color: var(--clr-title);word-wrap: break-word;}
.uploaded-file svg {--size: 1.334em;display: inline-block;width: var(--size);height: var(--size);flex-shrink: 0;transition: var(--transition-1);color: var(--clr-primary);}
.delete-file {cursor: pointer;flex-shrink: 0;margin-left: auto;}
.delete-file svg {color: var(--clr-red);}
.upload-files:has(.uploaded-file) + .upload-btn:has(input[multiple]) {margin-top: 0.5rem;}
.upload-files:has(.uploaded-file) + .upload-btn:has(input:not([multiple])) {display: none;}
@media (min-width: 1200px) {
.upload-btn:hover {color: var(--clr-primary);border-color: var(--clr-primary);}
.upload-btn:hover svg {color: var(--clr-primary);}
.delete-file:hover svg {color: var(--clr-text);}
}
/*====================*/
/*  Form Block        */
/*====================*/
.form-block {--space: 0.75rem;}
.form-block .row {--bs-gutter-x: var(--space);--bs-gutter-y: var(--space);}
.form-block > * {margin-bottom: var(--space);}
.form-block > *:last-child {margin-bottom: 0;}
.form-block .btn {margin-top: 0.5rem;}
.form-mini {--clr-grey: #FFF;--gap: 0.75rem;position: relative;border-radius: 0.625rem;background-color: #f3f3f3;padding: var(--sp-sm);}
.form-mini .title {text-transform: initial;}
.form-mini > * + * {margin-top: var(--gap);}
.form-mini > * + .form-block {margin-top: calc(var(--gap) * 3);}