/*
    General Styles
*/

* {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    box-sizing: border-box;
}

body {
    width: 100%;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background: #28282B;
}

.adinkras-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 100%;
    margin-top: 20px;
}

.other-dice-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 100%;
    padding: 0px 30px;
}

.dice-container {
    display: flex;
    flex-direction: column;
    place-items: center;
    min-width: 350px;
    padding: 60px 0 40px;
    border-radius: 30px;
    background: #eeeeee;
    box-shadow: 0 0 20px rgba(0, 0, 0, .1);
}

/*
    Dice Styles
*/

.dice {
    position: relative;
    width: 250px;
    height: 250px;
    transform-style: preserve-3d;
    transition: 1s ease;
}

@keyframes rolling {
    50% {
        transform: rotateX(455deg) rotateY(455deg);
    }
}

.face {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    border: 5px solid #f6f3f0;
    transform-style: preserve-3d;
    background: linear-gradient(
        145deg, #dddbd8, #fff
    );
}

.face::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    border-radius: 20px;
    background: #f6f3f0;
    transform: translateZ(-1px);
}

.face::after {
    position: absolute;
    content: '';
    width: 100%;
    height: inherit;
}

.front {
    transform: translateZ(125px);
  }
  
  .back {
    transform: rotateX(180deg) translateZ(120px);
  }
  
  .top {
    transform: rotateX(90deg) translateZ(120px);
  }
  
  .bottom {
    transform: rotateX(-90deg) translateZ(120px);
  }
  
  .right {
    transform: rotateY(90deg) translateZ(120px);
  }
  
  .left {
    transform: rotateY(-90deg) translateZ(120px);
  }

/*
    Roll Button styles
*/

button {
    cursor: pointer;
    color: #b33951;
    margin-top: 60px;
    padding: 6px 12px;
    border-radius: 3px;
    font: 700 20px 'Montserrat';
    border: 2px solid #b33951;
    transition: .4s;
}

button:hover {
    color: #fff;
    background: #b33951;
}

button.refresh-button {
    margin-top: 20px;
    font-size: 12px;
    padding: 6px 12px;
    border: 1px solid #28282B;
    color: #28282B;
}

button.refresh-button:hover {
    color: #fff;
    background: #28282B;
}

@media only screen and (min-width: 720px) and (max-width: 1140px) { 
    .dice-container {
        min-width: 350px !important;
    }
}

@media only screen and (max-width: 1140px) { 
    body {
        flex-direction: column;
    }

    .dice-container {
        min-width: 270px;
    }

    .dice {
        width: 200px;
        height: 200px;
    }

    .front {
        transform: translateZ(97px);
      }
      
    .back {
        transform: rotateX(180deg) translateZ(97px);
    }
      
    .top {
        transform: rotateX(90deg) translateZ(97px);
    }
      
    .bottom {
        transform: rotateX(-90deg) translateZ(97px);
    }
      
    .right {
        transform: rotateY(90deg) translateZ(97px);
    }
      
    .left {
        transform: rotateY(-90deg) translateZ(97px);
    }

    .adinkras-container {
        margin-top: 50px;
        padding: 0px 0px;
    }
    
    .other-dice-container {
       flex-direction: column;
       padding: 0px 0px;
    } 
}