* {
    box-sizing: border-box;
  
}

body {
    font-family: 'Source Sans Pro', sans-serif;
    min-width: 320px;
    margin: 10px;
    overflow: auto;
    padding: 0;
    background: url("images/aaron-burden-759770-unsplash.jpg") no-repeat center center fixed;
    background-size: cover;
    height: 100vh;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    overflow: hidden;
    color: #FFFACD;
    font-size: 18px;
}

/* Mobile First-Design
** Styling for Mobile size screen */
header {
    font-family: 'Crimson Text', serif;
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: center;
    justify-content: space-evenly;
    background-color: rgba(84, 72, 89, 0.5);
    text-shadow: 6px 6px 9px #000000;
    font-size: 24px;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
}
a{
    text-decoration: none;
}

header > h1 {
    width: 50%;
    margin: 5px;
    font-size: 1.7em
}

.progress {
    width: 25%;
}


/* All child elements main */
main * {
    align-items: center;
    text-align: center;
    justify-content: center;
    margin: 15px auto;
    padding: 0px;
}

/* Direct children of main */
main > * {
    display: flex;
    flex-direction: column;
}

/* Home screen message */
#intro {
    text-shadow: 6px 6px 9px #000000,
        -1px -1px 0 #000,  
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}

/* Remove default appearance for button and radio button elements */
input[type=radio],
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type=radio] {
    border: none;
    margin: 0;
    padding: 0;
    height: 0;
}

/* All button elements */
button {
    background-color: #6B4870;
    font-size: 20px;
}

#questionAnswerSet {
    display: flex;
    flex-direction: column;
    border: 0;
    width: 90%;
}

/* Format legend, labels, and buttons the same way */
#questionAnswerSet > legend,
#questionAnswerSet > label,
button {
    border: 0;
    padding: 10px;
    color: #FFFACD;
    width: 80%;
    height: auto;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
}


#questionAnswerSet > legend {
    background-color: rgba(46, 89, 57, 0.9);
}

#answers-error {
    color: #640000 !important;
    background-color: rgba(242, 178, 121, 0.9);
}

.answerLabel {
    background-color: rgba(34, 64, 44, 0.75);
}

#questionAnswerSet > input[type="radio"]:checked + .answerLabel {
    background-color: rgb(46, 89, 57);
    box-shadow: inset 5px 5px 5px 0px #112116;
    border: 2px inset #112116, 
        1px solid #112116;
}

#questionAnswerSet > input[type="radio"]:checked + .answerLabel {
    font-size: larger;
    text-shadow: 5px 5px 10px #112116;
}

#result {
    padding: 10px;
    width: 80%;
    background-color: rgba(46, 89, 57, 0.9);
    color: #FFFACD;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
}

#answerText,
#finalScore {
    font-size: larger;
    color: rgb(220,198,224);
}

#bg_popup-container,
#bg_popup-container a {
    color: black;
}

a:link,
a:visited,
a:active {
    color: #FFFACD;
}

@media (hover:hover) {

button:hover,
button:focus {
    box-shadow: inset 5px 5px 5px 0px rgb(42, 29, 44);
    border: 2px inset rgb(42, 29, 44);
}
    
.answerLabel:hover, 
.answerLabel:focus {
    background-color: rgb(46, 89, 57);
    box-shadow: inset 5px 5px 5px 0px #112116;
    border: 2px inset #112116, 
        1px solid #112116;
}

.answerLabel:hover,
button:hover {
    cursor: pointer;
}

a:hover,
a:focus {
    font-weight: bolder;
    font-size: larger;
}

}

/* Styling for Short Viewport */
@media screen and ( max-height: 800px ) {

    /* Decrease Margin to bring items close together */
    main * {
        margin: 5px auto;
    }
}

/* Styling for Tablet size screen */
@media screen and ( min-width: 550px ) {

    /* Increase size for higher resolution screens */
    body, button {
        font-size: 24px;
    }
}

/* Styling for Computer size screen */
@media screen and ( min-width: 950px ) {

    /* Increase size for higher resolution screens */
    body, header, button {
        font-size: 28px;
    }
}

footer {
    position: fixed;
    bottom: 0px;
    left: -10px;
}

/* Classes defined for the Background Picture Attribution */
.picAttribution {
    background-color:black;
    color:white !important;
    text-decoration:none;
    padding:4px 6px;
    font-family:-apple-system, BlinkMacSystemFont, 'San Francisco', 'Helvetica Neue', Helvetica, Ubuntu, Roboto, Noto, 'Segoe UI', Arial, sans-serif;
    font-size: 12px !important;
    font-weight:bold;
    line-height:1.2;
    display:inline-block;
    border-radius:3px;
}

.picAttributionText {
    display:inline-block;
    padding:2px 3px;
}

.unsplashLogo {
    height:12px;
    width:auto;
    position:relative;
    vertical-align:middle;
    top:-2px;
    fill:white;
}
.comments{
    position:relative;
    top:15vw;
}
