/* allgemeine Formular Styles */

form select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
}
form .clearfix > p{margin-top:0;}
.ao_basics_form .fieldset {margin:0 0 30px;}
.ao_basics_form .fieldset > .ao_basics_grid {padding: 0;gap:20px;}


form input,
form input[type="checkbox"] + label,
form input[type="radio"] + label,
form .select-wrapper,
form textarea {margin:10px 0}

form input[type="text"],
form input[type="email"],
form input[type="password"],
form input[type="tel"],
form select,
form textarea {font-size: 1em;border-radius: 4px;padding: 12px 15px;border: 0;width:100%;box-sizing: border-box;font-family:inherit;outline:0}


form .select-wrapper{position: relative}
form .select-wrapper::before{
    content:"";
    position:absolute;
    width:10px;
    height: 10px;
    background:none;
    border: 3px solid var(--ao-debug);
    border-top:0;
    border-left:0;
    z-index:10;
    right: 20px;
    top:50%;
    transform: translate(0,-9px) rotate(45deg);
}

form textarea{min-height:200px;}

form input[type="checkbox"],
form input[type="radio"]{
    position: absolute;
    z-index: -1000;
    opacity: 0;
    transform: translateX(4px);
}
form input[type="checkbox"] + label,
form input[type="radio"] + label{
    padding-left: 30px;
    position: relative;
    display: block;
    cursor: pointer;
}
form input[type="checkbox"] + label:before,
form input[type="radio"] + label:before{
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    /* background: #fff; */
    width: 16px;
    height: 16px;
    border: 2px solid var(--ao-debug);
    border-radius: 4px;
}
form input[type="radio"] + label:before{ border-radius:20px;}
form input[type="checkbox"]:checked + label:after,
form input[type="radio"]:checked + label:after{
    content: "";
    position: absolute;
    left: 4px;
    top: 12px;
    background: var(--ao-debug);
    width: 12px;
    height: 12px;
    border-radius: 2px;
}
form input[type="radio"]:checked + label:after{border-radius: 20px}

form form button.ao_btn{
    margin: 20px 0 0 auto;
    display: block;
}

.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 8px dashed;
    border-top: 4px solid \9;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    color: var(--ao-debug);
}

.tx-double-optin-download .alert{font-weight: bold; color:var(--ao-debug)}

/*
.form-control.is-invalid {
    border-color: #dc3545;
}

.is-invalid~.invalid-feedback {
    display: block;
}
.invalid-feedback {
    display: none;
    color: #dc3545;
}*/