.ff-cards {
    all: unset;
    display: grid;
    grid-template-columns: repeat(var(--card-columns, 5), 1fr);
    gap: 16px
}

.ff-cards__legend,
.ff-cards__card__input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0, 0, 0, 0)
}

.ff-cards__card {
    display: block
}

.ff-cards__card__input:checked+.ff-cards__card__content {
    border-color: #333
}

.ff-cards__card__content {
    display: flex;
    flex-direction: column;
    height: 100%;
    cursor: pointer;
    user-select: none;
    border: 1px solid #ccc;
    border-radius: 8px
}

.ff-cards__card__content:hover {
    border-color: #999
}

.ff-cards__card__content>*:empty {
    display: none
}

.ff-cards__card__content__image-wrapper {
    overflow: hidden;
    border-top-left-radius: inherit;
    border-top-right-radius: inherit
}

.ff-cards__card__content__image-wrapper__image {
    width: 100%;
    height: auto;
    pointer-events: none;
    border-top-left-radius: inherit;
    border-top-right-radius: inherit
}

.ff-cards__card__content__label {
    display: block;
    padding: 5px 10px;
    font-weight: bold
}

.ff-cards__card__content__description {
    display: block;
    padding: 5px 10px 5px;
    font-style: italic
}

.opinion-scale ul {
    padding: 0;
    margin: 0;
    list-style: none
}

.opinion-scale .opinion-scale-scales {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
    grid-gap: 0
}

.opinion-scale .opinion-scale-scales>*>label {
    display: block;
    padding: 6px 12px;
    margin: 0 0 5px;
    color: #000 !important;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    border: 1px solid qborderColor;
    border-left: none
}

.opinion-scale .opinion-scale-scales>* input {
    position: absolute;
    top: -9999px;
    left: -9999px;
    visibility: hidden;
    width: 1px;
    height: 1px;
    overflow: hidden
}

.opinion-scale .opinion-scale-scales>* input:checked~label {
    background: #e6e6e6
}

.opinion-scale .opinion-scale-scales>*:first-child>label {
    border-left: 1px solid #ccc;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px
}

.opinion-scale .opinion-scale-scales>*:last-child>label {
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px
}

.opinion-scale ul.opinion-scale-legends {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
    grid-gap: 0
}

.opinion-scale ul.opinion-scale-legends li {
    text-align: center
}

.opinion-scale ul.opinion-scale-legends li:first-child {
    text-align: left
}

.opinion-scale ul.opinion-scale-legends li:last-child {
    text-align: right
}

.freeform-file-dnd__input {
    --accent: #3a85ee;
    display: block;
    width: 100%;
    height: auto;
    padding: 67px 20px;
    color: #282828;
    text-align: center;
    cursor: pointer;
    background: #fff;
    border: 2px dashed var(--accent);
    border-radius: 7px
}

.freeform-file-dnd__input input[type=file] {
    display: none !important
}

.freeform-file-dnd__input [data-placeholder] {
    font-size: 1.25rem
}

.freeform-file-dnd__input[data-dragging] {
    color: #c6c6c6;
    background-color: #e7e7e7;
    border-style: solid
}

.freeform-file-dnd__input[data-contains-files] {
    padding: 20px
}

.freeform-file-dnd__input[data-contains-files] [data-placeholder] {
    display: none
}

.freeform-file-dnd__input [data-messages],
.freeform-file-dnd__input [data-field-errors] {
    padding: 0 20px;
    margin: 0
}

.freeform-file-dnd__input [data-messages]>li,
.freeform-file-dnd__input [data-field-errors]>li {
    padding: 0;
    margin: 0;
    text-align: left;
    opacity: 1;
    transition: all .3s ease-out
}

.freeform-file-dnd__input [data-messages]>li[data-error],
.freeform-file-dnd__input [data-field-errors]>li[data-error] {
    color: #ff0300
}

.freeform-file-dnd__input [data-messages]>li[data-animate-fade-out],
.freeform-file-dnd__input [data-field-errors]>li[data-animate-fade-out] {
    opacity: 0
}

.freeform-file-dnd__input [data-field-errors]>li {
    color: #ff0300
}

.freeform-file-dnd__input [data-preview-zone] {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px
}

