/* Base */
*,
*::before,
*::after {
    box-sizing: border-box;
    font-family: KlavikaWebCondensed;
}

html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
    color: #0A0A0A;
    font-family: KlavikaWebCondensed;
}

.cd-hide {
    opacity: 0;
}

/* Header */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background: #ffffff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    max-width: 1200px;
    margin: 0 auto;
}

header .logo img {
    height: 28px;
    width: auto;
    display: block;
}

.close-btn-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: #C8C8C8;
    color: #ffffff;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 700;
    pointer-events: none;
    opacity: 0.5;
}

.close-btn-link.active {
    pointer-events: auto;
    opacity: 1;
    cursor: pointer;
    background: #FC0080;
}

.close-btn-link::after {
    content: "\2192";
    font-size: 18px;
    line-height: 1;
}

.cd-position-absolute {
    height: 100vh;
}

/* Banner */
.scorecard-banner {
    display: flex;
    align-items: center;
    background: linear-gradient(180deg, #00FD92 0%, #B1FFBE 100%);
    background-image: url("https://www.cohesity.com/content/dam/cohesity/live/campaign-and-key-pages/scorecard/images/blinds.png"), linear-gradient(180deg, #00FD92 0%, #B1FFBE 100%);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    padding: 32px 16px 64px;
    box-sizing: border-box;
}

.scorecard-banner .container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Pink badge */
.scorecard-banner .floating-bar {
    position: absolute;
    top: 72px;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}


.scorecard-banner .floating-bar h6 {
    display: inline-block;
    margin: 0;
    padding: 10px 18px;
    background: #FC0080;
    color: #fff;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-family: KlavikaWebCondensed;
    font-weight: 500;
    font-style: Medium;
    font-size: 39px;
    line-height: 41.29px;
    letter-spacing: 0%;
    text-align: center;

}




/* Content */
.scorecard-content {
    margin-top: 48px;
}

.scorecard-title {
    text-align: center;
}


.scorecard-title .icon img {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 4;
}

.scorecard-title .icon .confetti-image {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 480px;
    height: auto;
    object-fit: contain;
    z-index: 5;
    display: none !important;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.scorecard-title .icon .confetti-image.show {
    display: block;
    opacity: 1;
}

.scorecard-title .icon .marks p {
    font-size: 53px;
    color: #000;
    position: absolute;
    top: 21%;
    left: 0;
    right: 0;
    bottom: 0;
    font-weight: 800;
    margin: 0;
    z-index: 3;
    display: flex;
    justify-content: center;
}

.scorecard-title .marks span {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    height: 0;
    width: 100%;
    max-width: 200px;
    z-index: 2;
    margin: 0 auto;
    background: linear-gradient(122.59deg, #B1FFBE 9.9%, #00DD68 90.1%);
    transition: height 0.3s ease;
}

.scorecard-title .marks .progress-bar {
    background: #FFFFFF;
    height: 91%;
    z-index: 1;
}

.scorecard-title h1 {
    margin: 24px auto 12px;
    font-family: KlavikaWebCondensed;
    font-weight: 400;
    font-style: Regular;
    font-size: 100px;
    letter-spacing: 0%;
    text-align: center;
    text-transform: uppercase;
    max-width: 750px;
}

.scorecard-title p {
    margin: 0 auto 28px;
    max-width: 780px;
    font-weight: 500;
    font-family: KlavikaWebCondensed;
    font-weight: 500;
    font-style: Medium;
    font-size: 34px;
    line-height: 36px;
    letter-spacing: 0%;
    text-align: center;
}

.scorecard-title p.small-text {
    color: #000;
    text-align: center;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -0.4px;
}



@media (max-width: 320px) {
    .scorecard-title h1 {
        font-size: 32px;
        line-height: 1.1;
    }
}

@media (max-width: 480px) {
    .scorecard-title .icon {
        max-width: 180px;
    }

    .scorecard-title .icon .confetti-image {
        width: 300px;
    }
}

.scorecard-title p.result-description {
    color: #000;
    margin: 35px auto 20px;
    font-family: KlavikaWebCondensed;
    font-weight: 400;
    font-size: 20px;
    line-height: 26px;
    text-align: center;
}

.scorecard-title .icon {
    position: relative;
    position: relative;
    width: 100%;
    max-width: 220px;
    margin: 0 auto;
    background: #32fe9f;
}

.scorecard-title .result-score {
    max-width: 70px;
    margin: 0 auto;
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    z-index: 9;
}

#scoreTotal {
    color: #000;
}

.scorecard-title .result-score .light,
.scorecard-title .result-score .light p {
    font-weight: 300;
    color: #000;
}


/* CTA Button */
.start-btn {
    display: inline-block;
    background: #FC0080;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 8px;
    transition: background 0.2s ease-in-out, transform 0.1s ease-in-out;
    border: 1.5px solid #8B0147;
}

.start-btn:hover {
    background: #d3006e;
}

.start-btn:active {
    transform: translateY(1px);
}



/* Steps (Questions) */
.scorecard-steps {
    background: #E8FFE9;
    opacity: 0;
    visibility: hidden;
    position: relative;
}

.scorecard-steps.active {
    opacity: 1;
    visibility: visible;
    height: 100vh;
}

.scorecard-result {
    background: #E8FFE9;
}

.scorecard-result .scorecard-header {
    margin-top: 32px;
}

.scorecard-result .scorecard-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}

.scorecard-result .scorecard-title p.result-description {
    margin: 0;
}

.scorecard-result .scorecard-title .start-btn {
    width: auto;
}

.scorecard-result .scorecard-title .download-pdf-btn {
    margin-top: 0;
}

.steps-container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 28px 20px 120px;
    position: relative;
}

.steps-header .step-kicker {
    margin: 0 0 12px;
    font-family: KlavikaWebCondensed;
    font-size: 22px;
    border-bottom: 1px solid #FC0080;
    font-style: Medium;
    line-height: 28px;
    letter-spacing: -1%;
}

.steps-header .step-title {
    margin: 0 0 18px;
    line-height: 1.1;
    font-weight: 500;
    font-family: KlavikaWebCondensed;
    font-style: Medium;
    font-size: 74px;
    line-height: 76px;
    letter-spacing: 0%;
    color: #000;
}

.steps-header .answer-headings {
    display: grid;
    grid-template-columns: 1fr repeat(3, 87px);
    align-items: center;
    color: #000;
    gap: 14px;
    margin: 0 -15px;
}

.steps-header .answer-headings span {
    text-transform: uppercase;
    font-family: KlavikaWebCondensed;
    font-weight: 500;
    font-style: Medium;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -1%;
    text-align: center;
    vertical-align: bottom;
}

.questions {
    margin: 8px -15px 0;
    display: grid;
    gap: 18px;
}

.question-row {
    display: grid;
    grid-template-columns: 1fr repeat(3, 80px);
    align-items: center;
    gap: 24px;
    font-size: 22px;
}


.question-card {
    background: #fff;
    border-radius: 5px;
    padding: 10px 24px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    min-height: 80px;
}

.question-card p {
    font-family: KlavikaWebCondensed;
    font-weight: 300;
    font-size: 22px;
    line-height: 28px;
    margin: 0 auto;
    max-width: 656px;
    width: 100%;
}

/* Question row states matching screenshot */
.question-row.is-yes .question-card {
    background: linear-gradient(90deg, #54FFB8 0%, #00E78A 100%);
}

.question-row.is-no .question-card {
    background: #FFE9DE;
}

.question-row.is-unsure .question-card {
    background: #F0F3F4;
}

.answers {
    display: contents;
    /* allow buttons to occupy the 3 answer columns of the row grid */
}

.question-row button {
    width: 80px;
    height: 80px;
    border-radius: 5px;
    border: 2px solid #D9E7DC;
    background: #fff;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.question-row button:focus,
.question-row button:hover {
    border-color: #00C26D;
    box-shadow: 0 0 0 3px rgba(0, 194, 109, 0.2);
}

.step-actions {
    margin-top: 28px;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.step-actions .btn-secondary {
    padding: 16px 35px 17px 50px !important;
}

.step-actions .btn-secondary:before {
    left: 23px;
}

.step-actions .btn-primary {
    padding: 16px 50px 17px 37px !important;
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 15px 66px !important;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    padding-right: 35px;
    position: relative;
    font-size: 18px;
    justify-content: center;
}

.btn-primary {
    background: #009E60;
    color: #FFFFFF;
}

.btn-primary:after {
    content: "";
    position: absolute;
    right: 23%;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    /* Transparent background SVG arrow (white stroke) */
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h12'/><path d='M13 6l6 6-6 6'/></svg>") no-repeat center / contain;
}


.btn-secondary {
    background: #F0F3F4;
    color: #000;
    border: 1px solid #D9E7DC;
    padding-left: 35px;
}

.btn-secondary:before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    /* Transparent background SVG arrow (dark stroke), pointing left */
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M19 12H7'/><path d='M11 18l-6-6 6-6'/></svg>") no-repeat center / contain;
}

.step-progress {
    position: relative;
    margin-top: 24px;
}

.progress-bar {
    height: 40px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}

.progress {
    height: 100%;
    background: #00FD92;
    width: 0;
    transition: width 0.3s ease;
}

/* Centered label over progress bar */
.progress-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    font-weight: 700;
    color: #0A0A0A;
    pointer-events: none;
}

.progress-meta {
    margin-top: 8px;
    font-size: 12px;
    color: #666;
}

/* Mobile progress adjustments */
@media (max-width: 1023px) {
    .step-progress {
        margin-top: 16px;
    }

    .progress-meta {
        margin-top: 6px;
        font-size: 11px;
    }

    .progress-label {
        font-size: 12px;
    }

    .scorecard-steps.active:after {
        bottom: auto;
    }
}

/* Pink underline to mimic design */
.progress-bar::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    background: linear-gradient(90deg, #FC0080 0%, #FF61F0 100%);
}

.trophy {
    position: relative;
    right: -40%;
    bottom: -40px;
    text-align: center;
    max-width: 190px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    z-index: 0;
}

.trophy .trophy-confetti {
    position: absolute;
    top: 19%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 360px;
    height: auto;
    object-fit: contain;
    z-index: 10;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.trophy .trophy-confetti.show {
    display: block;
    opacity: 1;
}

.trophy .points-added {
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 52px;
    font-weight: 800;
    color: #00DD68;
    z-index: 15;
    display: none;
    pointer-events: none;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);

}

.trophy .points-added.animate {
    animation: pointsMoveDown 1.5s ease-out forwards;
}

@keyframes pointsMoveDown {
    0% {
        top: -50px;
        opacity: 1;
        transform: translateX(-50%) scale(1.2);
    }

    50% {
        opacity: 1;
    }

    100% {
        top: 50%;
        opacity: 0;
        transform: translateX(-50%) translateY(-50%) scale(0.8);
    }
}

.trophy .marks p {
    font-size: 40px;
    color: #000;
    position: absolute;
    top: 4px;
    left: 0;
    right: 0;
    bottom: 0;
    line-height: 93px;
    font-weight: 800;
    margin: 0;
}

@media (max-width: 1023px) {
    .trophy .marks p {
        line-height: 81px;
    }
}

.trophy .marks span {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 42px;
    height: 0;
    width: 100%;
    max-width: 100px;
    z-index: -1;
    margin: 0 auto;
    background: linear-gradient(122.59deg, #B1FFBE 9.9%, #00DD68 90.1%);
    transition: height 0.3s ease;
}

.trophy img {
    width: 100%;
    height: auto;
}

.scorecard-steps.active:after {
    content: "";
    position: absolute;
    background-color: #00FD92;
    bottom: 0;
    width: 100%;
    height: 48px;
}


.trophy p {
    margin: 4px 0 0;
    font-weight: 700;
}

/* Answer buttons visuals for Yes / No / Not sure */
.question-row button {
    position: relative;
    font-size: 40px;
}

.question-row button.yes.active {
    /* background: #00FD92; */
    border-color: #00C26D;
    background: linear-gradient(236.83deg, #00FD92 4.64%, #B1FFBE 104.51%);
}

.question-row button.yes.active::before {
    content: "\2713";
    /* content: '✓'; */
    color: #0A0A0A;
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

.question-row button.no.active {
    background: #FFE9DE;
    border-color: #C23A00;
}

.question-row button.no.active::before {
    content: '✕';
    color: #000;
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

.question-row button.unsure.active {
    background: #E9EDF2;
    border-color: #C7D0DA;
}

.question-row button.unsure.active::before {
    content: '?';
    color: #0A0A0A;
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

/* Transitions for banner → steps */
.is-hidden {
    display: none;
}

.fade-in {
    animation: fadeIn 400ms ease forwards;
}

.fade-out {
    animation: fadeOut 400ms ease forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-8px);
    }
}

/* Result Page Styles - Your responses */
.result-container {
    max-width: 1200px;
    margin: 40px auto 0;
    padding: 48px 20px 120px;
}

.result-title {
    text-align: center;
    font-size: 34px;
    margin: 0 0 48px;
    font-weight: 500;
    color: #000;
}

.result-steps {
    display: grid;
    gap: 32px;
}

.result-step {
    overflow: hidden;
}

.result-step-banner {
    display: flex;
}

.result-step-banner p {
    background: #FC0080;
    padding: 15px 35px;
    color: #fff;
    font-weight: 500;
    font-size: 22px;
    font-family: KlavikaWebCondensed;
    margin: 0;
    line-height: 28px;
}

.result-questions {
    display: grid;
    grid-template-columns: repeat(2, 600px);
    gap: 16px;
    padding: 24px 0;
}

.result-question-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 5px;
    padding: 40px 30px 40px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.result-question-text {
    font-weight: 400;
    font-size: 22px;
    line-height: 1.5;
    margin-bottom: 16px;
    color: #000;
    font-family: KlavikaWebCondensed;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 353px;
}

.result-answer-display {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.result-answer-box {
    width: 56px;
    height: 56px;
    border-radius: 3.5px;
    display: grid;
    place-items: center;
    font-size: 40px;
    flex-shrink: 0;
    background: #f0f0f0;
    border: 1px solid #e0e0e0;
}

.result-answer-box.yes {
    background: linear-gradient(236.83deg, #00FD92 4.64%, #B1FFBE 104.51%);
    border: 1.4px solid #009E60;
}

.result-answer-box.yes::after {
    content: '✓';
    color: #fff;
}

.result-answer-box.no {
    background: #FFE9DE;
    border: 1.4px solid #C23A00;
}

.result-answer-box.no::after {
    content: '✕';
    color: #fff;
}

.result-answer-box.unsure {
    background: #F0F3F4;
    border: 1.4px solid #080808;
}

.result-answer-box.unsure::after {
    content: '✓';
    color: #000;
}

.result-answer-label {
    font-size: 22px;
    color: #000;
    font-weight: 400;
}

.result-answer-label .answer-value {
    font-weight: 700;
    color: #004540;
}

/* Print: show only results */
@media print {

    @page {
        margin: 0;
    }


    section.scorecard-banner.cd-position-absolute,
    .scorecard-steps {
        display: none !important;
    }

    header,
    .result-description,
    #downloadPdfBtn {
        display: none !important;
        opacity: 0 !important;
        visibility: visible !important;
        position: static !important;
    }

    .scorecard-result .logo {
        display: block !important;
    }

    body {
        margin-top: 50px !important;
    }

    /* header .header {
        box-shadow: none;
    } */


    .scorecard-result .container,
    .scorecard-result .result-container {
        max-width: 100%;
        padding-left: 48px;
        padding-right: 48px;
    }

    .scorecard-result section.scorecard-banner {
        position: relative;
        padding-top: 48px;
        padding-bottom: 24px;
    }

    .scorecard-result {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        position: static !important;
    }

    .scorecard-result .scorecard-title {
        gap: 28px;
    }

    .scorecard-result .scorecard-title .start-btn {
        display: inline-block;
    }

    .result-questions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }

    .result-question-card {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .bottom-bar {
        display: none;
    }
}


.bottom-bar {
    display: block;
    width: 100%;
    height: 48px;
    background-color: #00FD92;
}

/* Responsive: Mobile/Tablet below iPad */
@media (max-width: 1023px) {

    /* Steps - single column layout */
    .steps-header .answer-headings {
        display: none;
        /* Hide column headers on mobile */
    }

    /* Override display: contents on mobile */
    .answers {
        display: none !important;
    }

    /* Add mobile labels below buttons */
    .question-row button.yes::after,
    .question-row button.no::after,
    .question-row button.unsure::after {
        content: attr(aria-label);
        display: block;
        position: absolute;
        top: -30px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 12px;
        font-weight: 700;
        color: #000;
        text-transform: uppercase;
        white-space: nowrap;
        line-height: 1.2;
    }

    .question-row button {
        position: relative;
        margin-bottom: 32px;
    }



    .steps-header .step-kicker {
        margin-bottom: 8px !important;
    }

    /* Results page - single column */
    .result-questions {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .result-question-card {
        padding: 16px;
    }

    .steps-header .step-title {
        font-size: 32px;
        margin: 24px 0 12px;
    }

    .questions {
        margin-top: 4px !important;
    }
}

@media (max-width: 1023px) {

    .trophy {
        max-width: 200px;
        position: relative;
        right: 0;
        bottom: 0;
        margin-right: 0;

    }

    /* One question per screen on mobile */
    .steps-container {
        padding: 16px 20px 80px;
    }

    .questions {
        gap: 0;
        position: relative;
        overflow: hidden;
    }

    /* Hide all questions except the one with mobile-visible class on mobile */
    .question-row:not(.mobile-visible) {
        display: none !important;
    }

    /* Ensure grid layout for horizontal buttons is maintained */
    .question-row.mobile-visible {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        grid-template-rows: auto auto !important;
        gap: 16px 8px !important;
        padding: 16px 0px;
    }

    .question-card {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        padding: 16px 18px !important;
        margin-bottom: 8px;
        height: auto;
    }

    .question-row button.yes {
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: center;
    }

    .question-row button.no {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: center;
    }

    .question-row button.unsure {
        grid-column: 3 !important;
        grid-row: 2 !important;
        justify-self: center;
    }

    /* Button styling for mobile - ensure horizontal layout */
    .question-row:first-child button.yes,
    .question-row:first-child button.no,
    .question-row:first-child button.unsure,
    .question-row.mobile-visible button.yes,
    .question-row.mobile-visible button.no,
    .question-row.mobile-visible button.unsure {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 75px !important;
        height: 75px !important;
        margin-top: 32px !important;
        padding-top: 24px;
        position: relative;
    }


}

@media (min-width: 1024px) {
    .steps-header .step-title {
        margin-top: 30px;
    }

}




/* XXL (Large Desktop / 4K) */
@media screen and (min-width: 1440px) {

    .result-container {
        max-width: 1250px;
        margin: 40px auto 0;
        padding: 48px 20px 120px;
    }

    .result-answer-label .answer-value {
        margin-left: 20px;
    }

    .result-answer-label {
        margin-top: 30px;
    }

    .scorecard-title h1 {
        font-size: 100px;
    }

    .scorecard-title p {
        margin: 0 auto 40px;
    }

    .scorecard-title p.small-text {
        margin: 0 auto 78px;
        font-size: 20px;
    }

    .start-btn {
        padding: 15px 43px;
        font-size: 18px;
    }

    .scorecard-title .result-score {
        max-width: 95px;
        top: 24px;
    }

    .scorecard-title .result-score .light {
        font-size: 19px;
    }

    .scorecard-title .result-score .light p {
        font-size: inherit;
        display: inline;
        margin-left: 3px;
    }

    #scoreTotal {
        font-size: 70px;
        line-height: 0.7;
    }
}

/* Extra Large (Desktop) */
@media screen and (min-width: 1280px) and (max-width: 1439px) {
    .scorecard-title h1 {
        font-size: 80px;
    }

    .scorecard-title p {
        font-size: 20px;
    }

    .questions {
        margin-left: 0;
        margin-right: 0;
    }

    .scorecard-banner .floating-bar h6 {
        font-size: 28px;
    }
}

/* Large (Tablet Landscape / Small Laptop) */
@media screen and (min-width: 1024px) and (max-width: 1279px) {
    .scorecard-title h1 {
        font-size: 70px;
    }

    .scorecard-title p {
        font-size: 20px;
    }

    .questions {
        margin-left: 0;
        margin-right: 0;
    }

    .scorecard-banner .floating-bar h6 {
        font-size: 25px;
    }
}

/* Medium (Tablet Portrait) */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .scorecard-title h1 {
        font-size: 60px;
    }

    .scorecard-title p {
        font-size: 20px;
    }

    .questions {
        margin-left: 0;
        margin-right: 0;
    }

    .scorecard-banner .floating-bar h6 {
        font-size: 20px;
    }
}

/* Small (Mobile Landscape) */
@media screen and (min-width: 480px) and (max-width: 767px) {
    .scorecard-title h1 {
        font-size: 50px;
    }

    .scorecard-title p {
        font-size: 16px;
    }

    .questions {
        margin-left: 0;
        margin-right: 0;
    }

    .scorecard-banner .floating-bar h6 {
        font-size: 20px;
    }

    .trophy .marks span {
        bottom: 32px;
    }
}

@media (max-width: 767px) {

    /* .scorecard-title .icon {
        max-width: 140px;
        overflow: hidden;
    }

    .scorecard-title .icon .marks p {
        font-size: 33px;
    }

    .scorecard-title .marks span {
        width: 92%;
    } */

    header .logo img {
        height: 20px;
    }

    header .container {
        padding: 9px 20px;
    }

    .cd-position-absolute {
        height: auto;
    }

    .steps-header .step-kicker {
        font-size: 20px;
    }

    .step-title {
        font-size: 46px !important;
        margin: 10px auto 0 !important;
    }

    .step-actions {
        margin-top: 0;
    }

    .step-progress {
        margin-top: 32px !important;
    }


    .trophy {
        position: relative;
        right: 0;
        bottom: 0;
        max-width: 140px;
        margin-right: 0;
    }

    .trophy .marks span {
        bottom: 32px;
    }

    .question-row button.yes::after,
    .question-row button.no::after,
    .question-row button.unsure::after {
        font-size: 16px;
        font-weight: 500;
    }

    .btn {
        padding: 20px 39px !important;
    }

    .btn-primary:after {
        right: 12%;
    }

    .btn-secondary:before {
        left: 12%;
    }

}

/* Extra Small (Mobile) */
@media screen and (max-width: 479px) {


    .scorecard-title h1 {
        font-size: 40px;
    }

    .scorecard-title p {
        margin-bottom: 10px;
        font-size: 16px;
    }

    .scorecard-title p.small-text {
        font-size: 14px;
    }

    .close-btn-link {
        padding: 7px 9px;
        font-size: 10px;
    }

    header .logo img {
        height: 20px;
    }

    .questions {
        margin-left: 0;
        margin-right: 0;
    }

    .scorecard-banner .floating-bar h6 {
        font-size: 20px;
    }

    .scorecard-banner .floating-bar {
        top: 90px;
    }

    .scorecard-content {
        margin-top: 108px;
    }

}

.scorecard-result .logo {
    background: #ffffff;
    text-align: center;
    height: 73px;
    display: flex;
    align-items: center;
    display: none;
}

.scorecard-result .logo .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.scorecard-result .logo img {
    height: 28px;
    width: auto;
    display: block;
}