.full {position:relative;flex: 1 1 100%}
.half {position:relative;flex: 1 1 300px}
input:not(:is([type="radio"],[type="checkbox"],[type="submit"],[type=image],[type=file])), select,textarea {width: 100%;}
input:not(:is([type="radio"], [type="checkbox"], [type="submit"], [type="image"], [type="file"])), select, textarea {
    outline: none;
    border: none;
    border-radius: 0;
    height: min(60px,14vw);
    color: var(--cLslateGray);
    font-size: min(16px,3.2vw);
    background-color: transparent;
    padding: min(1.6rem,3.5vw) 0 min(1rem,2.2vw);
    border-bottom: 1px solid var(--cLcharcoalBlue);
}
input:is([type="radio"],[type="checkbox"]) {
    position: relative;
    top: 4px;
    margin: 0;
    outline: none;
    flex: 0 0 auto;
    width: min(1.5rem,6vw);
    height: min(1.5rem,6vw);
    accent-color: var(--cLmediumSeaGreen);
}
*:has(>input:is([type="radio"],[type="checkbox"])) {
    display: flex;
    column-gap: 1rem;
    font-size: var(--fs14);
}
input[type="checkbox"] {box-shadow: inset 0 0 0 1px var(--cLmintGreen);}
input[type="radio"]:not(:checked) {
    appearance: none;
    border-radius: 2rem;
    border: 1px solid var(--cLmintGreen);
}
input::-webkit-input-placeholder { color:currentColor; } 
input::-moz-placeholder { color:currentColor; } 
input::-ms-input-placeholder { color:currentColor; } 
input::placeholder { color:currentColor; } 
:is(input[type="date"],select):not(:focus) {color:currentColor; }
textarea {
    resize: none;
    font-family: inherit;
    height: min(120px,30vw);
}
input[type="date"] {
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.input-container{position: relative;}
.input-container::after {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: '';
    right: 1.1rem;
    display: block;
    block-size: 2rem;
    inline-size: 2rem;
    pointer-events: none;
    transform: translateY(-50%);
    background-color: var(--cLwhite);
}
.input-container::before {
    position: absolute;
    top: 50%;
    z-index: 2;
    content: '';
    right: 1.5rem;
    display: block;
    block-size: 2rem;
    inline-size: 2rem;
    pointer-events: none;
    transform: translateY(-50%);
    background-color: var(--cLmintGreen);
    
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
}
.input-container > *{
    appearance: none;
    font-family: inherit;
}
.input-container:has( select)::before {
    block-size: 1.2rem;
    inline-size: 1.2rem;
    -webkit-mask-image: url(../images/down.svg);
    mask-image: url(../images/down.svg)
}
.input-container:has( input[type=date])::before {
    -webkit-mask-image: url(../images/calendar.svg);
    mask-image: url(../images/calendar.svg)
}
.group > label {
    position: absolute;
    left: 0;
    bottom: 1rem;
    transition: .2s;
    font-weight: 600    ;
    pointer-events: none;
    color: var(--cLslateGray);
    font-size: min(16px, 3.6vw)
}
.group:has( .filled) > label {
    bottom: calc(100% - 1rem);
    color: var(--cLcharcoalBlue)
}
.group .bar {
    position: relative;
    display: block;
    width: 100%
}
[for=accept] {
    font-style: italic
}
.group .wpcf7-not-valid-tip {
    position: absolute;
    top: calc(100% + 1.2rem);
    font-size: min(12px,3vw);
}
.wpcf7-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
