/* Type */

@import url('https://fonts.googleapis.com/css?family=Poppins:400,400i,500,700');
body {
    font-family: 'Poppins', sans-serif;
    color: white;
    font-size: 16px;
    background: url("../img/background-image.png") repeat fixed;
    background-color: #37162B;
}

h1,
h2,
h3 {
    text-align: center;
}

@media only screen and (max-width: 600px) {
    body {
        font-size: .8em;
    }
}

a,
a:hover {
    text-decoration: none;
    color: inherit;
}

h2 {
    font-size: 1.6em;
    line-height: 1.6em;
    max-width: 800px;
    margin: 0 auto;
}

h3 {
    font-size: 1.2em;
    color: #efaccb;
    margin: .5em auto;
}

@media only screen and (max-width: 600px) {
    h2 {
        font-size: 1.4em;
    }
}

.highlight {
    color: #8D3A6F;
}

.container {
    text-align: center;
}

.margin-center {
    margin: 0 auto;
}

.container__white-ui,
.container__purple-ui {
    padding: 2em 4em;
}

.container__white-ui {
    background-color: #ffffff;
    color: #37162B;
}

.container__purple-ui {
    background-color: #DFD6E5;
    color: #37162B;
    font-size: 1.1em;
}

section {
    min-height: 100vh;
}

footer {
    background-color: #ffffff;
    color: #666666;
    font-size: .8em;
    padding: 4em 0 1em;
    width: 100%;
    z-index: 999;
}

footer a {
    color: inherit;
    text-decoration: underline;
}

footer img {
    max-width: 12em;
    margin-bottom: 2em;
}

.flex-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.flex-child {
    display: flex;
    flex-direction: column;
}

#intro{
    overflow-x: hidden;
}

#intro__header-title img {
    margin: 1em auto;
    max-width: 100%;
}

#intro-difficulty {
    text-align: center;
    margin: 0 auto 30px;
}

#game {
    margin-top: 70px;
}

#check {
    width: auto;
    min-width: auto;
    padding: 1em 2em;
    margin: .5em auto;
    border: 4px solid white;
}

@media only screen and (max-width: 600px) {
    #check {
        min-width: 80%;
    }
    #game {
        margin-top: 20px;
    }
}

.game-ui {
    max-height: 30px;
    width: 110px;
    margin-top: 25px;
}

.game-arrow{
    width: 25px;
    margin-top: 22px;
}

.game-results-header {
    width: 100%;
    max-width: 400px;
}

/* Buttons */

.btn {
    min-width: 7em;
    padding: .7em 2em;
    margin: 1.5em .4em;
    display: inline-block;
    border-radius: 6px;
}

.btn-primary {
    background-color: #8D3A6F;
    border: 0;
}

.btn-primary:hover {
    background-color: #BF4392;
}

.btn-secondary {
    position: relative;
    padding-left: 3.2em;
    color: #8D3A6F;
    background-color: #ffffff;
    border: 0;
}

.btn-secondary::before {
    content: "+";
    font-size: 1.4em;
    margin-right: .5em;
    top: .38em;
    left: 1em;
    position: absolute;
}

.btn-secondary:hover {
    background-color: #FFFFFF;
    color: #8D3A6F;
}

@media only screen and (max-width: 600px) {
    .btn {
        width: 90%;
        padding: .7em 2em;
        margin: .5em auto;
        display: inline-block;
    }
}

p {
    font-size: 1.1em;
    line-height: 1.6em;
}

/* Finish */

#finish {
    margin: 80px auto 30px;
}

#finish-results {
    padding-top: 7em;
    padding-bottom: 3em;
    position: relative;
}

.finish-results-header {
    font-weight: 500;
    margin-bottom: 2em;
}

#share-section {
    padding-bottom: 3em;
    font-weight: 500;
    border-top: 2px dashed #D2BCDB;
}

#share-section .btn {
    font-size: 1.2em;
    border-radius: 8px;
    min-width: 80%;
}

#share-section ul {
    list-style: none;
    text-align: center;
    margin: .5em .5em 0 .5em;
    padding: 0;
}

#share-section li {
    list-style: none;
    text-align: center;
    display: inline-block;
    margin: 0 .2em;
    padding: .8em;
    width: 3em;
    height: 3em;
    border-radius: 50%;
    background-color: #8D3A6F;
    transition: all .1s ease-in-out;
    cursor: pointer;
}

