form.nForms {
    max-width:1400px;
    margin:2em auto;
    --nf-br:0;
    --nf-border-color:var(--border-input, #7d7d7d);
    --nf-color-input:var(--color-input, #000);
    --nf-input-font:var(--font-weight-input, normal) var(--font-size-input, 1em) var(--font-family-input, inherit), serif, system-ui;
    --nf-submit-bck:var(--background-submit, #3180e5);
    --nf-submit-col:#fff;
    --nf-submit-radius:4px;
    --nf-submit-border:1px solid var(--nf-submit-bck);
    --nf-submit-font:var(--font-weight-submit, 600) 1em var(--font-family-input, inherit), serif, system-ui;

    --nf-checkbox-color:var(--nf-border-color);
    --nf-checkbox-border:2px solid var(--nf-checkbox-color);

    --nf-border-area-error:#c42525;
    --nf-background-area-error:#ffc0c0;
    --nf-color-area-error:#c42525;

    --nf-color-error:red;
    --nf-color-req-marker:#b2b2b2;/* #c42525 */
    --nf-font-req-marker:bold 14px/1 monospace;

    --nf-plh-color:silver;
    --nf-plh-color-on:var(--nf-border-color);
}

form.nForms {
display: grid;
grid-gap: 24px 24px;
grid-template-columns: repeat(2, 1fr);
}

form.nForms .nf-groups_line:nth-child(1){
grid-area: 1 / 1 / 2 / 2;
}
form.nForms .nf-groups_line:nth-child(2){
grid-area: 1 / 2 / 2 / 3;
}
form.nForms .nf-groups_line:nth-child(3){
grid-area: 2 / 1 / 3 / 3;
}
form.nForms .nf-groups_line:nth-child(4){
grid-area: 3 / 1 / 4 / 3;
}
form.nForms .nf-groups_line:nth-child(5){
grid-area: 4 / 1 / 5 / 3;
}
form.nForms .nf-groups_line:nth-child(2) div{
height: 100%;
}
form.nForms .nf-groups_line:nth-child(2) label{
height: 100%;
display: flex;
flex-direction: column;
}
form.nForms .nf-groups_line:nth-child(2) label .nf-field-input{
flex: 1;
}
form.nForms .nf-groups_line:nth-child(2) label .nf-field-input textarea{
height: 100%;
}

form.nForms .nf-groups_line:nth-child(1) .nf-elements_line:last-child{
margin-bottom: 0;
}

.content-text .nForms li::before {content:none;}
.content-text .nForms p,
.content-text .nForms ul,
.content-text .nForms li,
.content-text .nForms ol {all:revert;padding:0;margin:0;}
.nForms .title-nForms {font-weight:bold;font-size:1.5em;margin-bottom:1em;}
.nForms .nf-group.hide {display:none;}
.nForms .nf-group>header {margin-bottom:.5em;font-size:1.4em;font-weight:600;}
.nForms .nf-elements_line,
.nForms .nf-groups_line {display:flex;gap:10px;align-items:start;}

.nForms .nf-elements_line{margin-bottom: 12px}

.nForms .nf-elements_line+.nf-elements_line,
.nForms .nf-groups_line+.nf-groups_line {}
.nForms .nf-elements_line>*,
.nForms .nf-groups_line>* {flex:1 0;}
.nForms input.nf-text,
.nForms select,
.nForms textarea {
    font:var(--nf-input-font);
    width:100%;
    box-sizing:border-box;
    color:var(--nf-color-input);
    outline:none;
    padding:12px 10px 12px 24px;
    border:1px solid var(--nf-border-color);
    border-radius:var(--nf-br);
background-color: #FBF8F4;

border-width: 0 0 2px 0;

}

.nForms.plh input.nf-text,
.nForms .nf-field-input:has(button.show-password) input.nf-text,
.nForms.plh select,
.nForms.plh textarea {
    border-radius:0;
    border:none;
    padding-inline:4px;
}

.nForms .nf-field-title {margin-bottom:1px;display:block;font-weight:400;font-size: 12px;text-transform: uppercase;color: var(--g1-color);padding-left: 24px}

.nForms select {background-color:#fff;}
.nForms textarea {resize:vertical;overflow:auto;}
.nForms textarea[rows] {height:auto !important;}

.nForms .select-styled:has(>svg),
.nForms .select-styled[data-placeholder] {display:block;position:relative;z-index:0;}
.nForms .select-styled svg {pointer-events:none;position:absolute;width:20px;height:20px;right:0;top:0;bottom:0;margin-block:auto;vertical-align:top;}
.nForms .select-styled select {appearance:none}
.nForms .select-styled[data-title] select {padding-block:24px 5px;}
.nForms .select-styled[data-title]::before {content:attr(data-title);position:absolute;top:5px;left:5px;font-size:12px;background-color:#fff;color:var(--nf-plh-color-on);}


.nForms [type="submit"]{
display:inline-block;transition:all 0.5s ease;
background-color:transparent;
border:2px solid var(--g1-color);
color:var(--g1-color);font-size:20px;padding:8px 24px;position:relative;border-radius:6px;font-weight:700;
cursor: pointer;
font:var(--nf-submit-font);
font-family: var(--gfont1-family);
}

.nForms [type="submit"]:hover{
background-color: var(--g1-color);
color: #FFFFFF;
}

.nForms [type="submit"]:after {
content: "";
transition: all 0.5s ease-out 0s;
display: inline-block;
margin-left: 8px;
width: 20px;
height: 14px;
background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyMCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5LjU3NSA2LjU3NDlDMTkuNTc1IDYuNzA4MjMgMTkuNTUgNi44MzMyMyAxOS41IDYuOTQ5OUMxOS40NSA3LjA2NjU3IDE5LjM3NSA3LjE3NDkgMTkuMjc1IDcuMjc0OUwxMy43IDEyLjg3NDlDMTMuNTE2NyAxMy4wNTgyIDEzLjI4MzMgMTMuMTQ5OSAxMyAxMy4xNDk5QzEyLjcxNjcgMTMuMTQ5OSAxMi40NzUgMTMuMDU4MiAxMi4yNzUgMTIuODc0OUMxMi4wNzUgMTIuNjc0OSAxMS45NzUgMTIuNDM3MiAxMS45NzUgMTIuMTYxOUMxMS45NzUgMTEuODg2NiAxMi4wNzUgMTEuNjQ5MiAxMi4yNzUgMTEuNDQ5OUwxNi4xNzUgNy41NzQ5TDEwIDcuNTc0OUM5LjcxNjY4IDcuNTc0OSA5LjQ3OTM1IDcuNDc4OSA5LjI4ODAxIDcuMjg2OUM5LjA5NjY4IDcuMDk0OSA5LjAwMDY4IDYuODU3NTcgOS4wMDAwMSA2LjU3NDlDOC45OTkzNSA2LjI5MjI0IDkuMDk1MzUgNi4wNTQ1NyA5LjI4ODAxIDUuODYxOUM5LjQ4MDY4IDUuNjY5MjQgOS43MTgwMSA1LjU3MzU3IDEwIDUuNTc0OUwxNi4xNzUgNS41NzQ5TDEyLjI3NSAxLjY3NDlDMTIuMDkxNyAxLjQ5MTU3IDEyIDEuMjYyMjQgMTIgMC45ODY5MDNDMTIgMC43MTE1NjkgMTIuMSAwLjQ3NDIzNiAxMi4zIDAuMjc0OTAzQzEyLjQ4MzMgMC4wOTE1Njk0IDEyLjcxNjcgLTkuODc4NDNlLTA1IDEzIC05Ljg3OTY3ZS0wNUMxMy4yODMzIC05Ljg4MDkxZS0wNSAxMy41MTY3IDAuMDkxNTY5MyAxMy43IDAuMjc0OTAzTDE5LjI3NSA1Ljg3NDlDMTkuMzc1IDUuOTc0OSAxOS40NSA2LjA4MzIzIDE5LjUgNi4xOTk5QzE5LjU1IDYuMzE2NTcgMTkuNTc1IDYuNDQxNTcgMTkuNTc1IDYuNTc0OVpNNy4wMDAwMSA2LjU3NDlDNy4wMDAwMSA2Ljg1ODI0IDYuOTA0MzUgNy4wOTU1NyA2LjcxMzAxIDcuMjg2OUM2LjUyMTY4IDcuNDc4MjQgNi4yODQwMSA3LjU3NDI0IDYuMDAwMDEgNy41NzQ5TDUuMDAwMDEgNy41NzQ5QzQuNzE2NjggNy41NzQ5IDQuNDc5MzUgNy40Nzg5IDQuMjg4MDEgNy4yODY5QzQuMDk2NjggNy4wOTQ5IDQuMDAwNjggNi44NTc1NyA0LjAwMDAxIDYuNTc0OUMzLjk5OTM1IDYuMjkyMjQgNC4wOTUzNSA2LjA1NDU3IDQuMjg4MDEgNS44NjE5QzQuNDgwNjggNS42NjkyNCA0LjcxODAxIDUuNTczNTcgNS4wMDAwMSA1LjU3NDlMNi4wMDAwMSA1LjU3NDlDNi4yODMzNSA1LjU3NDkgNi41MjEwMSA1LjY3MDkgNi43MTMwMSA1Ljg2MjlDNi45MDUwMSA2LjA1NDkgNy4wMDA2OCA2LjI5MjI0IDcuMDAwMDEgNi41NzQ5Wk0yLjAwMDAxIDYuNTc0OUMyLjAwMDAxIDYuODU4MjQgMS45MDQzNSA3LjA5NTU3IDEuNzEzMDEgNy4yODY5QzEuNTIxNjggNy40NzgyNCAxLjI4NDAxIDcuNTc0MjQgMS4wMDAwMSA3LjU3NDlDMC43MTYwMTMgNy41NzU1NyAwLjQ3ODY4IDcuNDc5NTcgMC4yODgwMTMgNy4yODY5QzAuMDk3MzQ2NyA3LjA5NDI0IDAuMDAxMzQ2NzYgNi44NTY5IDEuMzQxMTJlLTA1IDYuNTc0OUMtMC4wMDEzMTk5MyA2LjI5MjkgMC4wOTQ2Nzk5IDYuMDU1MjQgMC4yODgwMTMgNS44NjE5QzAuNDgxMzQ3IDUuNjY4NTcgMC43MTg2OCA1LjU3MjkgMS4wMDAwMSA1LjU3NDlDMS4yODEzNSA1LjU3NjkgMS41MTkwMSA1LjY3MjkgMS43MTMwMSA1Ljg2MjlDMS45MDcwMSA2LjA1MjkgMi4wMDI2OCA2LjI5MDI0IDIuMDAwMDEgNi41NzQ5WiIgZmlsbD0iIzAwMEYzNSIvPgo8L3N2Zz4K') 50% 50% no-repeat;
}
.nForms [type="submit"]:hover:after {
filter: brightness(0) invert(100%);
}

/*
.nForms [type="submit"] {
    transition:all .2s;
    cursor:pointer;
    border:var(--nf-submit-border);
    background-color:var(--nf-submit-bck);
    color:var(--nf-submit-col);
    border-radius:var(--nf-submit-radius);
    outline:none;
    font:var(--nf-submit-font);
    padding:.8em 1.5em;
}
.nForms [type="submit"]:hover {
    background-color:var(--nf-submit-col);
    color:var(--nf-submit-bck);
}
*/

.nForms .nf-field-desc {font-size:.8em;color:#8c8c8c;}
.nForms .nf-field-wrap+.nf-field-desc {margin-top:1px;font-style:italic;}
.nForms .nf-field-error {font-size:.8em;color:var(--nf-color-error);}
.nForms .nf-field-error:empty {display:none;}
.nForms .nf-field-wrap {position:relative;z-index:0;}
.nForms .nf-field-input {display:block;position:relative;z-index:0;}
.nForms label:not(.label) {display:block;}
.nForms.plh .nf-field-wrap,
.nForms:not(.plh) .nf-field-input:has(button.show-password) {border-radius:var(--nf-br);border:1px solid var(--nf-border-color);padding-inline:var(--nf-br);}
.nForms.plh .nf-field-wrap:has([data-placeholder]) {background-color:#fff;}

.nForms .nf-field-input:has(button.show-password) {display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center;}
.nForms button.show-password {cursor:pointer;border:none;outline:none;background:transparent;display:flex;place-items:center;}
.nForms button.show-password>svg {fill:#c8c8c8;aspect-ratio:1;width:20px;}
.nForms button.show-password:hover>svg {fill:#959595;}
.nForms button.show-password:not(.show)>svg:first-child {display:none;}
.nForms button.show-password.show>svg:last-child {display:none;}

.nForms.plh .nf-field-wrap.error,
.nForms:not(.plh) .nf-field-input:has(button.show-password) {border-color:red;}
.nForms .nf-field-wrap.req .nf-field-input:not(.select-styled)::after {content:'*';right:var(--nf-br);top:0;bottom:0;color:var(--nf-color-req-marker);position:absolute;z-index:1;pointer-events:none;height:15px;aspect-ratio:1;display:block;margin-block:auto;text-align:center;font:var(--nf-font-req-marker);}
.nForms.plh .nf-field-wrap.req .nf-field-input:not(.select-styled)::after {right:0;}
.nForms .nf-field-wrap.req:has(button.show-password) .nf-field-input::after{right:30px;}
.nForms.plh .nf-field-wrap.req:has(button.show-password) .nf-field-input::after{right:25px;}
.nForms .nf-field-wrap.req .nf-field-input:has(textarea)::after {bottom:auto;top:10px;}

/* checkbox */
.nForms .nf-element:has(>.nf-chb-wrap),
.nForms .nf-element:has(>.nf-checkbox-list) {container:nf-checkbox-list / inline-size;padding:1em 10px;border-radius:var(--nf-br);box-sizing:border-box;max-width:100%;}
.nForms .nf-element:has(>.nf-chb-wrap.req) {display:grid;grid-template-columns:1fr auto;gap:10px;}
.nForms .nf-element:has(>.nf-chb-wrap.req)::after,
.nForms .nf-checkbox-list.req header::after {content:"*";color:var(--nf-color-req-marker);font:var(--nf-font-req-marker);}
.nForms .nf-chb-wrap.req+.nf-field-error {order:1;}
.nForms .nf-chb-wrap {display:grid;grid-template-columns:auto 1fr;gap:2px 10px;}
.nForms .nf-chb-wrap .label {display:grid;grid-template-columns:subgrid;grid-column:span 2;}
.nForms .nf-chb-wrap label.label {cursor:pointer;}
.nForms .nf-chb-wrap.rodo .label {font-size:14px;}
.nForms .nf-chb-wrap .nf-field-desc {font-size:.8em;grid-column-start:2;color:#8c8c8c;}
.nForms .nf-checkbox-list header {margin-bottom:15px;}
.nForms .nf-checkbox-list.req header {display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center;}
.nForms .nf-checkbox-list .nf-field-desc {margin-block:-10px 15px;}
.nForms .nf-chb-wrap-list {display:flex;flex-wrap:wrap;gap:5px 10px;}
.nForms .nf-chb-wrap-list>.nf-chb-wrap {flex:0 0 auto;gap:2px 5px;}
.nForms input.nf-checkbox {background-color:#fff;cursor:pointer;display:inline-block;appearance:none;width:18px;aspect-ratio:1;border:var(--nf-checkbox-border);border-radius:2px;box-sizing:border-box;position:relative;z-index:0;}
.nForms input.nf-checkbox::after {content:'';position:absolute;z-index:0;inset:2px;transform:scale(0);opacity:0;background-color:var(--nf-checkbox-color);transition:opacity 0s linear 50ms, transform 50ms;}
.nForms input.nf-checkbox:checked::after {transform:scale(1);opacity:1;transition:transform 50ms;}
.nForms input.nf-checkbox.shift {aspect-ratio:5/3;width:40px;border-radius:2em;border:2px solid #b3b3b3;background-color:#e3e3e3;transition:all 100ms;}
.nForms input.nf-checkbox.shift::after {inset:2px auto 2px 2px;aspect-ratio:1;border-radius:50%;transform:none;opacity:1;background-color:#b3b3b3;transition:all 100ms;}
.nForms input.nf-checkbox.shift:checked {border-color:var(--nf-checkbox-color);background-color:var(--nf-checkbox-color);}
.nForms input.nf-checkbox.shift:checked::after {left:calc(100% - 18px);border-color:var(--nf-checkbox-color);background-color:#fff;}

.nForms input.nf-radio {background-color:#fff;cursor:pointer;display:inline-block;appearance:none;width:20px;aspect-ratio:1;border:var(--nf-checkbox-border);border-radius:50%;box-sizing:border-box;position:relative;z-index:0;}
.nForms input.nf-radio::after {content:'';position:absolute;z-index:0;inset:2px;transform:scale(0);opacity:0;background-color:var(--nf-checkbox-color);transition:opacity 0s linear 50ms, transform 50ms;border-radius:50%;}
.nForms input.nf-radio:checked::after {transform:scale(1);opacity:1;transition:transform 50ms;}


.nForms .nf-element.radioButton .nf-title{
font-size: 14px;
}


@container nf-checkbox-list (width < 400px) {
    .nf-chb-wrap-list {flex-direction:column;}
}

/* EOT - checkbox */

.nForms [data-placeholder] {border:none !important;box-shadow:none !important;}
.nForms [data-placeholder].required::before {content:none;}
.nForms [data-placeholder]::after {left:4px;}
.nForms [data-placeholder] {
    padding-inline:0 !important;
    input.nf-text, select, textarea {padding-block: 22px 5px;}
}
.nForms.plh .nf-field-wrap.error [data-placeholder]:has(input:not(:placeholder-shown),input:focus)::after {color:red;}

.nf-upload {container:nf-upload / inline-size;background-color:#f7f7f7;padding:1em 10px;border-radius:var(--nf-br);box-sizing:border-box;max-width:100%;border:2px dashed #e8e8e8;}
.nf-upload.is-dragover {background-color:#f9fcff;border-color:#87bcfa;}

.nf-upload>header {margin-bottom:15px;font-size:1.2em;}
.nf-upload.required>header {display:grid;grid-template-columns:1fr auto;gap:10px;}
.nf-upload.required>header::after {content:'*';color:var(--nf-color-req-marker);pointer-events:none;font:var(--nf-font-req-marker);}
.nf-upload>header+.nf-field-desc {margin-block:-10px 15px;}
.nf-upload-area input[type="file"] {visibility:hidden;position:absolute;}
.nf-add-file {display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;}
.nForms .nf-upload ul {list-style:none;display:flex;gap:10px;flex-wrap:wrap;}
.nForms .nf-upload li {flex:0 0 auto;box-sizing:border-box;width:120px;}
.nf-upload li header {position:absolute;z-index:0;display:grid;inset:2px 2px auto;grid-template-columns:1fr auto;gap:2px;align-items:center;}
.nf-upload li header .ipw {position:relative;z-index:0;border:var(--nf-submit-border);background-color:#fff;overflow:hidden;}
.nf-upload li header .ipw.hide {visibility:hidden;}
.nf-upload li header .ipw span {overflow:hidden;width:0;background-color:var(--nf-border-color);height:5px;display:block;}
.nf-upload li header button {all:revert;margin:0;padding:0;color:#ee0909;border:1px solid currentColor;outline:none;cursor:pointer;font-size:16px;font-weight:bold;background-color:rgba(255, 255, 255, 0.5);line-height:1;border-radius:50%;width:20px;aspect-ratio:1;}
.nf-upload li header button:hover {color:#9e0404;background-color:#fff;}
.nf-upload li>div {border:1px solid var(--background-submit);border-radius:4px;background-color:#fff;position:relative;z-index:0;margin-bottom:2px;aspect-ratio:1;overflow:hidden;}
.nf-upload li>div:has(svg) {display:grid;align-items:center;justify-content:center;}
.nf-upload li.load>div::before {content:'';position:absolute;z-index:2;inset:0;width:25px;aspect-ratio:1;border-radius:50%;margin:auto;box-sizing:border-box;border-color:var(--nf-submit-bck) transparent var(--nf-submit-bck) var(--nf-submit-bck);border-width:2px;border-style:solid;animation:rotate .4s linear infinite;}
.nf-upload li.load>div::after {content:'';position:absolute;z-index:1;inset:0;background-color:#fff;}
.nf-upload li>div img {width:100%;height:100%;object-fit:cover;max-width:none;max-height:none;}
@keyframes rotate { 100% {transform: rotate(360deg);} }
.nf-upload li>div svg {fill:#dbdbdb;width:30px;}
.nf-upload ul footer {display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;white-space:nowrap;font-size:13px;}
.nf-upload ul footer .name {overflow:hidden;text-overflow:ellipsis;text-align:right;}
.nf-upload .nf-upload-error {font-size:13px;margin-top:1em;padding:10px;border-radius:4px;border:1px solid var(--nf-border-area-error);background-color:var(--nf-background-area-error);color:var(--nf-color-area-error)}
.nf-upload .nf-upload-error:empty {display:none;}
.nf-upload .nf-field-error {margin-top:1em;}

.nf-message {display:grid;grid-template-columns:auto 1fr;gap:1em;align-items:center;margin-bottom:1em;padding:1.5em 1em;background-color:#72c344;border:2px solid #3b7b17;color:#193509;font-weight:600;border-radius:6px;}
.nf-message svg {fill:currentColor;align-self:start;}
.nf-message.error {border-color:var(--nf-border-area-error);color:var(--nf-color-area-error);background-color:var(--nf-background-area-error)}

.nForms .nf-element.submit.right {text-align:right;}
.nForms .nf-element.submit.justify [type="submit"] {width:100%;box-sizing:border-box;}

.nf-element.token:has(>.nf-token-wrap) {container:nf-token-wrap / inline-size;}
.nf-token-wrap {display:grid;grid-template-columns:211px auto 1fr;gap:5px;align-items:center;}
.nf-token-wrap button[type="button"] {font:var(--nf-input-font);place-self:normal start;background-color:#f7f7f7;border:1px solid #e8e8e8;border-radius:6px;color:var(--nf-border-color);place-items:center;padding:5px;display:grid;grid-template-columns:auto auto;gap:5px;cursor:pointer;outline:none;}
.nf-token-wrap button[type="button"] svg {width:25px;height:25px;vertical-align:top;fill:currentColor}
.nf-token-wrap>span {overflow:hidden;width:211px;aspect-ratio:3.459;position:relative;z-index:0;border:1px solid var(--nf-border-color);border-radius:4px;}
.nf-token-wrap>span.load::before {content:'';position:absolute;z-index:2;inset:0;width:25px;aspect-ratio:1;border-radius:50%;margin:auto;box-sizing:border-box;border-color:var(--nf-submit-bck) transparent var(--nf-submit-bck) var(--nf-submit-bck);border-width:2px;border-style:solid;animation:rotate .4s linear infinite;}
.nf-token-wrap>span img {vertical-align:top;width:100%;height:100%;object-fit:cover;}
.nf-token-wrap>span.load img {opacity:0;}
.nf-token-wrap>.nf-field-error {grid-column:span 3;}


@media screen and (max-width:830px){
form.nForms {grid-template-columns: 1fr;}


form.nForms .nf-groups_line:nth-child(1){ grid-area: 1 / 1 / 2 / 2; }
form.nForms .nf-groups_line:nth-child(2){ grid-area: 2 / 1 / 3 / 2; }
form.nForms .nf-groups_line:nth-child(3){ grid-area: 3 / 1 / 4 / 2; }
form.nForms .nf-groups_line:nth-child(4){ grid-area: 4 / 1 / 5 / 2; }

}

@container nf-token-wrap (width < 500px) {
    .nf-token-wrap {grid-template-columns:211px auto}
    .nf-token-wrap>.nf-field-wrap {grid-column:span 2;}
    .nf-token-wrap>.nf-field-error {grid-column:span 2;}
}
@container nf-upload (width < 500px) {
    .nf-add-file {grid-template-columns:auto;}
}