/**
 * CMSXL and Application User Interface Soft Touch Buttons.
 * Copyright (c) 2023 Anthony Albit. All rights reserved.
 *
 * For more information, please contact:
 * Email: anthony.albit@wayovermedia.com
 * Website: https://cmsxl.com
 */

/* Forms CSS */
/*•••••••••••••••••••••••••••••••••••••••••••••••••••••••*/
form, input, select, textarea, button {
    position: relative;
    font-family: var(--text-family), Verdana, Arial, Helvetica, sans-serif;
    font-size: var(--input-size);
}
form {
    font-size: 0;
}
form .form {
    margin-top: 20px;
}
form .buttons {
    margin: 30px 0 20px 0;
    font-size: 0;
}
label {
    display: inline-block;
    padding-top: 10px;
    line-height: 23px;
    font-size: 15px;
}
input,
select,
textarea, button, .button {
    padding: 8px 12px;
    width: 100%;
    line-height: var(--input-height);
    color: var(--text-color);
    text-decoration: none;
    background: transparent;
    border: 1px solid var(--text-color);
    border-radius: var(--input-radius);
    resize: none;
    box-sizing: border-box;
}
textarea {
    min-height: 150px;
}
input::placeholder, textarea::placeholder {
    color: var(--input-placeholder-color);
}
input::-webkit-search-cancel-button {
    -webkit-appearance: none;
}
input[type='checkbox'],
input[type='radio'] {
    position: relative;
    margin: 0.15em 0.15em 0 0;
    padding: 0;
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-color: var(--background-color);
    border: 1px solid var(--text-color);
    vertical-align: top;
}
input[type='checkbox'] {
    border-radius: var(--input-radius);
}
input[type='radio'] {
    border-radius: 50%;
}
input[type='checkbox']:checked,
input[type='radio']:checked {
    background-color: var(--text-color);
    border-color: var(--text-color);
}
input[type='checkbox']:checked:after {
    content: '';
    position: absolute;
    top: 1px;
    left: 4px;
    width: 6px;
    height: 11px;
    border: solid var(--background-color);
    border-width: 0 3px 3px 0;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
input[type='radio']:checked:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 6px;
    height: 6px;
    background-color: var(--background-color);
    border-radius: 50%;
}
select {
    background-repeat: no-repeat;
    background-position-x: 99%;
    background-position-y: center;
    background-image: url('data:image/svg+xml;utf8,<svg fill=\'black\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>');
}
button, .button {
    display: inline-block;
    padding: 8px 24px;
    width: auto;
    line-height: var(--input-height);
    font-size: var(--input-size);
    font-weight: 500;
    color: var(--background-color);
    background-color: var(--text-color);
    vertical-align: top;
    cursor: pointer;
}
button.alternative,
.button.alternative {
    color: var(--text-color);
    background-color: var(--background-color);
    border-color: var(--background-color);
}
@media (hover: hover) {
    button:hover,
    button.active:hover,
    .button:hover,
    .button.active:hover {
        color: var(--text-color);
        background-color: var(--accent-color);
        border-color: var(--accent-color);
    }
}
button[disabled],
.button[disabled] {
    color: var(--background-color);
    background-color: var(--text-color);
    opacity: .35;
    cursor: not-allowed;
}
button.invisible,
.button.invisible {
    margin: 0 2px;
    padding-right: 0;
    padding-left: 0;
    font-weight: 600;
    color: var(--text-color);
    background: transparent;
    border: 0;
}
button.invisible:hover,
.button.invisible:hover {
    color: var(--input-placeholder-color);
}

.form-response {
    width: 100%;
    max-width: 640px;
}
.form-group {
    display: inline-block;
    margin-right: 20px;
    width: calc(50% - 10px);
    font-size: 0;
    /*background-color: #a7d1df;*/
    vertical-align: top;
}
.form-group.full {
    margin-right: 0;
    width: 100%;
}
.form-group:last-child {
    margin-right: 0;
    margin-bottom: 0;
}
@media (max-width: 991px) {
    .form-group {
        margin-right: 0;
        width: 100%;
    }
}
.form-input {
    display: inline-block;
    margin: 0 20px 30px 0;
    width: calc(50% - 10px);
    vertical-align: top;
}
.form-input.full {
    margin-right: 0;
    width: 100%;
}
.form-input.half {
    margin-right: 20px;
    width: calc(50% - 10px) !important;
}
.form-input.text {
    padding: 2px 4px;
    font-size: 16px;
    font-weight: 300;
    /*background-color: rgba(51, 51, 51, .2);*/
    background: transparent;
}
.form-input.note p {
    font-size: 14px;
}
.form-input:last-child {
    margin-right: 0;
}
@media (max-width: 767px) {
    .form-input {
        margin-right: 0;
        width: 100%;
    }
}

