@import url('fonts/myriad-pro/load.css');
:root{
    --light:#ffffff;
    --contrast:#1F1F23;
    --accent:#F4DB9A;
    --accent-2:#BB9755;
    --accent-3:#65522E;
    --accent-4:#000000;
    --accent-5:#BA0570;
    --accent-5-darker:#a10460;

    --font:'Myriad Pro', Arial, sans-serif;
}
.panel{
    background-color: var(--light);
    color: var(--contrast);
    padding: 15px;
    border-radius: 8px;
    max-width: 800px;
    font-family: var(--font);
}
html,body{
    height: 100%;
    margin: 0;
    width: 100%;
    font-size: 16px;
    background: linear-gradient(var(--contrast),var(--accent-4),var(--contrast));
    color:var(--light);
    font-family: var(--font);
}
h2, strong{
    color: var(--accent);
}
*{
    box-sizing: border-box;
}
.main{
    min-height: 100%;
    display: flex;
    align-items: safe center;
    justify-content: safe center;
}
.card:before{
    content: "";
    position: absolute;
    inset:0;
    border-radius:8px;
    background: linear-gradient(transparent,var(--contrast),var(--contrast),var(--contrast),transparent);
    z-index: 1;
}
.card>.card-content>.card-bodies>div~*{
    display: none;
}
.card>.card-content>.card-bodies{
    flex:1;
}
.card>.card-content{
    position: relative;
    z-index: 2;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    min-height: 100%;
}
.card p{
    text-wrap: balance;
}
.card{
    position: relative;
    background: url(../img/bg.png) repeat-y left top/100%;
    border-radius:8px;
    background-color: var(--contrast);
    max-width: 480px;
    padding: 15px;
    box-shadow: 0 5px 10px rgba(0,0,0,0.3);
    height: clamp(840px,100vh,1000px);
    overflow: hidden;
    width: 100%;
}
.card-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}

.card-logos>img {
    max-width: 100px;
}

h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}
button{
    background: var(--accent-5);
    border: none;
    border-radius: 5px;
    padding: 15px 30px;
    color: var(--light);
    font-size: 18px;
    cursor: pointer;
    transition: background .3s, color .3s;
    text-transform: uppercase;
    -webkit-tap-highlight-color: transparent;
}
button:hover{
    background: var(--accent-5-darker);
}
img.banner {
    max-width: 100%;
    margin-top: -10px;
    max-width: 320px;
    display: block;
    margin: -10px auto;
}

img.bon {
    max-width: 142px;
    display: block;
    margin: auto;
    transition: margin-top .5s, opacity .5s;
    margin-top: 0;
}
.form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 324px;
    margin: 0 auto;
    align-items: center;
}

.form>label {
    position: relative;
    width: 100%;
}

.form>label>span {
    position: absolute;
    left: 10px;
    pointer-events: none;
    color: #A3A3A3;
    top: 8px;
    line-height: 1;
    transition: font-size .5s, transform .5s;
    transform: translateY(9px) translateX(10px);
}

.form>label>input.code {
    text-transform: uppercase;
}
.form>label>input {
    width: 100%;
    font-size: 16px;
    padding: 24px 10px 4px 10px;
    border-radius: 5px;
    border: none;
}

.form>label>input:focus {
    outline: none;
}
.form>label>input:focus+span, .form>label>input:valid+span {
    font-size: 16px;
    transform: translateY(0);
}
.form>div.checkbox {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 15px;
}

.form>div.checkbox>label {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    text-align: left;
    font-size: 12px;
}

a {
    color: var(--light);
}

.form>div.checkbox>label>span {
    margin-top: 4px;
}

@keyframes displayCardItem{
    from{opacity:0;transform:translateY(50px)}
    to{opacity:1;transform:translateY(0px);}
}
.card-bodies>div>*, .card-bodies .form>* {
    opacity: 0;
    animation: displayCardItem .5s cubic-bezier(0.18, 0.89, 0.32, 1.28) forwards;
}
@keyframes removeCardItem{
    to{filter:blur(30px);opacity:0;}
}
.card-bodies>.remove{
    animation:removeCardItem .5s forwards;
}
.card-bodies :nth-child(2){animation-delay:.1s;}
.card-bodies :nth-child(2){animation-delay:.2s;}
.card-bodies :nth-child(3){animation-delay:.3s;}
.card-bodies :nth-child(4){animation-delay:.4s;}
.card-bodies :nth-child(5){animation-delay:.5s;}
.card-bodies :nth-child(6){animation-delay:.6s;}
.card-bodies :nth-child(7){animation-delay:.7s;}
.card-bodies :nth-child(8){animation-delay:.8s;}
.card-bodies :nth-child(9){animation-delay:.9s;}
.card-bodies :nth-child(10){animation-delay:1s;}
.card-footer a{
    color: var(--accent-4);
    text-decoration: none;

}
.card-footer {
    margin: 10px -15px -15px -15px;
    background: var(--accent);
    color: var(--accent-4);
    font-size: 12px;
}
body.finished img.bon {
    opacity: 0;
    margin-top: -142px;
}
.card>.card-content>.card-bodies>[data-name="result"] {
    padding-top: 30px;
    padding-bottom: 60px;
    position: relative;
    margin-top: 50px;
}
.card>.card-content>.card-bodies>[data-name="result"]:after,
.card>.card-content>.card-bodies>[data-name="result"]:before{
    content: "";
    position: absolute;
    left: 50%;
    width: 28px;
    height: 28px;
    background: url(../img/star.svg) no-repeat center/contain;
    margin-left: -14px;
}
.card>.card-content>.card-bodies>[data-name="result"]:before {
    top: 10px;
}
.card>.card-content>.card-bodies>[data-name="result"]:after {
    bottom: 10px;
}