html, body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    min-width: 100%;
    overflow: auto;
}

html {
    --heightwidth: 100vh;
}

body {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    touch-action: manipulation;
    font-family: 'Open Sans', sans-serif;
    fonz-weight: 600;
    font-size: 16px;
    color: #1e1e1e;
    background: #FEFEFF;
    /*-webkit-text-size-adjust: 300%;
    text-size-adjust: 300%;*/
}

@media only screen and (max-width: 650px) {
    body {
        font-size: 14px;
    }
}

@media only screen and (max-width: 520px) {
    body {
        font-size: 12px;
    }
}

.wrapper {
    position: relative;
    display: block;
    width: var(--heightwidth);
    height: calc(var(--heightwidth) + 2rem);
    min-width: 500px;
    min-height: 500px;
    margin-top: 9rem;
    transform: translateX(calc((100vw - var(--heightwidth)) / 2));
}

table {
    position: absolute;
    width: var(--heightwidth);
    height: var(--heightwidth);
    min-width: 500px;
    min-height: 500px;
    border: #79C7C5;
    box-shadow: 0px 0px 30px #999;
    margin-top: 1rem;
    margin-bottom: 1rem;
    background: #ffffff;
}

@media only screen and (min-width: 600px) {
    table {
        left: 50%;
        transform: translateX(-50%);
        margin-left: 1rem;
        margin-right: 1rem;
    }
}

tr {
    width: var(--heightwidth);
    height: calc(var(--heightwidth) / 5);
    min-width: 500px;
    min-height: 100px;
}

td {
    position: relative;
    width: calc(var(--heightwidth) / 5);
    height: calc(var(--heightwidth) / 5);
    min-width: 100px;
    min-height: 100px;
    text-align: center;
}

.checked {
    background: #79C7C5;
}

.bingowin {
    position: fixed;
    top: 0;
    left: 0;
    /* pointer-events: none; */
    z-index: 1080;
    width: 100vw;
    height: 100vh;
    background: #FEFEFF;
}

.bingowinwrapper {
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    display: block;
    position: absolute;
    max-width: 225px;
    animation-name: scale15;
    animation-duration: 0.6s;
    animation-direction: alternate;
    animation-iteration-count: infinite;
}

.bingowinheadline {
    color: #fff;
    text-transform: uppercase;
    font-size: 42px;
    margin: 0;
    line-height: 47px;
    letter-spacing: 2px;
}

.bingowintext {
    transform: translateX(-50%) rotate(-10deg) skew(-10deg);
    display: block;
    /* float: left; */
    left: 50%;
    position: relative;
    text-shadow: #533d4a 1px 1px, #533d4a 2px 2px, #533d4a 3px 3px, #533d4a 4px 4px, #533d4a 5px 5px, #533d4a 6px 6px;
    min-width: 10px;
    min-height: 10px;
    animation-name: letterspacing4;
    animation-duration: 0.6s;
    animation-direction: alternate;
    animation-iteration-count: infinite;
}
.bingowintext span {
    transform: skew(-10deg);
}

.bingowintext:nth-child(1) {
    color: #e55643;
}
.bingowintext:nth-child(2) {
    color: #2b9f5e;
}
.bingowintext:nth-child(3) {
    color: #f1c83c;
}

@keyframes scale15 {
    from {transform: translate(-50%, -50%) scale(1);}
    to {transform: translate(-50%, -50%) scale(1.5);}
}

@keyframes letterspacing4 {
    from {letter-spacing: 2px;}
    to {letter-spacing: 4px;}
}

.info {
    max-height: 10px;
    font-size: 8px !important;
    text-align: center;
    background: #ffffff;
}

a, a:hover, a:active, a:visited {
    color: #1e1e1e !important;
}

td:after {
    content: '';
    display: block;
    margin-top: 100%;
    pointer-events: none;
}
td .content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: none;
    pointer-events: none;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 0.3rem;
}

.title {
    width: 100vw;
    height: 4rem;
    position: fixed;
    background: #FEFEFF;
}

.titleadd {
    transform: translateX(calc((100vw - var(--heightwidth)) / 2)) rotate(-10deg) skew(-10deg);
    text-transform: uppercase;
    margin: 0;
    line-height: 47px;
    letter-spacing: 2px;
}

.title span, .titleadd span {
    position: absolute;
    display: block;
}

.title span:nth-child(1) {
    left: .5rem;
    top: .5rem;
}

.titleadd span:nth-child(1) {
    left: 1.5rem;
    top: -1.7rem;
    color: #e55643;
    z-index: 2;
    font-size: 24px;
}
.titleadd span:nth-child(2) {
    left: 1.5rem;
    top: 0;
    color: #f1c83c;
    text-shadow: #533d4a 1px 1px, #533d4a 2px 2px, #533d4a 3px 3px, #533d4a 4px 4px, #533d4a 5px 5px, #533d4a 6px 6px;
    z-index: 1;
    font-size: 42px;
}

@media only screen and (max-width: 750px) {
    .titleadd span:nth-child(1) {
        top: 0;
    }
    .titleadd span:nth-child(2) {
        top: 1.7rem;
    }
}

@media only screen and (max-width: 450px) {
    .titleadd {
        line-height: 35px;
    }
    .titleadd span:nth-child(1) {
        font-size: 20px;
        top: 1rem;
    }
    .titleadd span:nth-child(2) {
        font-size: 32px;
        top: 2.7rem;
    }

    .wrapper {
        margin-top: 7.3rem;
    }
}
