@font-face {
    font-family: "Baskerville Regular";
    src: url(./fonts/baskervville-regular.otf);
}
@font-face {
    font-family: "Cooper Black";
    src: url(./fonts/cooper-black.ttf);
}
.baskerville {
    font-family: "Baskerville Regular";
}
.cooper-black {
    font-family: "Cooper Black";
}
.sbp-container {
    margin: 20px auto;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
}
.sbp-container.hide {
    display: none;
}
.sbp-title {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.1;
    padding-bottom: 2.5rem;
}
.sbp-desc-block {
    padding-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sbp-question {
    margin: 0px;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.25;
    padding-bottom: 1rem;
}
.sbp-question i {
    font-size: .8em;
}
.sbp-desc {
    color: rgb(24, 19, 3);
    line-height: 1.5;
}
.sbp-step {
    display: none;
}
.sbp-step.active {
    display: block;
}
.sbp-step label {
    display: flex;
    gap: 8px;
    position: relative;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    width: fit-content;
    padding: 9px 10px;
    line-height: 1.125;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 1px 0px, rgba(61, 59, 53, 0.16) 0px 0px 0px 1px, rgba(61, 59, 53, 0.08) 0px 2px 5px 0px;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.5);
}
.sbp-step label.sbp-with-textarea {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sbp-step label.sbp-with-textarea > span {
    display: flex;
    gap: 8px;
}
.sbp-step label.sbp-with-textarea textarea {
    display: none;
    width: 600px;
    height: 150px;
}
.sbp-step label.sbp-with-textarea:has(input:checked) {
    width: 100%;
}
.sbp-step label.sbp-with-textarea:has(input:checked) textarea {
    display: flex;
    width: 100%;
}
.sbp-step label input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.sbp-step label:hover {
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 1px 0px, rgba(61, 59, 53, 0.16) 0px 0px 0px 1px, rgba(61, 59, 53, 0.08) 0px 3px 9px 0px, rgba(61, 59, 53, 0.08) 0px 2px 5px 0px;
}
.sbp-step label:focus, .sbp-step label:active{
    box-shadow: rgba(58, 145, 224, 0.36) 0px 0px 0px 4px, rgba(61, 59, 53, 0.16) 0px 0px 0px 1px;
}
.sbp-step label:has(input:checked) {
    box-shadow: rgb(0, 112, 215) 0px 0px 0px 2px, rgba(61, 59, 53, 0.16) 0px 0px 0px 1px !important;
}
.sbp-option-dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    background-color: rgb(119, 118, 114);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    color: rgb(255, 255, 255);
    border-radius: 3px;
}
.sbp-step label:has(input:checked) .sbp-option-dot {
    background-color: rgb(0, 112, 215);
}
.sbp-controls {
    margin-top: 20px;
}
.sbp-controls {
    display: flex;
    gap: 16px;
}
.sbp-controls #next-btn, .sbp-controls #submit-btn {
    position: relative;
    cursor: pointer;
    transition: background-color 100ms ease-in-out, border-color 100ms ease-in-out, outline 100ms ease-in-out;
    line-height: 1;
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    overflow: hidden;
    transform: translateZ(0px);
    border: 0px;
    outline: none;
    outline-offset: -1px;
    height: 36px;
    font-size: 15px;
    border-radius: 8px;
    padding: 0px 0.9em;
    gap: 0.5em;
    background: rgb(0, 0, 0);
    color: white;
    font-weight: 700;
}
.sbp-controls #next-btn:after, .sbp-controls #submit-btn:after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%23ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>');
    height: 18px;
    width: 18px;
}
.sbp-controls #prev-btn {
    position: relative;
    cursor: pointer;
    transition: background-color 100ms ease-in-out, border-color 100ms ease-in-out, outline 100ms ease-in-out;
    line-height: 1;
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    overflow: hidden;
    transform: translateZ(0px);
    border: 0px;
    outline: none;
    outline-offset: -1px;
    height: 36px;
    font-size: 15px;
    border-radius: 7px;
    padding: 0px 0.7em;
    gap: 0.6em;
}
.sbp-controls #prev-btn:before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16.8' height='16.8' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-arrow-left' aria-hidden='true'%3E%3Cpath d='m12 19-7-7 7-7'%3E%3C/path%3E%3Cpath d='M19 12H5'%3E%3C/path%3E%3C/svg%3E");
    width: 16.8px;
    height: 16.8px;
}
.sbp-step-error, .sbp-step-texterror, .sbp-step-dateerror {
    color: rgb(178, 1, 16);
}
.sbp-step-error.hide, .sbp-step-texterror.hide, .sbp-step-dateerror.hide {
    display: none;
}
.sbp-success, .sbp-error {
    padding: 40px 0;
}
.sbp-success h4 {
    text-align: center;
}
.sbp-success p, .sbp-error p {
    font-size: 18px;
    line-height: 24px;
    text-align: center;
}
.sbp-success.hide, .sbp-error.hide {
    display: none;
}
.sbp-charts-block {
    display: flex;
    flex-wrap: wrap;
}
.sbp-chart {
    width: 50%;
}
.poll-stats-container {
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
}
.poll-stats-container canvas {
    margin: 20px auto;
    display: block;
}
.poll-stats-container .date-filter {
    text-align: center;
    margin-bottom: 20px;
}
.poll-stats-container .date-filter input[type="date"] {
    padding: 6px;
    margin: 0 10px;
    font-size: 14px;
}
.poll-stats__table {
    display: flex;
    flex-direction: column;
    border-radius: 6px;
    overflow: hidden;
}
.poll-stats__table-row {
    display: flex;
}
.poll-stats__table-row:nth-child(2n) {
    background: #D3D3D3;
}
.poll-stats__table-row:first-child {
    background: #A4A4A4;
    font-weight: 700;
}
.poll-stats__table-row:first-child .poll-stats__table-answer {
    word-break: normal;
    white-space: nowrap;
}
.poll-stats__table-answer {
    padding: 10px;
    word-break: break-all;
}
.poll-stats__table-answer:nth-child(1),
.poll-stats__table-answer:nth-child(2) {
    width: 15%;
}
.poll-stats__table-answer:nth-child(4) {
    width: 10%;
}
.poll-stats__table-answer:nth-child(3),
.poll-stats__table-answer:nth-child(5) {
    width: 30%;
}
.poll-stats__table-answer:not(:last-child) {
    border-right: 1px solid #ffffff;
}
.poll-stats__table-answer.xs {
    width: 20%;
    padding: 4px;
}
.poll-stats__table-details {
    display: none;
}
.poll-stats__show-details {
    background: transparent;
    box-shadow: none;
    border: none;
    outline: none;
    color: #0b93f6;
}
.poll-stats__show-details:hover {
    color: #00B0EA;
}
.poll-stats__table-details-item span {
    font-weight: 600;
}