#share-section li:hover {
    transform: scale(1.2);
    background-color: #BF4392;
}

#share-section li img {
    max-width: 1.8em;
}

#finish #trophy {
    max-width: 10em;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -4em;
}

#finish .highlight {
    font-size: 2em;
    margin: 0 0 0 .2em;
    font-weight: 500;
}

.game-container {
    width: 100%;
    max-width: 1200px;
}

#sources {
    display: none;
    background-color: #F0F0F0;
    padding: 2em 1em;
    border-radius: 5px;
}

#sources span {
    display: inline-block;
    padding: 5px 20px;
}

/* Align footer on page */

.flex-intro {
    flex: 1;
    height: 100%;
}

.flex-footer {
    /* flex-shrink: 0; */
}

/* Animation */

#intro-copy {
    margin-top: 160px;
}

.abs-center {
    left: 0;
    right: 0;
    margin: 0 auto;
}

#intro__header-image {
    position: absolute;
    top: -10px;
}

.header-image__bulb {
    position: absolute;
    max-width: 100px;
    top: 0;
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-animation: swinging 2s cubic-bezier(.57, 0, .46, 1) forwards infinite;
    animation: swinging 2s cubic-bezier(.57, 0, .46, 1) forwards infinite;
}

#light1 {
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-animation: lightSwing1 2s ease-in-out forwards infinite;
    animation: lightSwing1 2s ease-in-out forwards infinite;
}

#light2 {
    opacity: 0.4;
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-animation: lightSwing2 2s ease-in-out forwards infinite;
    animation: lightSwing2 2s ease-in-out forwards infinite;
}

.header-image__light {
    position: absolute;
    max-width: 550px;
    width: 100%;
    top: -100px;
}

.header-image__eyes {
    position: absolute;
    bottom: 54px;
    max-width: 26px;
    left: 36px;
    -webkit-animation: blinking 4s linear forwards infinite;
    animation: blinking 4s linear forwards infinite;
}

.ui-sortable-helper {
    z-index: 9999;
}

.ui-sortable-placeholder {
    display: none;
}

@media only screen and (max-width: 600px) {
    .header-image__bulb {
        width: 70px;
    }
    .header-image__eyes {
        bottom: 40px;
        max-width: 22px;
        left: 24px;
    }
}

@media only screen and (max-height: 600px) {
    #intro__header-image {
        display: none;
    }
    #intro-copy {
        margin-top: 20px;
    }
}

@-webkit-keyframes spin {
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes lightSwing2 {
    0% {
        -webkit-transform: rotate(1deg);
    }
    50% {
        -webkit-transform: rotate(-1deg)
    }
    100% {
        -webkit-transform: rotate(1deg);
    }
}

@keyframes lightSwing2 {
    0% {
        transform: rotate(1deg);
    }
    50% {
        transform: rotate(-1deg)
    }
    100% {
        transform: rotate(1deg);
    }
}

@-webkit-keyframes lightSwing1 {
    0% {
        -webkit-transform: rotate(3deg);
    }
    50% {
        -webkit-transform: rotate(-3deg)
    }
    100% {
        -webkit-transform: rotate(3deg);
    }
}

@keyframes lightSwing1 {
    0% {
        transform: rotate(3deg);
    }
    50% {
        transform: rotate(-3deg)
    }
    100% {
        transform: rotate(3deg);
    }
}

@-webkit-keyframes swinging {
    0% {
        -webkit-transform: rotate(15deg);
    }
    50% {
        -webkit-transform: rotate(-15deg)
    }
    100% {
        -webkit-transform: rotate(15deg);
    }
}

@keyframes swinging {
    0% {
        transform: rotate(15deg);
    }
    50% {
        transform: rotate(-15deg)
    }
    100% {
        transform: rotate(15deg);
    }
}

@-webkit-keyframes blinking {
    49% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    52% {
        opacity: 1;
    }
    69% {
        opacity: 1;
    }
    70% {
        opacity: 0;
    }
    72% {
        opacity: 1;
    }
}

@keyframes blinking {
    49% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    52% {
        opacity: 1;
    }
    69% {
        opacity: 1;
    }
    70% {
        opacity: 0;
    }
    72% {
        opacity: 1;
    }
}