*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
h1, h2, h3, h4, h5, button, a, p, span {
    color: white;
    text-decoration: none;
    transition: all 0.2s;
}

h1, h2, h3, h4, h5, button{
    font-family: "League Spartan", sans-serif;
    font-weight:500;
}

h1{
    font-size:40px;
}

a, p, input{
    font-family: "Inter", sans-serif;
}

body {
    height: 100vh;
    width: 100vw;
    background-color: #1e1e1e;
}

.body-container{
    max-width:2000px;
    width:100%;
    padding:25px 100px 100px 100px;
    margin:auto;
}

button {
    width: 100%;
    cursor: pointer;
    border: none;
    background-color: #404040;
    font-size: 20px;
    padding: 10px 15px;
    outline: solid 1px black;
    transition: 0.1s background-color ease-out;
    touch-action: manipulation;
}
button:hover {
    background-color: rgb(12, 12, 12);
}
.square-button {
    width: 50px;
    height: 50px;
}

header{
    padding-top:50px;
}

.header-home p{
    max-width:600px;
    width:100%;
    margin-top:30px;
    margin-bottom:50px;
}

.first-section{
    display:flex;
    width:100%;
    justify-content:space-between;
}

.right-container{
    width:35%;
}

.left-container{
    width:25%;
}

.result-container {
    padding: 10px;
    margin-top: 1px;
}
.divisions-container {
    padding: 10px;
    margin-top: 1px;
    outline: solid 1px black;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.wheel-container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    position:relative;
    height:400px;
    width:400px;
}

.wheel-container > svg {
    height: 30px;
fill: black;
position: absolute;
top: 0px;
z-index: 10;
}

.wheel-container > .middle-bullet {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 8;
    font-size: 60px;
    width: 14px;
    height: 14px;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    color:black;
}


#color-wheel {
    --color-wheel-rotate: 0deg;
    width: 400px;
    height: 400px;
    border-radius: 400px;
    outline: solid 1px black;
    background-color: transparent;
    transform: rotate(var(--color-wheel-rotate));
    transition: transform 5s cubic-bezier(0, .27, .01, 1);
    animation: slowSpin 40s linear infinite;
}

@keyframes slowSpin {
    from {
    transform: rotate(0deg);
    }
    to {
    transform: rotate(360deg);
    }
}

#spin-button{
    position:absolute;
    height:400px;
    width:400px;
    background-color:rgba(0,0,0,0.5);
    z-index:10;
    outline:none;
    padding:0;
    border-radius:400px;
    font-size:25px;
}

.temporary-buttons{
    display:flex;
    margin-bottom:25px;
}

.item-wrapper-container{
    background-color:#292929;
    padding:25px;
    border-radius:15px;
}

.add-new-item-wrapper{
    display:flex;
    justify-content: space-between;
    background-color:#353535;
    padding:10px;
    border-radius:10px;
    margin-bottom:20px;
}

.card-wrapper{
    display:flex;
    justify-content: space-between;
    background-color: #353535;
    padding:10px;
    border-radius:10px;
    margin-bottom:20px;
}

#items-wrapper .card-wrapper:last-child{
    margin-bottom:0px;
}

.empty-item-color-box{
    background-color:transparent;
    border:solid 4px #fff;
    border-radius:10px;
    height:50px;
    width:50px;
    aspect-ratio: 1/1;
}

.item-color-box{
    height:50px;
    width:50px;
    aspect-ratio: 1/1;
    border-radius:10px;
}

#new-item-input{
    background-color:#1e1e1e;
    border-radius:10px;
    border:none;
    width:100%;
    margin:5px 15px;
    padding-left:10px;
    font-family:"Inter", sans-serif;
    font-size:16px;
    color:#fff;
}

#new-item-input::placeholder {
    color:#fff;
    opacity:70%;
}

.card-wrapper input{
    background-color:#1e1e1e;
    border-radius:10px;
    border:none;
    width:100%;
    margin:5px 15px;
    padding-left:10px;
    display:flex;
    align-items: center;
    font-family:"Inter", sans-serif;
    font-size:16px;
    color:#fff;
}

