/* The Thistles Gift Card Competition CSS */
body {
    margin: 0;
    padding: 0;
    font-family:'Harmonia Sans W05 Regular';
    color: white;
    overflow: hidden;
    background-image: url( '../media/bg-graphic.png' );
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100vh;
}
a img {
    border: 0;
    outline: 0;
}
header {
    display: block;
    position: relative;
}
header a#logo {
    display: block;
    background-color: #fff;
    padding: 20px 42px;
}
header a#logo img {
    display: block;
    margin: 0 auto;
    max-width: 143px;
    width: 143px;
}
#canvas {
    display: block;
    position: relative;
    height: calc( 100vh - 92.36px );
    height: -webkit-calc( 100vh - 92.36px );
    height: -moz-calc( 100vh - 92.36px );
    height: -ms-calc( 100vh - 92.36px );
}
#introduction,
#win-form.display,
#success-form {
    display: block;
    position: absolute;
    padding: 15px 25px;
    left: 20px;
    right: 20px;
    top: 10px;
    background-color: #fff;
    -webkit-box-shadow: 2px 2px 114px 27px rgba(0,0,0,0.29);
    -moz-box-shadow: 2px 2px 114px 27px rgba(0,0,0,0.29);
    box-shadow: 2px 2px 114px 27px rgba(0,0,0,0.29);
    background-image: url( '../media/christmas-pudding.svg' );
    background-size: 50px 50px;
    background-repeat: no-repeat;
    background-position: top 85px right 25px;
    z-index: 999;
}
#success-form {
    background-position: top 15px right 25px;
}
#win-form.display {
    background-image: none;
    overflow-x: scroll;
}
#introduction h1 {
    text-transform: uppercase;
    display: block;
    margin: 0;
    color: #644b78;
    font-size: 33.54px;
    font-weight: 600;
    font-family:'Harmonia Sans W05 Semibold';
    margin-bottom: 50px;
}
#introduction h1 span:first-child {
    display: inline;
    color: #be1522;
}
#introduction h1 span:last-child {
    display: block;
    font-weight: 400;
    font-family:'Harmonia Sans W05 Regular';
    font-size: 23.48px;
}
#introduction p {
    display: block;
    margin: 0;
    color: #292929;
    font-size: 18px;
}
#introduction a.play-button {
    display: block;
    background-color: #f1f1f1;
    border-radius: 5px;
    color: #be1522;
    font-size: 33.54px; 
    text-transform: uppercase;
    text-align: center;
    padding: 10px 0;
    margin: 25px 0 0 0;
}
#win-form {
    display: none;
}
#win-form.display h2,
#win-form.display p,
#success-form h2,
#success-form p {
    color: #644b78;
}
#win-form.display label {
    display: inline-block;
    width: 100px;
    color: #000;
}
#introduction.display-none {
    display: none;
}

@media only screen and ( min-width: 375px ) {
    #introduction {
        top: 100px;
        background-position: top 15px right 25px;
        background-size: 75px;
    }
}
@media only screen and ( min-width: 412px ) {
    #introduction {
        top: 125px;
        background-size: 87px 88px;
    }
}


@media only screen and ( min-width: 768px ) {
    #introduction,
    #win-form.display,
    #success-form {
        padding: 55px 45px;
        margin: 0 auto;
        max-width: 400px;
        width: 400px;
        top: 10vh;
    }
    #introduction h1 {
        margin-bottom: 75px;
    }
    #introduction a.play-button {
        margin: 45px 0 0 0;
        padding: 16px 0 21px;
    }
}
@media only screen and ( min-width: 1200px ) {
    #introduction,
    #win-form.display,
    #success-form {
        background-position: top 35px right 45px;
    }
}


/* SVG */
@keyframes upDownTopRight {
    0% {
        transform: rotate( 0deg );
        transform-origin: bottom left;
    }
    25% {
        transform: rotate( 30deg );
        transform-origin: bottom left;
    }
    50% {
        transform: rotate( 0deg );
        transform-origin: bottom left;
    }
    75% {
        transform: rotate( -30deg );
        transform-origin: bottom left;
    }
    100% {
        transform: rotate( 0deg );
        transform-origin: bottom left;
    }
}
@keyframes upDownBottomRight {
    0% {
        transform: rotate( 0deg );
        transform-origin: center left;
    }
    25% {
        transform: rotate( 30deg );
        transform-origin: center left;
    }
    50% {
        transform: rotate( 0deg );
        transform-origin: center left;
    }
    75% {
        transform: rotate( -30deg );
        transform-origin: center left;
    }
    100% {
        transform: rotate( 0deg );
        transform-origin: center left;
    }
}
@keyframes upDownTopLeft {
    0% {
        transform: rotate( 0deg );
        transform-origin: bottom right;
    }
    25% {
        transform: rotate( -30deg );
        transform-origin: bottom right;
    }
    50% {
        transform: rotate( 0deg );
        transform-origin: bottom right;
    }
    75% {
        transform: rotate( 30deg );
        transform-origin: bottom right;
    }
    100% {
        transform: rotate( 0deg );
        transform-origin: bottom right;
    }
}
@keyframes upDownBottomLeft {
    0% {
        transform: rotate( 0deg );
        transform-origin: center right;
    }
    25% {
        transform: rotate( -30deg );
        transform-origin: center right;
    }
    50% {
        transform: rotate( 0deg );
        transform-origin: center right;
    }
    75% {
        transform: rotate( 30deg );
        transform-origin: center right;
    }
    100% {
        transform: rotate( 0deg );
        transform-origin: center right;
    }
}
@keyframes leftRight {
    0% {
        transform: translateX( 0 ) translateY( 0 );
    }
    25% {
        transform: translateX( 10px ) translateY( 5px );
    }
    50% {
        transform: translateX( 0 ) translateY( 0 );
    }
    75% {
        transform: translateX( -10px ) translateY( 5px );
    }
    100% {
        transform: translateX( 0 ) translateY( 0 );
    }

}
.cls-1{fill:#794825;}
.cls-2{fill:#88502b;}
.cls-3{fill:#c47b3d;}
.cls-4{fill:#f0f0f0;}
.cls-5{fill:#fff;}
.cls-6{fill:#64862e;}
.cls-7{fill:#779c36;}
.cls-8{fill:#8e1315;}
.cls-9{fill:#be1622;}
.right-top-holly { animation: 0.2s upDownTopRight; animation-iteration-count: infinite; }
.right-bottom-holly { animation: 0.2s upDownBottomRight; animation-iteration-count: infinite; }
.left-top-holly { animation: 0.2s upDownTopLeft; animation-iteration-count: infinite; }
.left-bottom-holly { animation: 0.2s upDownBottomLeft; animation-iteration-count: infinite; }
#Pudding { animation: 0.6s leftRight; animation-iteration-count: infinite; }

svg.flying-pudding {
    display: block;
    position: absolute;
    width: 50px;
    height: 75px;
    opacity: 0;
}

@media only screen and ( min-width: 768px ) {
    svg.flying-pudding {
        width: 75px;
        height: 100px;
    }
}