@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');


* {
    font-size: 16px;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}


:root {
    /* COLOR */
    --SLATE-900: #1F314F;
    --SLATE-500: #68778D;
    --SLATE-300: #D5E1EF;
    --WHITE: #FFFFFF;

    /* FONT */
    --HEADER: 800 1.5rem/120% "Outfit", sans-serif;
    --BODY: 500 0.9375rem/140% "Outfit", sans-serif;
}


body {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--SLATE-300);
}

.qr-container {
    max-width: 320px;
    /* min-height have NO effect until minmize window to certain size */
    min-height: 499px; 
    margin: 14.41rem auto;
    background-color: var(--WHITE);
    border-radius: 20px;
    /* overflow:auto */
    /* flexbox also fixes the overflow issue */
    display: flex;
    flex-direction: column;
    padding: 1rem 1rem 2.5rem 1rem;
}

.qr-code {
    margin-bottom: 1rem;
    /* margin: 1rem 1rem 0rem 1rem; */
    
}

.qr-code img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.qr-description {
     /* margin: 1.5rem 1rem 2.5rem 1rem;  */
     text-align: center;
}

.qr-description h3 {
    font: var(--HEADER);
    margin-bottom: 1rem;
}

.qr-description p {
    font: var(--BODY);
    letter-spacing: 0.2px;
    color: var(--SLATE-500);
}

@media only screen and (max-device-width: 480px) {
    .qr-container {
        margin: 9.7875rem auto;
    }
}