
.venet-form { position:relative; margin-left:auto; margin-right:auto; }
.venet-form .form-fields { display:flex; flex-wrap: wrap; margin:0 -12px; }
.venet-form .form-row { width:100%; padding:0 12px; }
.venet-form .form-row.form-col-50 { width:50%; }
.venet-form .form-row.form-col-33 { width:33.3333%; }
.venet-form .form-row.form-col-25 { width:25%; }

.venet-form .form-field { position:relative; margin:12px 0; }
.venet-form .form-field label { font-size: 17px; line-height: normal; margin: 0 0 1px 0; }
.venet-form .form-row:not(.form-checkbox) .form-field label { white-space:nowrap; }
.venet-form .form-row:not(.form-checkbox) .form-field[data-required="required"] label:after, .venet-form .form-checkbox  .form-field[data-required="required"] .text:after { content:'*'; color:currentColor; font-weight: 400; font-size: 82%; line-height: normal; padding-left: 2px; }
.venet-form .error-text { display:none; } 
.venet-form .form-row:not(.form-checkbox) .form-field .error-text { position:absolute; bottom:0; right:0; left:0; }
.venet-form .form-field .error-text > span { position: absolute; top:1px; right: 0; color: #d00; font-size:68%; font-weight: 400; line-height: normal; }
.venet-form .form-checkbox .error-text { color: #d00; font-size: 80%; font-weight: 400; line-height: normal; }
.venet-form .form-field.form-error  .error-text { display:inline-block; }

.venet-form .form-checkbox label { display:inline-flex !important; align-items: flex-start; width:auto; cursor:pointer; line-height: normal !important; }
.venet-form .form-checkbox input { margin-right: 10px; cursor:pointer; }
.venet-form .form-checkbox .space { width:180px; }
.venet-form .form-checkbox span { white-space:normal; } 
.venet-form .form-send { display: flex; justify-content: flex-end; padding:0; }
.venet-form .form-send button { margin:12px 0 0 0; }

.venet-form .form-checkbox input { position: absolute; top: 0; left: 0; height: 0; opacity: 0; }
.venet-form .form-checkbox .checkmark { position:relative; height: 21px; min-height:21px; width: 21px; min-width:21px; margin-right:12px; background-color: #fff; border:1px solid #aaa; border-radius: 4px; }
.venet-form .form-checkbox .checkmark:after { position: absolute; top: -7px; left: -7px; right: -7px; bottom: -7px; display: flex; justify-content: center; align-items: center; margin: 0 0 6px 3px; background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" style="fill:%232e2e2e;"><path d="M0 11c2.761.575 6.312 1.688 9 3.438 3.157-4.23 8.828-8.187 15-11.438-5.861 5.775-10.711 12.328-14 18.917-2.651-3.766-5.547-7.271-10-10.917z"/></svg>'); background-repeat: no-repeat; background-position: center; background-size: contain; }
.venet-form .form-checkbox input:checked ~ .checkmark:after { content:''; }



.form_over { display:none; position:absolute; top:-20px; bottom:-20px; left:-20px; right:-20px; backdrop-filter:blur(10px); justify-content:center; align-items:center; flex-direction:column; font-weight:500; }
.form_over > div.result { text-align:center; }
.form_over.sending, .venet-form > .form_over.send { display:flex; }
.form_over.sending > div.loading { display:block; background-position: center; }
.form_over.sending > div.result { display:none !important; }
.form_over:not(.sending) > div.loading { display:none; }
.form_over:not(.sending) > div.result { display:block; }
.venet-form.tmpl-line .form_over > div.result, .venet-form.tmpl-line .form_over .fo_out { display: flex; gap: 30px; align-items: center; padding: 0 !important; }

.venet-form:not(.tmpl-3) .form-field.form-error input[type="text"], .venet-form:not(.tmpl-3) .form-field.form-error input[type="email"], .venet-form:not(.tmpl-3) .form-field.form-error input[type="password"],
.venet-form:not(.tmpl-3) .form-field.form-error textarea, .venet-form:not(.tmpl-3) .form-field.form-error .select2-container .select2-selection { border:1px solid #d00; }
.form-checkbox .form-field.form-error  .error-text { display:inline-block; }

/* PLACEHOLDERS */
::-webkit-input-placeholder { color:#666; opacity:.5; font-weight:300; }
:-moz-placeholder { color:#666; opacity:.5; font-weight:300; }
::-moz-placeholder { color:#666; opacity:.5; font-weight:300; }
:-ms-input-placeholder { color:#666; opacity:.5; font-weight:300; }
::-ms-input-placeholder { color:#666; opacity:.5; font-weight:300; }
::placeholder { color:#666; opacity:.5; font-weight:300; }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color:#666; opacity:.5; font-weight:300; }

/* SIZES */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], textarea, select,
.select2-container .select2-selection--single { width:100%; height:36px; padding: 0 6px; margin:0; }
textarea { min-height: 80px; resize: vertical; padding-top:6px; padding-bottom:6px; }

/* FONTS */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], textarea, select,
.select2-container--default .select2-selection--single .select2-selection__rendered { font-family:inherit; font-weight: 500; font-size:18px; line-height: normal; color:#000; }
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], textarea, select,
.select2-container .select2-selection--single { background-color: #fcfcfc; border: 1px solid #999; border-radius: 3px; transition:all .15s ease-in-out; }

/*

CHECK IF CLASSIC INPUT FIELD

input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="tel"]:focus, textarea:focus, select:focus,
.select2-container .select2-selection--single:focus { background-color: #fff; border: 1px solid #333; }*/

/* SELECT2 STYLES */
.select2-container .select2-selection--single { display: flex; justify-content: flex-start; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding:0; height: 100%; display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: auto; width: 24px; bottom: 1px; }
.select2-results__options .select2-results__option, .select2-results__options .select2-results__option--highlighted[aria-selected] { color:#000; background-color:#fcfcfc; font-size:inherit; font-weight:400; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color:#fcfcfc; }
.select2-results__options .select2-results__option:hover { color:#fcfcfc; background-color:#000; font-size:inherit; font-weight:400; }
.select2-dropdown { border:1px solid #666; }


/* STYLES */

.venet-form.tmpl-1 .form-field { display: flex; flex-direction: row-reverse; }
.venet-form.tmpl-1 .form-row:not(.form-checkbox) .form-field label { min-width: 160px; display: flex; align-items: center; justify-content: flex-end; padding-right: 10px; }
.venet-form.tmpl-1 .form-row.form-textarea label { height:36px; }

.venet-form.tmpl-2 .form-field { display: flex; flex-direction: column-reverse; }

.venet-form.tmpl-3 .form-select label { display:none; }
.venet-form.tmpl-3 .form-text label, .venet-form.tmpl-3 .form-textarea label { min-width:unset; font-size: 18px; font-weight:400; line-height: normal; letter-spacing:.3px; position: absolute; top:10px; left: 0; color:#777; pointer-events: none; transform-origin: left center; transition:all .25s ease-in-out; }
.venet-form.tmpl-3 .form-textarea label { top:15px; }
.venet-form.tmpl-3 .form-typing { font-family:inherit; font-size: 18px; font-weight:400; line-height: normal; letter-spacing:.2px; width: 100%; padding: 6px 30px 3px 0; margin:0; color:inherit; border: none; background-color: transparent; border-radius: initial; }
.venet-form.tmpl-3 .form-textarea textarea { margin-top: 8px; padding-top: 8px; padding-bottom: 8px; }
.venet-form.tmpl-3 span.line { position:absolute; bottom:0; left:0; height:1px; width:100%; background-color:#ddd; pointer-events:none; }
.venet-form.tmpl-3 span.line:before { content:''; position:absolute; top:0; left:0; height:100%; width:0; background-color:var(--linkcolor); transition:width .45s ease-in-out; }
.venet-form.tmpl-3 .form-typing::placeholder { opacity:0; }
.venet-form.tmpl-3 .form-typing:focus + label, .venet-form.tmpl-3 .form-typing:not(:placeholder-shown) + label { transform: translateY(-100%) scale(0.75); color:#666; left:0; color:currentColor; }
.venet-form.tmpl-3 .form-typing:hover ~ span.line:before,
.venet-form.tmpl-3 .form-typing:focus ~ span.line:before,
.venet-form.tmpl-3 .form-typing:not(:placeholder-shown) ~ span.line:before { width:100%; }


.venet-form.tmpl-line .form-fields { display: grid; grid-template-columns: 1fr 1fr auto; }
.venet-form.tmpl-line .form-row { width:100% !important; }
.venet-form.tmpl-line .form-field { margin:0; }
.venet-form.tmpl-line .form-send div, .venet-form.tmpl-line .form-send button { height:100%; }
.venet-form.tmpl-line .form-gdpr { order: 999999999; grid-column: span 3; margin-top: 20px; }



@media all and (max-width:575px) {
	 .form_over { backdrop-filter:blur(10px); }
	.venet-form.tmpl-line .form-fields { grid-template-columns: 1fr; grid-template-rows: 50px 60px 37px; }
	.venet-form.tmpl-line .form_over > div, .venet-form.tmpl-line .form_over .fo_out { flex-direction: column; gap:15px; }
	.form_over { top: -10px; bottom: -10px; left: -10px; right: -10px; }
	input[type="text"], input[type="email"], input[type="password"], input[type="tel"], textarea, select, .select2-container--default .select2-selection--single .select2-selection__rendered { font-size: 16px; }
	input[type="text"], input[type="email"], input[type="password"], input[type="tel"], textarea, select, .select2-container .select2-selection--single { height: 30px; }
}