.text-shadow {
    text-shadow: 1px 1px 2px rgba(0,0,0,0.75);
}

.text-shadow-white{
    /*text-shadow: 1px 1px 2px rgba(255,255,255,1);*/
    color: rgba(10,10,10, 0.8);
    text-shadow: 1px 1px 1px #def, 0 0 0 #000, 1px 2px 3px #def;
}

.carte {
    width: 85.6mm;
    height: 53.98mm;
    border-radius: 3.175mm;
    overflow: hidden;
    position: relative;
    border:1px solid rgba(0,0,0,0.25);
    color: white;
}
.carte.dark-text{
    color:black;
}

.carte.standard .texte{
    top: 38mm;
    left:5mm;
    font-size: 6mm;
    font-weight: 900;
    position: absolute;
}

.carte.standard .name{
    top: 32mm;
    left:5mm;
    font-size: 4mm;
    position: absolute;
    text-transform: uppercase;
}

.carte.standard .training{
    top: 22mm;
    left:5mm;
    font-size: 4.5mm;
    position: absolute;
    text-transform: uppercase;
    font-weight: bold;
}


.carte.photo .texte{
    top: 39.5mm;
    left:28mm;
    font-size: 4.5mm;
    font-weight: 900;
    position: absolute;
}

.carte.photo .name{
    top: 32mm;
    left:28mm;
    font-size: 4mm;
    position: absolute;
    text-transform: uppercase;
}

.carte.photo .training{
    top: 17mm;
    left:28mm;
    font-size: 4.1mm;
    position: absolute;
    text-transform: uppercase;
    font-weight: bold;
}

.carte.photo .picture{
    top:17mm;
    left:5mm;
    height: 30mm;
    width: 20mm;
    position: absolute;
}

.carte .exp{
    top:48mm;
    left: 5mm;
    font-size: 3mm;
    position: absolute;
}

.carte .logo{
    top:4mm;
    left:5mm;
    width: 20mm;
    height: 12mm;
    position: absolute;
}

.carte .logolexys{
    top:4mm;
    right:5mm;
    width:21.42mm;
    height:10mm;
    position: absolute;

}



.carte .codebar{
    position: absolute;
    bottom:5mm;
    left:5mm;
}

.carte.no-preview{
    cursor: pointer;
}

.carte.no-preview:hover{
    transition-duration: 0.5s;
    box-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
}

.carte.no-preview.expired .exp{
    color: inherit;
    -webkit-animation: blink 2s 3 alternate;
    -moz-animation: blink 2s 3 alternate;
    -ms-animation: blink 2s 3 alternate;
    -o-animation: blink 2s 3 alternate;
    animation: blink 2s 3 alternate;
}

.expired-label,
.revoked-label{
    display: none;
}

.carte.no-preview.expired .expired-label{
    display:block;
    color:white;
    background-color:red;
    padding:2px 4px;
    font-size:14px;
    font-weight: bold;
    position:absolute;
    bottom:0;
    right:0;
    border-top-left-radius: 5px;
}

.carte.no-preview.revoked{
    opacity: 0.75;
}

.carte.no-preview.revoked .revoked-label{
    display:block;
    color:white;
    background-color:grey;
    padding:2px 4px;
    font-size:14px;
    font-weight: bold;
    position:absolute;
    bottom:0;
    right:0;
    border-top-left-radius: 5px;
}

.card-actions{
    display: flex;
    gap: 0.25rem;
    padding-top:3px;
}

@-webkit-keyframes blink {
    from { color: red; }
    to { color: inherit; }
}
@-moz-keyframes blink {
    from { color: red; }
    to { color: inherit; }
}
@-ms-keyframes blink {
    from { color: red; }
    to { color: inherit; }
}
@-o-keyframes blink {
    from { color: red; }
    to { color: inherit; }
}
@keyframes blink {
    from { color: red; }
    to { color: inherit; }
}

.right-0 {
    right: 0;
}
