/* :not(path):not(g) {
color:                    hsla(210, 100%, 100%, 0.9) !important;
background:               hsla(210, 100%,  50%, 0.5) !important;
outline:    solid 0.25rem hsla(210, 100%, 100%, 0.5) !important;
box-shadow: none !important;
} */

/* html { */
/*     background-color: #fffdf6; */
/*     background-image: linear-gradient(315deg, #fffdf6 0%, #fddac5 74%); */
/* } */

html[ui-transition="fade-out"] {
    opacity: 1;
    animation-name: fade-out;
    animation-duration: 0.5s; 
    animation-fill-mode: forwards;
}

@keyframes fade-out {
    100% { opacity: 0; }
}

html[ui-transition="fade-in"] {
    opacity: 0;
    animation-name: fade-in;
    animation-duration: 0.5s; 
    animation-fill-mode: forwards;
}

@keyframes fade-in {
    100% { opacity: 1; }
}

#content {
   max-width: 740px;
   margin: auto;
   margin-bottom: 40px;
}

body {
    font-family: Verdana, sans-serif;
    font-size: 1.2em;
}

#show-quiz-setup-screen-button {
    position: fixed;
    width: 40px;
    top: 50%;
    left: 20px;
    transform: translate(-50%, -50%);
    transition: width 0.5s;
}

#show-quiz-setup-screen-button:hover {
    width: 50px;
}

#maximize-screen-button, #minimize-screen-button {
    position: fixed;
    top: 10px;
    right: 10px;
    width: 20px;
    transition: all 0.3s;
}

#maximize-screen-button:hover, #minimize-screen-button:hover  {
    width: 24px;
}

#banner h1 {
    text-align: center;
    font-family: sans-serif;
    margin-top: 100px;
    font-size: 2.2em;
    font-weight: 100;
}

/* #toc-items {
    margin-left: 24px;
} */

h2 {
    display: grid;
    grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
    align-items: center;
    text-align: center;
    grid-gap: 20px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 100px;
}

h2:before, h2:after {
    content: '';
    border-top: 2px solid;
}

.quiz-item {
   margin-top: 40px;
    margin: auto;
}

.quiz-item p, ul, h2, h3, h4 {
   max-width: 700px;
}

.quiz-item p, ul {
    margin: auto;
}

#toc-screen button, #quiz-screen button {
    background: linear-gradient(135deg, #6e8efb, #a777e3);
    border-radius: 8px;
    padding: 0.4em 1.0em;
    color: white;
    font-size: 0.8em;
    outline: none;
    transition: all 0.2s ease-in-out;
}

#start-quiz-button {
    margin: auto;
    margin-top: 42px;
    display: flex;
    justify-content: center;
}

#toc-screen button:hover, #quiz-screen button:hover {
    transform: scale(1.05) perspective(1px);
    cursor: pointer;
}

#quiz-controls {
    display: flex;
    gap: 30px;
    justify-content: center;
    margin-top: 50px;
}

#done-screen {
    margin: auto;
    margin-top: 200px;
    text-align: center;
}

#done-screen p {
    margin-top: 100px;
}

.quiz-item img {
    width: 720px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    border-radius: 8px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    margin-bottom: 40px;
}

.question img:first-of-type {
    margin-top: 40px;
}

.answer {
    padding-top: 32px;
}

li {
   margin-bottom: 0.5em;
}

.divider {								/* minor cosmetics */
   display: table;
   font-size: 1em;
   text-align: center;
   width: 75%; 						/* divider width */
   margin: auto;
   margin-top: 100px;
   margin-bottom: 40px;
}
.divider span { display: table-cell; position: relative; }
.divider span:first-child, .divider span:last-child {
   width: 50%;
   top: 13px;							/* adjust vertical align */
   -moz-background-size: 100% 2px; 	/* line width */
   background-size: 100% 2px; 			/* line width */
   background-position: 0 0, 0 100%;
   background-repeat: no-repeat;
}
.divider span:first-child {				/* color changes in here */
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(transparent), to(#000));
   background-image: -webkit-linear-gradient(180deg, transparent, #000);
   background-image: -moz-linear-gradient(180deg, transparent, #000);
   background-image: -o-linear-gradient(180deg, transparent, #000);
   background-image: linear-gradient(90deg, transparent, #000);
}
.divider span:nth-child(2) {
   color: #000; padding: 0px 5px; width: auto; white-space: nowrap;
}
.divider span:last-child {				/* color changes in here */
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#000), to(transparent));
   background-image: -webkit-linear-gradient(180deg, #000, transparent);
   background-image: -moz-linear-gradient(180deg, #000, transparent);
   background-image: -o-linear-gradient(180deg, #000, transparent);
   background-image: linear-gradient(90deg, #000, transparent);
}

#toc-items input {
    opacity: 0;
    position: absolute;
}

#toc-items label {
    position: relative;
    display: block;
    background: #f8f8f8;
    border: 1px solid #f0f0f0;
    border-radius: 2em;
    margin-bottom: 20px;
    padding: .5em 1em .5em 5em;
    box-shadow: 0 1px 2px rgba(100,100,100,.5) inset,0 0 10px rgba(100,100,100,.1) inset;
    cursor: pointer;
    text-shadow: 0 2px 2px #fff;
}

#toc-items label:before {
    content: '';
    position: absolute;
    top: 50%;
    left: .7em;
    width: 2.2em;
    height: 1.2em;
    border-radius: .6em;
    background: #eee;
    transform: translateY(-50%);
    box-shadow: 0 1px 3px rgba(100,100,100,.5) inset,0 0 10px rgba(100,100,100,.2) inset;
}

#toc-items label:after {
    content: '';
    position: absolute;
    top: 50%;
    left: .5em;
    width: 1.3em;
    height: 1.3em;
    border: .25em solid #fafafa;
    border-radius: 50%;
    box-sizing: border-box;
    background-color: #ddd;
    background-image: linear-gradient(to top, #fff 0%, #fff 40%, transparent 100%);
    transform: translateY(-50%);
    box-shadow: 0 3px 3px rgba(0,0,0,.5);
}

#toc-items label, #toc-items label:before, #toc-items label:after {
    transition: all .2s cubic-bezier(0.165, 0.840, 0.440, 1);
}

#toc-items label:hover, #toc-items input:focus + label {
    color: black;
}

#toc-items input:checked + label:before {
    background: linear-gradient(135deg, #6e8efb, #a777e3);
}


#toc-items input:checked + label:after {
    transform: translateX(1.2em) translateY(-50%);
}