#add-new-item{
    padding:0;
    background-color:transparent;
    border:none;
    outline:none;
    font-size:50px;
    font-weight:400;
    padding-right:10px;
    aspect-ratio:1/1;
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:50px;
    padding-bottom:10px;
    transform:scale(1);
    transition:transform 0.1s ease-in-out; 
    font-family:inherit;
}

#add-new-item:hover{
    transform:scale(1.1);
    transition:transform 0.1s ease-in-out; 
}

.item-remove-button{
    padding:0;
    background-color:transparent;
    border:none;
    outline:none;
    font-size:70px;
    width:50px;
    line-height:50px;
    font-weight:400;
    padding-right:10px;
    aspect-ratio:1/1;
    height:50px;
    align-items:center;
    justify-content:center;
    transform:scale(1);
    transition:transform 0.1s ease-in-out; 
    display:flex;
    padding-bottom:15px;
    font-family:inherit;
}

.item-remove-button:hover{
    transform:scale(1.1);
    transition:transform 0.1s ease-in-out; 
    background-color:transparent;
}

.lightbox-hidden{
    display:none!important;
}

#lightbox-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index:25;
}

.lightbox-content {
    background: white;
    border-radius: 20px;
    text-align: center;
    color: black;
    width:500px;
}

#close-lightbox{
    background:transparent;
    padding:0;
    outline:none;
    color:#fff;
    font-size:30px;
    font-weight:600;
    line-height:29px;
    width:fit-content;
    transform: scale(1);
    transition:transform 0.1s ease-in-out;
    display:inline;
    vertical-align: middle;
    margin-top:-10px;
}

#close-lightbox:hover{
    transform: scale(1.1);
    transition:transform 0.1s ease-in-out;
}

.lightbox-header{
    border-bottom:solid 1px #000;
    display:flex;
    width:100%;
    flex-wrap:nowrap;
    justify-content:space-between;
    padding:15px 15px 10px 15px;
    background-color:#353535;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;;
}

.lightbox-content h2{
    color:#fff;
    width:80%;
    text-align:left;
}

#winner-display .lightbox-content-div{
    color:#fff;
    font-size:30px;
    width:fit-content;
    margin:auto;
    display:flex;
    font-family: "League Spartan", sans-serif;
}

#winner-display{
    background-color:#1e1e1e;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    display:flex;
    padding:15px;
    padding-top:18px;
}

#list-of-winners li{
    list-style:none;
    color:#fff;
    font-size:20px;
    display:flex;
    font-family:"inter", sans-serif;
    margin-bottom:15px;
}

#list-of-winners{
    margin-top:15px;
}

.winners-color{
    width:23px;
    height:23px;
    margin-right:5px;
    border-radius:3px;
}

#winner-display .winners-color{
    height:28px;
    width:28px;
    margin-right:15px;
    margin-top:-5px;
}

.winners-wrapper h2{
    font-size:30px;
}


@media(max-width:1400px){
    .body-container{
        padding:0px 50px 50px 50px;
    }
}

@media(max-width:1200px){
    .first-section{
        flex-wrap:wrap;
    }

    .wheel-container{
        order:1;
    }

    .left-container{
        order:3;
        width:100%;
    }

    .temporary-buttons, .winners-wrapper{
        width:40%;
        margin-left:0;
        margin-right:auto;
        margin-top:50px;
    }

    .right-container{
        order:2;
        width:50%;
    }
}

@media(max-width:900px){
    .body-container{
        padding:0px 25px 25px 25px;
    }

    .wheel-container{
        width:100%;
    }

    .right-container{
        width:100%;
        margin-top:0px;
    }

    .left-container{
        width:100%;
    }

    .temporary-buttons, .winners-wrapper{
        width:100%;
        min-width:200px;
        max-width:400px;
        margin-left:0;
        margin-right:auto;
        margin-top:50px;
    }
}

@media(max-width:500px){
.wheel-container{
    width:250px;
    height:250px;
    margin:auto;
}

#color-wheel{
    width:250px;
    height:250px;
}

#spin-button{
    height:250px;
    width:250px;
}

#add-new-item{
    padding-right:10px;
    padding-bottom:0px;
    font-weight:600;
}
}