@media(min-width: 576px) {
    .freeform-file-dnd__input [data-preview-zone] {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width: 768px) {
    .freeform-file-dnd__input [data-preview-zone] {
        grid-template-columns: repeat(4, 1fr)
    }
}

@media(min-width: 992px) {
    .freeform-file-dnd__input [data-preview-zone] {
        grid-template-columns: repeat(8, 1fr)
    }
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] {
    cursor: initial;
    opacity: 1;
    transform: scale(1);
    transition: all .3s ease-out
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview].animation-enter {
    opacity: 0;
    transform: scale(0.1)
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview]:hover {
    z-index: 2
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail] {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    background-color: #969797;
    background-position: center center;
    background-size: cover
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail] [data-extension-label] {
    position: absolute;
    top: calc(50% - 18px);
    right: 0;
    left: 0;
    display: block;
    font-size: 24px;
    color: #fff;
    text-align: center;
    user-select: none
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail][data-has-preview] [data-extension-label] {
    display: none
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail] [data-progress] {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    overflow: hidden;
    transition: opacity .5s ease-out 3s;
    background: #e5e5e5
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail] [data-progress]:after {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: var(--progress);
    height: inherit;
    content: "";
    background-color: #077bff;
    transition: background-color .5s ease-out
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail] [data-remove-button] {
    position: absolute;
    top: -9px;
    right: -9px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #878787;
    cursor: pointer;
    background: #e6e5e5;
    border: 1px solid #e6e5e5;
    border-radius: 50%;
    transition: all .2s ease-out
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail] [data-remove-button]:hover {
    color: #fff;
    background: var(--accent);
    border: 1px solid var(--accent)
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail] [data-errors] {
    position: absolute;
    right: -12px;
    bottom: -10px;
    z-index: 2;
    width: 26px;
    height: 26px;
    line-height: 26px;
    color: #fff;
    cursor: pointer;
    background: #ff0300;
    border: 1px solid #ff0300;
    border-radius: 50%
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail] [data-errors][aria-label=""],
.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail] [data-errors]:not([aria-label]) {
    display: none
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-thumbnail] [data-errors][aria-label]+[data-progress]:after {
    background: #ff0300
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-filename],
.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-filesize] {
    display: block;
    padding: 0;
    margin: 0;
    text-align: left
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-filename] {
    font-size: .875rem;
    color: #5c5c5c;
    word-break: break-all
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview] [data-filesize] {
    font-size: .8125rem;
    color: #b1b1b1
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview][data-completed] [data-progress] {
    opacity: 0
}

.freeform-file-dnd__input [data-preview-zone] [data-file-preview][data-completed] [data-progress]:after {
    background: #21dd21
}

.freeform-file-dnd__input[data-theme=dark] {
    color: #656666;
    background: #222
}

.freeform-file-dnd__input[data-theme=dark][data-dragging] {
    background-color: #171717
}

.freeform-file-dnd__input[data-theme=dark] [data-preview-zone] [data-file-preview] [data-filename],
.freeform-file-dnd__input[data-theme=dark] [data-preview-zone] [data-file-preview] [data-placeholder] {
    color: #bababa
}

.freeform-file-dnd__input[data-theme=dark] [data-preview-zone] [data-file-preview] [data-remove-button] {
    color: #bababa;
    background-color: #666;
    border-color: #666
}

.freeform-file-dnd__input[data-theme=dark] [data-preview-zone] [data-file-preview] [data-filesize] {
    color: #787878
}

.freeform-file-dnd__input[data-theme=dark] [data-preview-zone] [data-file-preview] [data-errors]:after {
    color: #000;
    background: #dadada
}

[data-field-type=rating] {
    --ff-rating-color-idle: #dddddd;
    --ff-rating-color-hover: #ffd700;
    --ff-rating-color-selected: #ff7700
}

[data-field-type=rating] .form-rating-field-wrapper {
    display: inline-block
}

[data-field-type=rating] .form-rating-field-wrapper:after {
    clear: both;
    display: table;
    content: ""
}

[data-field-type=rating] .form-rating-field-wrapper:not(:checked)>input {
    position: absolute;
    left: -9999px;
    clip: rect(0, 0, 0, 0)
}

[data-field-type=rating] .form-rating-field-wrapper:not(:checked)>label {
    float: right;
    overflow: hidden;
    font-family: sans-serif;
    font-size: 200%;
    font-weight: 100;
    line-height: 1.2;
    color: var(--ff-rating-color-idle);
    white-space: nowrap;
    cursor: pointer
}

[data-field-type=rating] .form-rating-field-wrapper:not(:checked)>label:before {
    content: "★ ";
    border: none
}

[data-field-type=rating] .form-rating-field-wrapper:not(:checked)>label:after {
    display: none;
    content: ""
}

[data-field-type=rating] .form-rating-field-wrapper:not(:checked)>label:hover,
[data-field-type=rating] .form-rating-field-wrapper:not(:checked)>label:hover~label {
    color: var(--ff-rating-color-hover)
}

[data-field-type=rating] .form-rating-field-wrapper>input:checked~label {
    color: var(--ff-rating-color-selected)
}

[data-field-type=rating] .form-rating-field-wrapper>input:checked+label:hover,
[data-field-type=rating] .form-rating-field-wrapper>input:checked+label:hover~label,
[data-field-type=rating] .form-rating-field-wrapper>input:checked~label:hover,
[data-field-type=rating] .form-rating-field-wrapper>input:checked~label:hover~label,
[data-field-type=rating] .form-rating-field-wrapper>label:hover~input:checked~label {
    color: var(--ff-rating-color-hover)
}

[data-field-type=rating] .form-rating-field-wrapper>label:active {
    position: relative;
    top: 2px;
    left: 2px
}

.ff-optical {
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important
}

[data-scroll-anchor],
[data-rules-json],
[data-hidden] {
    display: none
}

[data-freeform-controls] {
    display: flex;
    justify-content: space-between
}

[data-freeform-controls]>div {
    display: flex;
    gap: 5px;
    align-content: center;
    justify-content: space-between
}

[data-freeform-controls]>div button {
    display: flex;
    gap: 5px;
    align-items: center
}

[data-freeform-controls]>div button img,
[data-freeform-controls]>div button svg {
    width: 24px;
    height: 24px
}

form[data-freeform-disabled] {
    pointer-events: none;
    opacity: .5;
    transition: opacity .3s ease-in-out
}