    html,
    body,
    div,
    span,
    applet,
    object,
    iframe,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    blockquote,
    pre,
    a,
    abbr,
    acronym,
    address,
    big,
    cite,
    code,
    del,
    dfn,
    em,
    img,
    ins,
    kbd,
    q,
    s,
    samp,
    small,
    strike,
    strong,
    sub,
    sup,
    tt,
    var,
    b,
    u,
    i,
    center,
    dl,
    dt,
    dd,
    ol,
    ul,
    li,
    fieldset,
    form,
    label,
    legend,
    table,
    caption,
    tbody,
    tfoot,
    thead,
    tr,
    th,
    td,
    article,
    aside,
    canvas,
    details,
    embed,
    figure,
    figcaption,
    footer,
    header,
    hgroup,
    menu,
    nav,
    output,
    ruby,
    section,
    summary,
    time,
    mark,
    audio,
    video {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 100%;
        font: inherit;
        vertical-align: baseline;
    }
    
    article,
    aside,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    menu,
    nav,
    section {
        display: block;
    }
    
    body {
        line-height: 1;
    }
    
    ol,
    ul {
        list-style: none;
    }
    
    blockquote,
    q {
        quotes: none;
    }
    
    blockquote:before,
    blockquote:after,
    q:before,
    q:after {
        content: '';
        content: none;
    }
    
    table {
        border-collapse: collapse;
        border-spacing: 0;
    }
    
    * {
        padding: 0;
        margin: 0;
        box-sizing: border-box;
        font-family: Arial, sans-serif;
    }
    
    body {
        font-family: Arial, sans-serif;
        background-color: #f4f4f4;
    }
    
    p {
        font-size: 1.2em;
        margin-bottom: 15px;
    }
    
     :root {
        --blue-color: #0075EB;
        --white-color: #FFFFFF;
        --black-color: #1B1B1B;
    }
    
    .container {
        max-width: 788px;
        margin: 0 auto;
        padding: 0 15px;
    }
    
    .spin-container {
        max-width: 630px;
        margin: 0 auto;
        padding: 0 15px;
    }
    
    header {
        background-color: #febd17;
        padding: 10px 0;
    }
    
    header .header-two .row {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    
    header .header-left-section img {
        width: 98px;
        height: auto;
    }
    
    header .header-right-section {
        text-align: right;
    }
    
    header .header-right-section .btn {
        display: inline-block;
        padding: 2px 26px;
        font-size: 16px;
        text-transform: uppercase;
        background: #1A1A1A;
        color: #fff;
        border-radius: 3px;
        text-align: center;
        letter-spacing: 1px;
        font-weight: 600;
        box-shadow: 0 3px 6px rgb(0 0 0 / 40%);
    }
    
    main {
        padding-top: 10px;
    }
    
    .gift-txt-section,
    .shopping-txt-section,
    .spin-btn {
        text-align: center;
    }
    
    .gift-txt-section h1 {
        font-weight: 700;
        font-size: 35px;
        text-shadow: -0.3px 0.3px 1px rgba(0, 0, 0, 0.3);
        color: #333;
        line-height: 4.5rem;
        margin: 25px auto 10px;
        text-align: center;
    }
    
    .gift-txt-section h2 {
        font-size: 24px;
        font-weight: 400;
        color: #000000;
        text-align: center;
    }
    
    .gift-txt-section h3 {
        font-size: 30px;
        font-weight: bold;
        color: #ff6347;
    }
    
    .spin img {
        width: 100%;
        height: 100%;
    }
    
    #spinner {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        vertical-align: middle;
    }
    
    .spin #spin-btn,
    .spin #spin-arrow {
        max-width: 180px;
        width: calc(100vw* .3);
        max-height: 180px;
        height: calc(100vw* .3);
        border-radius: 50%;
        display: inline-block;
        position: absolute;
    }
    
    .spin #spin-btn {
        cursor: pointer;
        background: white;
        background-size: 100% 100%;
        box-shadow: 0 0 15px rgba(0, 0, 0, .25);
        animation: spinBtn 2s linear infinite;
        border: 5px solid transparent;
        text-align: center;
        -webkit-animation: spinBtn 2s linear infinite;
    }
    
    .spin #spin-arrow {
        transition-timing-function: ease-in-out;
        transition: 3s;
    }
    
    .spin #spin-arrow:after {
        content: '';
        position: absolute;
        left: 2px;
        top: 2px;
        width: calc(100vw* .14167);
        max-width: 85px;
        height: calc(100vw* .14167);
        max-height: 85px;
        background-color: white;
        box-shadow: -2px -2px 10px rgba(0, 0, 0, .25);
    }
    
    .spin #spin-btn p {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
        font-family: 'Montserrat', sans-serif;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
    }
    
    .shopping-txt-section h4 {
        font-size: 30px;
        font-weight: 500;
        margin: 25px 0;
        text-transform: uppercase;
    }
    
    .shopping-txt-section .giftcard {
        padding: 24px 0;
        letter-spacing: 1.5px;
        max-width: 550px;
        width: 100%;
        font-size: 32px;
        animation: 1s ease-out 1s 1 pulse;
        -webkit-animation: 1s ease-out 1s 1 pulse;
        text-shadow: -0.5px 0.5px 1px rgba(0, 0, 0, 0.5);
        text-transform: uppercase;
        text-decoration: none;
        height: auto;
        outline: none;
        cursor: pointer;
        position: relative;
        z-index: 0;
        font-weight: 700;
        border-radius: 11px;
        background: #febd17;
        box-shadow: 0 3px 6px rgb(0 0 0 / 40%);
        color: #000;
        display: block;
        margin: 0px auto;
    }
    
    .shopping-txt-section .giftcard:hover {
        background: #111;
        box-shadow: 0 3px 6px rgb(0 0 0 / 40%);
        color: #febd17;
        outline: none;
    }
    
    .shopping-txt-section h5 {
        font-size: 14px;
        line-height: normal;
        padding-top: 35px;
    }
    
    footer {
        width: 100%;
        padding: 15px 0;
        border-top: 10px solid #00A7C8;
        background: #2e2e2e;
        color: #fff;
        text-align: center;
        margin-top: 50px;
    }
    
    footer ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    
    footer .footer-links ul li {
        padding: 10px 0;
        width: 100%;
        text-align: center;
        font-size: 20px;
        letter-spacing: 0.1px;
        border: none;
        display: inline-block;
    }
    
    footer .footer-links ul li a {
        color: #fff;
        text-decoration: none;
        font-size: 20px;
        letter-spacing: 0.1px;
    }
    
    footer .footer-copy {
        font-size: 12px;
        letter-spacing: 0.1px;
        padding-top: 15px;
    }
    
    .bubble {
        position: fixed;
        left: 30px;
        top: 30px;
        background-color: #4CAF50;
        color: white;
        padding: 10px 20px;
        border-radius: 25px;
        font-size: 16px;
        font-weight: bold;
        box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
        display: none;
        opacity: 0;
        z-index: 9999;
        animation: bubbleAnimation 3s forwards;
        -webkit-animation: bubbleAnimation 3s forwards;
    }
    
    .spin-btn #si-btn {
        max-width: 320px;
        background: white;
        color: black;
        text-align: center;
        font-family: sans-serif;
        border-radius: 15px;
        margin: 0 auto 25px auto;
        padding: 0px;
        filter: invert(1);
        opacity: 0;
        -webkit-filter: invert(1);
        -webkit-border-radius: 15px;
        -moz-border-radius: 15px;
        -ms-border-radius: 15px;
        -o-border-radius: 15px;
    }
    
    .spin-btn .email-input-container {
        display: none;
    }
    
    .spin-btn .email-input-container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: 20px;
        background-color: #f5f7fb;
        border-radius: 10px;
        padding: 20px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        -ms-border-radius: 10px;
        -o-border-radius: 10px;
    }
    
    .spin-btn .email-input {
        width: 100%;
        padding: 15px;
        margin-top: 10px;
        font-size: 16px;
        border-radius: 8px;
        border: 1px solid #ccc;
        outline: none;
        box-sizing: border-box;
        transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    }
    
    .spin-btn .email-input:focus {
        border-color: #0066cc;
        box-shadow: 0 0 5px rgba(0, 102, 204, 0.5);
    }
    
    .spin-btn .email-input::placeholder {
        color: #aaa;
        font-style: italic;
    }
    
    .spin-btn .submit-btn {
        text-align: center;
        display: inline-block;
        margin-top: 15px;
        padding: 12px 25px;
        background-color: #0066cc;
        color: white;
        font-size: 16px;
        font-weight: 600;
        text-decoration: none;
        border-radius: 8px;
        transition: background-color 0.3s, transform 0.3s;
    }
    
    .spin-btn .submit-btn:hover {
        background-color: #005bb5;
        transform: translateY(-2px);
    }
    
    .spin-offer {
        max-width: 600px;
        padding: 20px;
        border-radius: 15px;
        text-align: center;
        font-size: 24px;
        font-family: sans-serif;
        position: relative;
        display: none;
        vertical-align: middle;
        animation: spin 2s linear forwards;
        color: white;
        box-shadow: 10px 10px 10px rgba(0, 0, 0, .25);
        margin-bottom: 30px;
    }
    
    .spin-btn .spin-offer .item {
        padding: 10px;
    }
    
    .spin-btn .spin-disc {
        font-size: 12px;
    }
    
    .spin-btn .spin-info {
        padding-top: 0px !important;
    }
    
    @keyframes spinBtn {
        0% {
            border: 5px solid black;
        }
        50% {
            border: 5px solid red;
        }
        100% {
            border: 5px solid black;
        }
    }
    
    @keyframes bubbleAnimation {
        0% {
            opacity: 0;
            transform: translateX(-30px) translateY(-30px);
            -webkit-transform: translateX(-30px) translateY(-30px);
            -moz-transform: translateX(-30px) translateY(-30px);
            -ms-transform: translateX(-30px) translateY(-30px);
            -o-transform: translateX(-30px) translateY(-30px);
        }
        50% {
            opacity: 1;
            transform: translateX(0) translateY(0);
            -webkit-transform: translateX(0) translateY(0);
            -moz-transform: translateX(0) translateY(0);
            -ms-transform: translateX(0) translateY(0);
            -o-transform: translateX(0) translateY(0);
        }
        100% {
            opacity: 0;
            transform: translateX(30px) translateY(30px);
            -webkit-transform: translateX(30px) translateY(30px);
            -moz-transform: translateX(30px) translateY(30px);
            -ms-transform: translateX(30px) translateY(30px);
            -o-transform: translateX(30px) translateY(30px);
        }
    }
    
    @keyframes spin {
        0% {
            opacity: 0;
        }
        100% {
            opacity: 1;
        }
    }
    /*--- media query ---*/
    
    @media only screen and (max-width: 1399px) {
        main {
            padding-top: 8px;
        }
        .gift-txt-section h1 {
            font-size: 30px;
            line-height: 3.5rem;
            margin: 20px auto 8px;
        }
        .gift-txt-section h2 {
            font-size: 22px;
        }
        .gift-txt-section h3 {
            font-size: 28px;
        }
        .spin-offer {
            margin-bottom: 25px;
            font-size: 22px;
        }
        .shopping-txt-section h4 {
            font-size: 28px;
            margin: 20px 0;
        }
        .spin-btn .spin-offer .item {
            padding: 8px;
        }
        .shopping-txt-section .giftcard {
            padding: 20px 0;
            letter-spacing: 1.2px;
            max-width: 500px;
            width: 100%;
            font-size: 28px;
        }
        .shopping-txt-section h5 {
            padding-top: 30px;
        }
        footer {
            margin-top: 40px;
        }
        footer .footer-links ul li {
            padding: 8px 0;
            font-size: 18px;
        }
        footer .footer-links ul li a {
            font-size: 18px;
        }
        footer {
            padding: 12px 0;
        }
    }
    
    @media only screen and (max-width: 991px) {
        .gift-txt-section h1 {
            font-size: 25px;
            line-height: 2.5rem;
            margin: 15px auto 5px;
        }
        .gift-txt-section h2 {
            font-size: 18px;
        }
        .gift-txt-section h3 {
            font-size: 25px;
        }
        .shopping-txt-section h4 {
            font-size: 25px;
            margin: 18px 0;
        }
        .shopping-txt-section .giftcard {
            padding: 18px 0;
            max-width: 480px;
            font-size: 25px;
        }
    }
    
    @media only screen and (max-width: 767px) {
        main {
            padding-top: 5px;
        }
        header .header-right-section .btn {
            padding: 2px 20px;
            font-size: 14px;
        }
        .gift-txt-section h1 {
            font-size: 20px;
            line-height: 2.3rem;
            margin: 10px auto 3px;
        }
        .gift-txt-section h2 {
            font-size: 16px;
        }
        .gift-txt-section h2 br {
            display: none;
        }
        .gift-txt-section h3 {
            font-size: 20px;
        }
        .spin-offer {
            margin-bottom: 15px;
            font-size: 20px;
            padding: 18px;
        }
        .shopping-txt-section h4 {
            font-size: 20px;
            margin: 15px 0;
        }
        .shopping-txt-section .giftcard {
            padding: 15px 0;
            max-width: 400px;
            font-size: 20px;
        }
        footer {
            margin-top: 30px;
        }
        footer .footer-links ul li {
            padding: 5px 0;
            font-size: 16px;
        }
        footer .footer-links ul li a {
            font-size: 16px;
        }
        footer .footer-copy {
            padding-top: 10px;
        }
    }
    
    @media only screen and (max-width: 575px) {
        header .header-left-section,
        header .header-right-section {
            width: 50%;
            flex: 0 0 50%;
        }
        .spin-container {
            max-width: 100%;
        }
        .spin #spin-btn,
        .spin #spin-arrow {
            max-width: 160px;
            max-height: 160px;
        }
        p {
            font-size: 1em;
        }
    }
    
    @media only screen and (max-width: 480px) {
        .spin #spin-btn,
        .spin #spin-arrow {
            max-width: 130px;
            max-height: 130px;
        }
        .gift-txt-section h1 {
            font-size: 18px;
            line-height: 2rem;
            margin: 8px auto 3px;
        }
        .gift-txt-section h3 {
            font-size: 18px;
        }
        .gift-txt-section h2 {
            font-size: 14px;
        }
        label.input-label {
            font-size: 14px;
        }
        .spin-btn .email-input {
            padding: 10px;
            margin-top: 8px;
            font-size: 14px;
        }
        .spin-btn .submit-btn {
            margin-top: 10px;
            padding: 10px 20px;
            font-size: 14px;
        }
        .spin-offer {
            margin-bottom: 15px;
            font-size: 18px;
            padding: 15px;
        }
        .shopping-txt-section h4 {
            font-size: 18px;
            margin: 12px 0;
        }
        .shopping-txt-section .giftcard {
            padding: 15px 0;
            max-width: 300px;
            font-size: 18px;
        }
        .shopping-txt-section h5 {
            padding-top: 25px;
        }
        footer {
            margin-top: 25px;
        }
        footer {
            padding: 10px 0;
        }
        footer .footer-links ul li,
        footer .footer-links ul li a {
            font-size: 14px;
        }
        .spin #spin-btn p {
            font-size: 14px;
        }
        .bubble {
            padding: 8px 16px;
            font-size: 14px;
        }
    }
    
    @media only screen and (max-width: 375px) {
        .spin #spin-btn,
        .spin #spin-arrow {
            max-width: 100px;
            max-height: 100px;
        }
        .spin #spin-btn p {
            font-size: 12px;
        }
        header .header-left-section,
        header .header-right-section {
            width: 100%;
            flex: 0 0 100%;
        }
        header .header-two .row {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        header .header-right-section {
            text-align: center;
            margin-top: 15px;
        }
        header .header-left-section img {
            width: 80px;
            height: auto;
            margin: 0px auto;
            display: block;
        }
        .bubble {
            padding: 5px 10px;
            font-size: 12px;
        }
    }