@CHARSET "UTF-8";

/*
* { outline: 2px dotted red }
* * { outline: 2px dotted green }
* * * { outline: 2px dotted orange }
* * * * { outline: 2px dotted blue }
* * * * * { outline: 1px solid red }
* * * * * * { outline: 1px solid green }
* * * * * * * { outline: 1px solid orange }
* * * * * * * * { outline: 1px solid blue }
*/

@import url('https://mitsubishi.prototyp.info/css/fonts.css');

/*
#main-container {
    box-shadow: 0px 0px 16px #303030;
    background-color: white;
    position: relative;
    margin: 0 auto 16px;
    padding: 0;
}
*/

.container-xxl, .container-fluid {
    max-width: 1920px;
    margin: 0 auto;
}

.content {
    padding-bottom: 2rem;
}

label {
    color: black;
}

.form-error {
    background-color: #c08080 !important;
    border: 1px solid #c00000 !important;
}

label.error-message {
    color: #c00000;
    background: transparent;
}

input[type="radio"],
input[type=checkbox] {
    transform: scale(2);
    margin: 15px;
}

.form-control,
.checkbox input {
    background: rgba(60, 60, 60, 0.75);
    border: 2px inset black;
    color: #e0e0e0;
    font-weight: bold;
}

.form-control:active,
.form-control:focus {
    background: rgba(15, 15, 15, 0.66);
    border: 2px inset black;
    color: #f0f0f0;
    box-shadow: 0px 0px 4px 4px rgba(255, 255, 255, 0.50);
}

.checkbox label {
    padding: 4px 8px 4px 24px;
    margin-top: 20px;
    font-weight: bold;
}

table.regs {
    border-collapse: separate;
    border-spacing: 4px;
    font-size: 20px;
}

.regs th {
    color: #e0e0e0;
    font-weight: bold;
}

.regs td {
    /*
	background: rgba(60, 60, 60, 0.75);
	border: 2px inset black;
	border-radius: 4px;
*/
    border-bottom: 2px solid white;
    color: #e0e0e0;
    padding: 0 4px;
}

@media (max-width: 1199px) {
    table.regs {
        font-size: 16px;
    }
}

@media (max-width: 991px) {
    table.regs {
        font-size: 13px;
    }
}

@media (max-width: 767px) {
    table.regs {
        font-size: 10px;
    }
}

.overlay {
    display: none;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}

.newsModal {
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

#toggle_sound {
    position: absolute;
    z-index: 4;
    width: 40px;
    height: 40px;
    top: 0;
    left: 1%;
    background-size: contain;
    border-radius: 8px;
    cursor: pointer;
}

#toggle_sound.on {
    background: #008000 url('https://www.diamantenspiel.de/img/sound-on.png') 0 0 no-repeat;
}

#toggle_sound.off {
    background: #800000 url('https://www.diamantenspiel.de/img/sound-off.png') 0 0 no-repeat;
}


/*@media (hover: none) and (pointer: coarse) { */

@media (hover: none) {
    .touch-only {
        display: block;
    }
    .notouch-only {
        display: none;
    }
}


/*@media (hover: hover) and (pointer: fine) { */

@media (hover: hover) {
    .touch-only {
        display: none;
    }
    .notouch-only {
        display: block;
    }
}


.hidden {
    display: none;
}

#price,
div#score {
    line-height: 1;
    font-weight: bold;
    font-family: 'LibreFranklin', 'Open Sans', sans-serif, Arial, Helvetica;
    color: firebrick;
    padding: 0.5rem 1rem;
    margin: 0 auto 1rem;
    font-size: 2rem;
}

.nav-link.extra {
    background-color: firebrick !important;
    color: white !important;
}

nav.navbar .nav-link {
    text-transform: uppercase;
    color: black;
    font-weight: bold;
    padding: 0;
    margin: 0;
}

nav.navbar .nav-link:hover,
nav.navbar .nav-link:active,
nav.navbar .nav-link:focus {
    background: transparent;
    text-decoration: underline;
}

nav.navbar .dropdown-menu {
    padding: 1rem 0.5rem;
    margin: 0;
    background: #e0e0e0;
    border-radius: 0;
    transition: all 0.5s;
    box-shadow: 5px 5px 10px black;
}

nav.navbar .dropdown-menu .nav-item,
nav.navbar .dropdown-menu .dropdown-item.nav-link {
    padding: 0;
    margin: 0;
    font-size: 1rem;
    font-weight: normal;
    line-height: 2;
}

nav.navbar {
    height: 0;
    padding-bottom: 0;
    padding-top: 0;
    z-index: 1;
}

nav.navbar {
    /*height: 80px;*/
    font-size: 1rem;
}

#navbar1 {
    background-color: white;
}

@media only screen and (max-width: 768px) {
    #navbar1>div>ul {
        margin-top: 0;
    }
}

