/* General class selectors */
.inline { display: inline; }
.d-block { display: inline-block; }
.d-none { display: none !important; }
.v-visible { visibility: visible !important; }
.v-invisible { visibility: hidden !important; opacity: 0; }
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }
h1.sform,h2.sform,h3.sform,h4.sform,h5.sform,h6.sform { color: inherit; }

/* Text above form */
.sform-introduction { padding: 20px 0 30px 0; clear: both; }

/* Text below form */
.sform-bottom { margin: 0 auto; padding:20px 0 30px 0; clear: both; }

/* Form field group */
.sform-field-group { line-height: 1; padding-bottom: 3px; clear: both; }

/* Field label */
.sform-field-group label { display: block /* inline-block */; margin-bottom: 5px; }
label.sform { font-size: inherit; color: inherit; font-weight: 400; }
label.sform.smaller { font-size: 0.9em; }
label.sform.larger { font-size: 1.1em; }

/* Symbol for required fields */
.required-symbol.mark { color: #dc3545; padding-left: 3px; background-color: transparent; }
.required-symbol.word { color: inherit; padding-left: 3px; font-weight: 300; font-size: 0.8em; font-style: italic; }

/* General form fields */
input.sform-field { width: 100%; margin-bottom: 0; outline: none; font-size: inherit; color: inherit; font-weight: 400; line-height: normal; box-sizing: border-box; -webkit-box-sizing:border-box; -moz-box-sizing: border-box; }
textarea.sform-field { width: 100%; height: auto; outline: none; line-height: 1.5; font-size: inherit; color: inherit; font-weight: 400; box-sizing: border-box; -webkit-box-sizing:border-box; -moz-box-sizing: border-box; }
.half { clear: none; }
.name.half, .email.half { width: 47.5%; float: left; }
.lastname.half, .phone.half { width: 47.5%; float: right; }

/* Stylized form fields */
.default input.sform-field { border-width: 1px; border-color: #ccc; border-style: solid; border-radius: 5px; background-color: #FFF; padding: 10px 16px; }
.basic input.sform-field { border-width: 1px; border-color: #AAA; border-style: solid; border-radius: 0; background-color: #FFF; padding: 10px 32px 10px 16px; }
.rounded input.sform-field { border-width: 1px; border-color: #6c757d; border-style: solid; border-radius: 5px; background-color: #FFF; padding: 10px 32px 10px 16px; }
.minimal input.sform-field { border: none; border-bottom: 2px solid #ccc; border-radius: 0; background-color: transparent; padding: 10px 0; }
.transparent input.sform-field { border-width: 2px; border-color: #333; border-style: solid; border-radius: 0; background-color: transparent; padding: 10px 16px; }
.transparent.light input.sform-field, .transparent.light textarea.sform-field, .transparent.light .checkmark, .transparent.light div.captcha { border-color: #f8f8f8; }
.highlighted input.sform-field { border: none; border-radius: 5px; background-color: #eaeaea; padding: 10px 16px; }
.default textarea.sform-field { border-width: 1px; border-color: #ccc; border-style: solid; border-radius: 5px; background-color: #FFF; padding: 10px 16px; }
.basic textarea.sform-field { border-width: 1px; border-color: #AAA; border-style: solid; border-radius: 0; background-color: #FFF; padding: 10px 32px 10px 16px; }
.rounded textarea.sform-field { border-width: 1px; border-color: #6c757d; border-style: solid; border-radius: 5px; background-color: #FFF; padding: 10px 32px 10px 16px; }
.minimal textarea.sform-field { border: none; border-bottom: 2px solid #ccc; border-radius: 0; background-color: transparent; padding: 10px 0; }
.transparent textarea.sform-field { border-width: 2px; border-color: #333; border-style: solid; border-radius: 0; background-color: transparent; padding: 10px 16px; }
.highlighted textarea.sform-field { border: none; border-radius: 5px; background-color: #eaeaea; padding: 10px 16px; }

/* Consent field */
.sform-field-group.checkbox { margin-top: 20px; position: relative; }
input.checkbox { position: absolute; opacity: 0; height: 1px; width: 1px; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
input.checkbox + label { position: relative; cursor: default; display: inline-block; margin-left: 0; width: 100%; font-size: inherit; box-sizing: border-box; }
input.checkbox + label a { color: inherit; text-decoration: underline; text-decoration-style: dotted; }
.checkmark { position: absolute; cursor: pointer; top: 0; left: 0; height: 34px; width: 34px; }
input.checkbox:checked + label .checkmark:after { display: block; }
.default input.checkbox + label, .minimal input.checkbox + label, .transparent input.checkbox + label, .highlighted input.checkbox + label { padding-left: 50px; line-height: 34px; margin-bottom: 25px; }
.default .checkmark { border-width: 1px; border-color: #ccc; border-style: solid; border-radius: 5px; background-color: #FFF; }
.default .checkmark:after, .minimal .checkmark:after, .transparent .checkmark:after, .highlighted .checkmark:after { left: 10px; top: 5px; width: 12px; height: 18px; border: solid white; border-width: 0 4px 4px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); content: ""; position: absolute; box-sizing: border-box; display: none; }
.default input.checkbox:checked + label .checkmark { border-color: #8bc34a; background-color: #8bc34a; }
.basic .checkmark { border-width: 1px; border-color: #AAA; border-style: solid; border-radius: 0; background-color: #FFF; margin-top: 10px; height: 20px; width: 20px; line-height: 20px; text-align: center; color:#FFF; font-size: 18px; font-weight: 600; }
.basic .checkmark:after { display: none; box-sizing: border-box; }
.basic input.checkbox:checked + label .checkmark { background-color: #007bff; border-color: #007bff; }
.basic input.checkbox:checked + label .checkmark:after { content: "\2713"; display: block; }
.basic input.checkbox + label { padding-left: 30px; margin-top: 10px; margin-bottom: 30px; line-height: 40px; }
.rounded .checkmark { width: 52px; height: 26px; border: none; border-radius: 26px; background-color: #6c757d; }
.rounded .checkmark:after { position: absolute; display: inherit; content: ""; height: 18px; width: 18px; left: 4px; top: 4px; border-radius: 50%; background-color: #FFF; -webkit-transition: .4s; transition: .4s; }
.rounded input.checkbox:checked + label .checkmark { background-color: #8bc34a; }
.rounded input.checkbox:checked + label .checkmark:after { -webkit-transform: translateX(26px); -ms-transform: translateX(26px); transform: translateX(26px); }
.rounded input.checkbox + label { margin-bottom: 22px; line-height: 26px; padding-left: 72px; }
.minimal .checkmark { border-width: 2px; border-color: #ccc; border-style: solid; border-radius: 5px; background-color: transparent; }
.minimal input.checkbox:checked + label .checkmark { border-color: #8bc34a; background-color: #8bc34a; }
.transparent .checkmark { border-width: 2px; border-color: #333; border-style: solid; border-radius: 0; background-color: transparent; }
.transparent input.checkbox:checked + label .checkmark { border-color: #0d6efd; background-color: #0d6efd; }
.highlighted .checkmark { border-width: 1px; border-color: #eaeaea; border-style: solid; border-radius: 5px; background-color: #eaeaea; }
.highlighted input.checkbox:checked + label .checkmark { border-color: #0d6efd; background-color: #0d6efd; }

/* Math captcha field */
div.captcha { width: 200px; height: fit-content; }
input.sform-field.question { width: 110px; height: inherit; cursor: text; border: none; outline: none; display: inline-block; background-color: transparent; padding-right: 0; padding-left: 0; text-align: right; box-shadow: none; }
input.sform-field.captcha { width: 75px; border: none; outline: none; display: inline-block; background-color: transparent; padding-right: 0; padding-left: 5px ; box-shadow: none; }
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { appearance: textfield; -moz-appearance: textfield; -webkit-appearance: textfield; }
.default div.captcha { border-width: 1px; border-color: #ccc; border-style: solid; border-radius: 5px; background-color: #FFF; }
.basic .sform-field-group.checkbox { margin-top: 0; }
.basic div.captcha { border-width: 1px; border-color: #AAA; border-style: solid; border-radius: 0; background-color: #FFF; }
.rounded div.captcha { border-width: 1px; border-color: #6c757d; border-style: solid; border-radius: 5px; background-color: #FFF; }
.minimal div.captcha { border-bottom: 2px solid #ccc; background-color: transparent; }
.transparent div.captcha { border-width: 2px; border-color: #333; border-style: solid; border-radius: 0; background-color: transparent; }
.highlighted div.captcha { border: none; border-radius: 5px; background-color: #eaeaea; }

/* reCaptcha field */
#gcaptcha-wrap, .gcaptcha-wrap { margin: 16px 0 30px; }
.rc-anchor-error-msg-container { letter-spacing:-0.5px; }
.sizelabel { font-size: inherit; margin-bottom: 22px; }
.sizelabel.smaller { font-size: 0.9em; }
.sizelabel.larger { font-size: 1.1em; }

/* Submit field */
.submit-wrap { margin: 22px 0; }
.submit-wrap button.sform { outline: none; font-size: inherit; text-transform: uppercase; font-weight: 600; line-height: 1.25; text-decoration: none; box-shadow: none; padding: 10px 16px; }
.submit-wrap button.sform:hover { box-shadow: none; }
.default .submit-wrap button.sform { border-width: 1px; border-color: #007BFF; border-style: solid; border-radius: 25px; background-color: #007BFF; color: #FFF; cursor: pointer; }
.default .submit-wrap button.sform:hover { color: #007BFF; background-color: #FFF; }
.basic .submit-wrap button.sform { border-width: 1px; border-color: #007bff; border-style: solid; border-radius: 0; background-color: #007bff; color: #FFF; }
.basic .submit-wrap button.sform:hover { border-color: #0062cc; background-color: #0069d9; }
.rounded .submit-wrap button.sform { border-width: 1px; border-color: #6c757d; border-style: solid; border-radius: 50px; background-color: transparent; color: inherit; }
.rounded .submit-wrap button.sform:hover { border-color: #6c757d; color: #FFF; background-color: #6c757d; }
.minimal .submit-wrap button.sform { border-width: 2px; border-color: #007BFF; border-style: solid; border-radius: 5px; background-color: #007BFF; color: #FFF; }
.minimal .submit-wrap button.sform:hover { border-color: #007BFF; color: #007BFF; background-color: #FFF; }
.transparent .submit-wrap button.sform { border-width: 2px; border-color: #333; border-style: solid; border-radius: 0; background-color: #333; color: #FFF; }
.transparent .submit-wrap button.sform:hover { border-color: #0d6efd; color: #FFF; background-color: #0d6efd; }
.highlighted .submit-wrap button.sform { border-width: 1px; border-color: #333; border-style: solid; border-radius: 5px; background-color: #333; color: #FFF; }
.highlighted .submit-wrap button.sform:hover { border-color: #0d6efd; color: #FFF; background-color: #0d6efd; }
.submit-wrap button.smaller { font-size: 0.9em; }
.submit-wrap button.larger { font-size: 1.1em; }
.submit-wrap button:focus { outline: none; }
.submit-wrap button:hover { color: #FFF; background-color: #0d6efd; border-color: #0d6efd; box-shadow: none; }
.submit-wrap.left { text-align: left; }
.submit-wrap.right { text-align: right; }
.submit-wrap.center { text-align: center; }
.submit-wrap.full { text-align: center; }
.submit-wrap button.fullwidth { width: 100%; }

/* Anti-spam fields */
.carrots { opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1; }

/* Invalid fields */
input.sform-field.is-invalid, textarea.sform-field.is-invalid, input.sform-field.is-invalid + label .checkmark, div.captcha.is-invalid { border-color: #dc3545; }
input.sform-field.is-invalid + label .checkmark { background-color: rgb(220 53 69 / 50%); }
.sform-field.is-invalid:focus, div.captcha.is-invalid.focus { box-shadow: none; }
.captcha.is-invalid + .error-des span { display: block; }
label.checkbox.is-invalid { color: #dc3545; }
.basic .sform-field.is-invalid, .rounded .sform-field.is-invalid, .basic div.captcha.is-invalid , .rounded div.captcha.is-invalid { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 5px center; background-size: 1em; }
.basic textarea.sform-field.is-invalid, .rounded textarea.sform-field.is-invalid { background-position: top 14px right 5px; }
.basic input.sform-field.question.is-invalid, .rounded input.sform-field.question.is-invalid, .basic input.sform-field.captcha.is-invalid, .rounded input.sform-field.captcha.is-invalid { background-image: none; }
.rounded input.sform-field.is-invalid + label .checkmark { background-color: #dc3545; }
.highlighted input.sform-field.is-invalid, .highlighted textarea.sform-field.is-invalid, .highlighted input.sform-field.is-invalid + label .checkmark, .highlighted div.captcha.is-invalid { border: none; background-color: #f1abb2; }

/* Fields when focusing */
input:focus, textarea:focus { -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }
.sform-field.captcha:focus { background-color: transparent; box-shadow: none; }
.default input.sform-field:focus, .default textarea.sform-field:focus, .default div.captcha.focus { border-color: #007BFF; background-color: #fafafa; outline: none; }
.default input.sform-field.is-invalid:focus, .default textarea.sform-field.is-invalid:focus, .default div.captcha.is-invalid.focus, .minimal input.sform-field.is-invalid:focus, .minimal textarea.sform-field.is-invalid:focus, .minimal div.captcha.is-invalid.focus { border-color: #dc3545; }
.default input.sform-field.question:focus, .default input.sform-field.captcha:focus, .basic input.sform-field.question:focus, .basic input.sform-field.captcha:focus, .highlighted input.sform-field.question:focus, .highlighted input.sform-field.captcha:focus { background-color: transparent; }
.basic input.sform-field:focus, .rounded input.sform-field:focus, .basic textarea.sform-field:focus, .rounded textarea.sform-field:focus, .basic div.captcha.focus, .rounded div.captcha.focus { border-color: #007bff; box-shadow: 0 0 0 2px rgba(0,123,255,.25); outline: none; }
.basic .sform-field.question:focus, .basic .sform-field.captcha:focus, .basic .sform-field.is-invalid.question:focus, .basic .sform-field.is-invalid.captcha:focus { box-shadow: none; }
.basic input.sform-field.is-invalid:focus, .rounded input.sform-field.is-invalid:focus, .basic textarea.sform-field.is-invalid:focus, .rounded textarea.sform-field.is-invalid:focus, .basic div.captcha.is-invalid.focus, .rounded div.captcha.is-invalid.focus { border-color: #dc3545; box-shadow: 0 0 0 2px rgba(220,53,69,.25); }
.rounded .sform-field.question:focus, .rounded .sform-field.captcha:focus, .rounded .sform-field.is-invalid.question:focus, .rounded .sform-field.is-invalid.captcha:focus { box-shadow: none; }
.minimal input.sform-field:focus, .minimal textarea.sform-field:focus, .minimal div.captcha.focus { border-color: #007BFF; outline: none; box-shadow: none; }
.transparent input.sform-field:focus, .transparent textarea.sform-field:focus, .transparent div.captcha.focus { border-color: #0d6efd; background-color: #E8F0FE; outline: none; box-shadow: none; }
.transparent .sform-field.question:focus, .transparent .sform-field.captcha:focus, .transparent .sform-field.is-invalid.question:focus, .transparent .sform-field.is-invalid.captcha:focus { background-color: transparent; box-shadow: none; }
.transparent input.sform-field.is-invalid:focus, .transparent textarea.sform-field.is-invalid:focus, .transparent div.captcha.is-invalid.focus { border-color: #dc3545; background-color: #f1b1b7; }
.highlighted input.sform-field:focus, .highlighted textarea.sform-field:focus, .highlighted div.captcha.focus { border: none; background-color: rgba(13,110,253,.5); outline: none; box-shadow: none; }
.highlighted input.sform-field.is-invalid:focus, .highlighted textarea.sform-field.is-invalid:focus, .highlighted div.captcha.is-invalid.focus { background-color: #f1abb2; }

/* Error message */
.error-des { line-height: 1; color: #dc3545; font-size: 14px; height: 14px; margin-top: 5px; margin-bottom: 5px; }
.error-des span { display: none; }
.sform-field.is-invalid + .error-des span { display: block; }
.msgoutside { padding: 0 0 5px 0; position: relative; outline: none; }
.msgoutside span { display: block; visibility: hidden; text-align: center; font-size: 16px; padding: 7.5px 12.5px; }
.default .msgoutside span, .transparent .msgoutside span, .highlighted .msgoutside span { border-radius: 5px; background-color: #dc3545; color: #FFF; }
.basic .msgoutside span { border-radius: 0; background-color: #f8d7da; color: #721c24; }
.rounded .msgoutside span { border-radius: 5px; background-color: #dc3545; color: #FFF; opacity: 0.75; }
.minimal .msgoutside span { border-radius: 5px; background-color: #f8d7da; color: #dc3545; }
.noscript { position: absolute; top: 0; width: 100%; }
.msgoutside.top { margin-bottom: 30px; }

/* Confirmation message after ajax submission */
.form.confirmation { text-align: center; padding-top: 50px; outline: none; }
.form.confirmation > img, .form.confirmation > p > img { margin: 30px auto;}
.sform-confirmation { position: relative; outline: 0; }

/* Ajax loading spinner */
.sform.spinner { height: 44px; line-height: 44px; width: 120px; padding: 3px 0; }
.minimal .sform.spinner, .transparent .sform.spinner { height: 46px; line-height: 46px; }
.sform.spinner.left { margin: 0 auto 0 0; }
.sform.spinner.right { margin: 0 0 0 auto; }
.sform.spinner.center { margin: 0 auto; }
.sform.spinner > div { width: 18px; height: 18px; border-radius: 100%; display: inline-block; -webkit-animation: sk-bouncedelay 1.2s infinite ease-in-out both; animation: sk-bouncedelay 1.2s infinite ease-in-out both; margin: 0 3px; }
.default .sform.spinner > div, .minimal .sform.spinner > div, .highlighted .sform.spinner > div { background-color: #007BFF; }
.basic .sform.spinner > div { background-color: #0069d9; }
.rounded .sform.spinner > div { background-color: #6c757d; }
.transparent .sform.spinner > div { background-color: #0d6efd; }
.sform.spinner .bounce1 { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; }
.sform.spinner .bounce2 { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; }
.sform.spinner .bounce3 { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; }
.sform.spinner .bounce4 { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; }
@-webkit-keyframes sk-bouncedelay { 0%, 80%, 100% { -webkit-transform: scale(0) } 40% { -webkit-transform: scale(1.0) } }
@keyframes sk-bouncedelay { 0%, 80%, 100% { -webkit-transform: scale(0); transform: scale(0); } 40% { -webkit-transform: scale(1.0); transform: scale(1.0); } }

/* Two columns layout */
.row { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; clear: right; }
.row .captcha-error { width: 100%; }
.col-sm-10 { position: relative; width: 100%; min-height: 1px; }
.checkbox.col-sm-10, .nolabel.col-sm-10, .msgoutside.col-sm-10, .submit-wrap.col-sm-10 { float: right; }
.row.checkbox { float: right; width: calc(100% - 135px); }
label.sform.col-sm-2 { letter-spacing: -0.05em; }
@media (min-width: 576px) {
.col-sm-10 { -ms-flex: 0 0 calc(100% - 135px); flex: 0 0 calc(100% - 135px); max-width: calc(100% - 135px); }
.col-sm-2 { -ms-flex: 135px; flex: 135px; max-width: 135px; line-height: 41px; padding-right: 15px; }
}
@media (max-width: 575px) {
.col-sm-10 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
.col-sm-2 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
}
@media (max-width: 1023px) {
.name.half, .email.half { width: 100%; float: left; }
.lastname.half, .phone.half { width: 100%; float: right; }
}

/* RTL direction */
.sform-introduction.rtl, .sform-bottom.rtl, form.sform.rtl { direction: rtl; }
.rtl .sform-field-group label span { display: inline-block; padding-right: 5px; padding-left: 0; }
.rtl .lastname.half, .rtl .phone.half { float: left; }
.rtl .name.half, .rtl .email.half { float: right; }
.rtl .row { clear: left; }
.rtl .checkbox.col-sm-10, .rtl .nolabel.col-sm-10 { float: left; }
.rtl .checkmark { right: 0; }
.rtl label.sform.checkbox:before { right: 0; }
.rtl.basic label.sform.checkbox { padding-right: 35px; padding-left: 0; }
.rtl.rounded label.sform.checkbox { padding-right: 72px; padding-left: 0; }
.rtl.basic input.sform-field, .rtl.rounded input.sform-field, .rtl.basic textarea.sform-field, .rtl.rounded textarea.sform-field { padding: 10px 16px 10px 32px; }
.rtl.basic input.sform-field.is-invalid, .rtl.rounded input.sform-field.is-invalid, .rtl.basic div.captcha.is-invalid, .rtl.rounded div.captcha.is-invalid { background-position: left 5px center; }
.rtl.basic textarea.sform-field.is-invalid, .rtl.rounded textarea.sform-field.is-invalid { background-position: top 14px left 5px; }
.rtl .sform-field.question { text-align: left; padding-left: 0; }
.rtl .sform-field.captcha { padding-right: 5px; }
.rtl.basic input.sform-field.question, .rtl.rounded input.sform-field.question { padding-right: 0; padding-left: 0; }
.rtl.basic input.sform-field.captcha, .rtl.rounded input.sform-field.captcha { padding-right: 5px; padding-left: 32px; }
.rtl .captcha-error.row { padding-right: 135px; }
.rtl .error-des span { text-align: right; }
.rtl .msgoutside, .rtl .submit-wrap { float: left; width: 100%; }
.rtl .sform-field-group .col-sm-2 { padding-right: 0; }
.rtl label.checkbox span { padding-left: 0; padding-right: 0; }
.rtl label.checkbox span.required-symbol { padding-right: 5px; }
.rtl .sform-field-group label span.d-none { display: none; }
.rtl label.checkbox { margin-right: 0; padding-right: 50px; padding-left: 0; }
.rtl .sform-field-group label { text-align: right; }
.rtl .row.checkbox { float: left; }

.form-wrap.success { text-align: center; background-color: inherit !important; }

/* SimpleForm Admin Notice */
#sform-admin-message { font-size: 0.8em; border: 1px solid; margin-top: 20px; padding: 20px 15px; height: -webkit-fit-content; height: -moz-fit-content; height: fit-content; }
#sform-admin-message p.heading { font-weight: 600; margin-bottom: 10px; }