.form-input-error {
    padding-top: 10px;
}
.form-input-error a {
    font-weight: 600;
    text-decoration: none;
}
.form-input-error figure {
    margin: -1px 0 0 -2px;
    padding: 2px 0;
    width: 18px;
    height: 18px;
    vertical-align: top;
}
.form-input-error div {
    display: inline-block;
    line-height: 18px;
    font-size: 13px;
}
.form-input-error div,
.form-input-error div a {
    color: #d93025;
}
.form-input-error figure {
    fill: #d93025;
}

.form-input-error.warning div,
.form-input-error.warning div a {
    color: #257fd9;
}
.form-input-error.warning figure {
    fill: #257fd9;
}

.form-input-error.top {
    top: 0;
    right: 40px;
    bottom: auto;
}

.form-join {
    font-size: 0;
}
@media (max-width: 991px) {
    .form-join {
        /*text-align: center;*/
    }
}
.form-join-button {
    display: inline-block;
    margin-right: 20px;
    padding: 15px 15px 15px 10px;
    font-size: 20px;
    font-weight: 400;
    color: #f0f0f0;
    background-color: var(--accent-color);
    border-radius: 8px / 5px;
    cursor: pointer;
}
.form-join-button:hover {
    color: #f0f0f0;
    background-color: var(--accent-color-hover);
}
.form-join-button ins,
.form-join-button span {
    display: inline-block;
    position: relative;
    vertical-align: top;
}
.form-join-button ins {
    margin-right: 10px;
    width: 20px;
    height: 20px;
}
.form-join-button svg {
    max-width: 100%;
    max-height: 100%;
    fill: #f0f0f0;
}

.form-block button img {
    padding: 15px 0;
    height: 54px;
    vertical-align: top;
}
.form-block button img path {
    fill: #f0f0f0;
}

.form-block-select {
    padding: 5px 12px !important;
    font-size: 20px !important;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}
.form-note {
    display: inline-block;
    margin-top: 10px;
    color: #a0a0a0;
}
.form-files {
    margin-bottom: 30px;
    color: #a0a0a0;
}
.form-files div span {
    display: inline-block;
    position: relative;
    margin-right: 15px;
    margin-bottom: 10px;
    padding-left: 16px;
    cursor: pointer;
}
.form-files div span i {
    position: absolute;
    top: 4px;
    left: 0;
    width: 12px;
    height: 12px;
    background-repeat: no-repeat;
    background-position: -8px -8px;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAgNJREFUeNq0lrlOw0AQhh1jKhoqBA+BhMRbQEEPBTQhlxDhzMGREMgBIQkJiBwVBbQIgQSiR6Kk4gkQPAENDeIfaVZaWY53bZyVfk98ZD/P4Z0NzS+Gnw3DeIfWDR/j5qqn9dzC0jI9OGHi8AatQTvGgAZgZZgwsSwc0tAn1IJ+oXLAsCIzIohGz+Lr52xbbMsBwrICRtcs6T5BQ1CTbSkgWFTA7EDhIeW1wecln7AjhsUB68r3LIfnz9g2OKcVj7ADLsCoHdYPaIeGdHMKWAFmT86ZLlBACVbXKSQJFusHUwFlD2tuUA4jwRKAddwmHJqcmlZF6hX6ho6hH+hFvnl797APk2fP2qrJLM1aqLGnVVtOcwxzLJD/AGmcMuwE+oCGJc+6upNYHj8x8vALuubzWcAevUxg+viuR6Tfo17/7BVIKw+Fbwaao+6ECk0PCkiwDBUI9ATdQytUQIBmggYWGRZnD8W4gJL0MoBmgwIWRIuB2g4dn7rLKr2UTnhVwEOxNkI9l21Gi6FlFdRUwHY5Z8qNC0OTqpyaLmEkWMKWMxW0yZuxUj+oEzDPYSTPLn3s4mjB32BoSgXM8/oY8eKZA7TO0Io9p6YDLKaTM03opr2QTGnVz3HOOkFtEQGlLrPF0JQAtsWq7ydnGlDqMtsc3gYBx7giO8aABqBV7qHjfwIMAOjIsArMVttyAAAAAElFTkSuQmCC');
}
.form-files dd {
    display: inline-block;
    line-height: 16px;
    border-bottom: 1px dashed #a0a0a0;
    cursor: pointer;
}
.form-button {
    cursor: pointer;
}