.navbar-toggler {
    border: none;
    margin-top: -24px;
    color: transparent;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.min-xl {
    min-width: 1200px;
}

.wobble {
    z-index: 2;
    display: inline-block;
    transform-origin: 50% 50%;
    transition: all 0.33s ease-in-out;
}

.wobble:hover {
    animation: wobble 0.2s ease-in-out infinite;
}

@keyframes wobble {
    0%   { transform: rotate(0deg); }
    25%  { transform: rotate(3deg); }
    50%  { transform: rotate(0deg); }
    75%  { transform: rotate(-2deg); }
    100% { transform: rotate(0deg); }
}

@media screen and (max-width: 1200px) {
    .wobble {
        transform: scale(0.66);
    }    

    @keyframes wobble {
        0%   { transform: scale(0.66) rotate(0deg); }
        25%  { transform: scale(0.66) rotate(3deg); }
        50%  { transform: scale(0.66) rotate(0deg); }
        75%  { transform: scale(0.66) rotate(-2deg); }
        100% { transform: scale(0.66) rotate(0deg); }
    }
}

@keyframes lefttoright-effect {
    0%   { transform: translateX(10px); }
    20%  { transform: translateX(max(20px,  min(calc(45vw  - (170px * 0.45)), calc((1920px - 170px) * 0.45)))); }
    50%  { transform: translateX(max(85px,  min(calc(50vw  - (170px * 0.50)), calc((1920px -  85px) * 0.50)))); }
    80%  { transform: translateX(max(150px, min(calc(55vw  - (170px * 0.55)), calc((1920px - 170px) * 0.55)))); }
    100% { transform: translateX(max(160px, min(calc(100vw -  180px),         calc( 1920px - 180px)))); }
}

@keyframes lefttocenter-effect {
    0%   { transform: translateX(10px); }
    75%  { transform: translateX(max(20px,  min(calc(45vw - 333px), calc((1920px - 503px) * 0.40)))); }
    100% { transform: translateX(max(85px,  min(calc(50vw - 333px), calc((1920px - 503px) * 0.45)))); }
}

@keyframes righttocenter-effect {
    0%   { transform: translateX(max(160px, min(calc(100vw + calc(170px - 333px)), calc( 1920px - 180px)))); }
    75%  { transform: translateX(max(150px, min(calc(55vw  + 170px), calc((1920px + 333px) * 0.55)))); }
    100% { transform: translateX(max(85px,  min(calc(50vw  + 170px), calc((1920px + 333px) * 0.50)))); }
}

@keyframes shake-effect {
    0%   { transform: rotate(0deg); }
    25%  { transform: rotate(3deg); }
    50%  { transform: rotate(0deg); }
    75%  { transform: rotate(-2deg); }
    100% { transform: rotate(0deg); }
}

@keyframes shake-pause-effect {
    0%   { transform: translateY(0px) rotate(0deg); }
    1%  { transform: translateY(2px) rotate(6deg); }
    2%  { transform: translateY(0px) rotate(0deg); }
    3%  { transform: translatex(2px) rotate(-5deg); }
    4% { transform: translateY(-2px) rotate(0deg); }
    5%   { transform: translateX(0px) rotate(0deg); }
    6%  { transform: translateX(-2px) translateY(0px) rotate(6deg); }
    7%  { transform: translateX(0) translateX(2px)  rotate(0deg); }
    8%  { transform: translateY(0) rotate(-5deg); }
    9% { transform: rotate(0deg); }
    100% { transform: rotate(0deg); }
}


img.hit {
    animation: hit 0.4s linear;
}

@keyframes hit {
    0%   { transform: scale(0.5) skewX(0deg); }
    5%   { transform: scale(0.46) skewX(3deg); }
    10%  { transform: scale(0.42) skewX(6deg); }
    15%  { transform: scale(0.38) skewX(6deg); }
    20%  { transform: scale(0.34) skewX(9deg); }
    25%  { transform: scale(0.30) skewX(12deg); }
    30%  { transform: scale(0.28) skewX(10deg); }
    35%  { transform: scale(0.26) skewX(8deg); }
    40%  { transform: scale(0.24) skewX(6deg); }
    45%  { transform: scale(0.22) skewX(4deg); }
    50%  { transform: scale(0.20) skewX(2deg); }
    55%  { transform: scale(0.25) skewX(2deg); }
    60%  { transform: scale(0.30) skewX(4deg); }
    65%  { transform: scale(0.35) skewX(6deg); }
    70%  { transform: scale(0.40) skewX(8deg); }
    75%  { transform: scale(0.45) skewX(10deg); }
    80%  { transform: scale(0.42) skewX(7deg); }
    85%  { transform: scale(0.39) skewX(4deg); }
    90%  { transform: scale(0.36) skewX(1deg); }
    95%  { transform: scale(0.33) skewX(-2deg); }
    100% { transform: scale(0.30) skewX(-5deg); }
}

#game {
    position: relative;
    width: 100%;
    height: min(794px, 85vh);
    overflow: hidden;
    background-position: center center;
    background-repeat: none;
    background-size: cover;
    cursor: url('https://www.diamantenspiel.de/img/fadenkreuz128.png') 64 64, url('https://www.diamantenspiel.de/img/fadenkreuz64.png') 32 32, url('https://www.diamantenspiel.de/img/fadenkreuz32.png') 16 16, crosshair;
}

#game img:hover {
    cursor: url('https://www.diamantenspiel.de/img/fadenkreuz-active128.png') 64 64, url('https://www.diamantenspiel.de/img/fadenkreuz-active64.png') 32 32, url('https://www.diamantenspiel.de/img/fadenkreuz-active32.png') 16 16, crosshair;
}

#game {
    opacity: 0.33;
}

.play #game {
    opacity: 1;
}

#counter {
    position: absolute;
    z-index: 1;
    top: 1rem;
    left: 0;
    color: darkslategrey;
    font-size: 150%;
    font-weight: bold;
}

#code {
    color: white;
    font-weight: bold;
}

#voucher, #coupon {
    color: darkgreen;
}
