@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,300;1,700&display=swap";* {
    margin: 0;
    padding: 0
}
*, *::before, *::after{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.App {
    text-align: center;
    width: 100%;
    height: 99vh;
    font-family: sans-serif;
}

.chapterbuttons {
    flex-flow: wrap;
    margin: 10px;
    display: flex
}

.chapterbuttons button[id^=cb],.chapterbuttons button[class^=active-cb] {
    padding: 10px;
    font-family: IBM Plex Mono,monospace
}

.control {
    cursor: pointer;
    align-items: left;
    flex-flow: wrap;
    margin-bottom: auto;
    display: flex;
    position: relative;
    top: 70vh
}

.control:hover .circle-click {
    background: #8ae4ff
}

.control .prompt img {
    height: 40vh;
    text-align: left;
    padding: 10px 25px
}

.control .status,.control .status-talk {
    width: 100vw;
    text-align: left;
    color: #457280;
    z-index: 1;
    padding-left: 50px;
    padding-right: 20px;
   /* font-family: IBM Plex Mono,monospace;*/
    font-size: 20pt;
    font-weight: 700
}

.control .status .status-text,.control .status-talk .status-text {
    z-index: 5;
    white-space: normal;
    position: relative
}

.control .circle,.control .circle-recognising,.control .circle-speaking,.control .circle-click {
    width: 80px;
    height: 80px;
    cursor: pointer;
    z-index: 0;
    background-color: #457280;
    border: 0;
    border-radius: 50px;
    position: absolute;
    left: -40px
}

.control .circle-click {
    background-color: #457280;
    border: 0
}

.control .circle-speaking {
    border: 0;
    -webkit-animation: bordering 2s infinite;
    animation: bordering 2s infinite
}

.control .circle-recognising {
    -webkit-animation: bordersize 2s infinite;
    animation: bordersize 2s infinite
}

.select-wrapper {
    position: absolute;
    top: 35vh
}

.select {
     display: flex;
  /*  align-items: flex-start;*/
    flex-flow: wrap;
    flex-direction: row;
    justify-content: center;
    list-style-type: none;
}

.flex {
    cursor: pointer;
    background: #fff;
    border: 2px solid #457280;
    border-radius: 5px;
    flex-basis: 20vw;
    margin: .5em;
    padding: 1em
}

.flex:hover {
    background: #8ae4ff
}

img {
    object-fit: contain;
    width: 100%;
    border-radius: 5px
}

@-webkit-keyframes glowing {
    0% {
        background-position: 0 0
    }

    50% {
        background-position: 400% 0
    }

    to {
        background-position: 0 0
    }
}

@keyframes glowing {
    0% {
        background-position: 0 0
    }

    50% {
        background-position: 400% 0
    }

    to {
        background-position: 0 0
    }
}

@-webkit-keyframes bordering {
    0% {
        box-shadow: 0 0 rgba(255, 165, 138,.5)
    }

    50% {
        box-shadow: 0 0 0 2vh rgba(255, 165, 138,.9)
    }

    to {
        box-shadow: 0 0 rgba(255, 165, 138,.5)
    }
}

@keyframes bordering {
    0% {
        box-shadow: 0 0 rgba(255, 165, 138,.5)
    }

    50% {
        box-shadow: 0 0 0 2vh rgba(255, 165, 138,.9)
    }

    to {
        box-shadow: 0 0 rgba(255, 165, 138,.5)
    }
}

@-webkit-keyframes bordersize {
    0% {
        box-shadow: 0 0 rgba(138, 255, 165,.9)
    }

    50% {
        box-shadow: 0 0 0 2vh rgba(138, 255, 165,.9)
    }

    to {
        box-shadow: 0 0 rgba(138, 255, 165,.9)
    }
}

@keyframes bordersize {
    0% {
        box-shadow: 0 0 rgba(138, 255, 165,.9)
    }

    50% {
        box-shadow: 0 0 0 2vh rgba(138, 255, 165,.9)
    }

    to {
        box-shadow: 0 0 rgba(138, 255, 165,.9)
    }
}

[data-xstate] {
    border: none;
    align-self: stretch;
    justify-self: stretch
}
