/*FONTS*/

@font-face {
    font-family: 'Sequel Sans Medium Head';
    src: url('../assets/fonts/SequelSans-MediumHead.eot');
    src: url('../assets/fonts/SequelSans-MediumHead.eot?#iefix') format('embedded-opentype'),
    url('../assets/fonts/SequelSans-MediumHead.woff2') format('woff2'),
    url('../assets/fonts/SequelSans-MediumHead.woff') format('woff'),
    url('../assets/fonts/SequelSans-MediumHead.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sequel Sans Light Head';
    src: url('../assets/fonts/SequelSans-LightHead.eot');
    src: url('../assets/fonts/SequelSans-LightHead.eot?#iefix') format('embedded-opentype'),
    url('../assets/fonts/SequelSans-LightHead.woff2') format('woff2'),
    url('../assets/fonts/SequelSans-LightHead.woff') format('woff'),
    url('../assets/fonts/SequelSans-LightHead.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sequel Sans Heavy Head';
    src: url('../assets/fonts/SequelSans-HeavyHead.eot');
    src: url('../assets/fonts/SequelSans-HeavyHead.eot?#iefix') format('embedded-opentype'),
    url('../assets/fonts/SequelSans-HeavyHead.woff2') format('woff2'),
    url('../assets/fonts/SequelSans-HeavyHead.woff') format('woff'),
    url('../assets/fonts/SequelSans-HeavyHead.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/*General Colors*/
:root {
    --main-bg-color: #ffb518;
    --accent-color: #234a36;
    --text-color: #121212;

}

h1, h2, h3, h4, h5, h6, p {
    margin: 0;
}

body {
    margin: 0;
    color: var(--text-color);
}


/*General Classes*/

.d-none {
    display: none !important;
}

.d-block {
    display: block !important;
}

.d-flex {
    display: flex !important;
}

.flex-center {
    align-items: center !important;
    justify-content: center !important;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.opacity-1 {
    opacity: 1 !important;
}

.z-index-20 {
    z-index: 20;
}

.w-100 {
    width: 100%;
}

.container {
    max-width: 270px;
    width: 100%;
    margin: 0 auto;
    display: block;

}

#main-area {
    background-color: var(--main-bg-color);
    /*height: 100vh;*/
    height: 580px;
    margin: 0;
    padding: 16px;
}

header .logo img {
    height: 25px;
    width: 25px;
}

header .logo {
    height: 50px;
    width: 50px;
    border-radius: 50px;
    object-fit: contain;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

header .company-name {
    padding-left: 10px;
}

header .company-name h2 {
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 600;
    margin: 0;
    font-family: 'Sequel Sans Medium Head';
}

header .company-name p {
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 600;
    margin: 0;
    font-family: 'Sequel Sans Light Head';
}


.target-container {
    background-color: var(--accent-color);
}

.text-holder {
    overflow: hidden;
    position: relative;
}


.animated-text {
    margin: 0;
    padding: 0;
    font-size: 62px;
    opacity: 0;
    transform: translateY(100%);
    transition: opacity 0.6s, transform 0.5s;
    color: #fff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
    font-family: 'Sequel Sans Heavy Head';
}

.animated-text.animate {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s, transform 0.5s;
    position: absolute;
    top: 0;
}


header .logo img {
    height: 25px;
    width: 25px;
}

header .logo {
    height: 50px;
    width: 50px;
    border-radius: 50px;
    object-fit: contain;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

header .company-name {
    padding-left: 10px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;

}

header .company-name h2 {
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 600;
    margin: 0;
}

header .company-name p {
    color: #fff;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 400;
    margin: 0;
}


.target-container {
    background-color: var(--accent-color);
}

.text-holder {
    overflow: hidden;
    position: relative;
}

.text-holder.main-titles {
    margin-top: 40px;
    margin-bottom: 20px;
    text-align: center;
    height: 82px;
}

.text-holder.main-titles .animated-text {
    display: block;
    width: 100%;
    margin: 0 auto;
}

.intro-cta {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.comming-up-txt {
    margin: 0;
    padding: 0;
    color: #fff;
    font-weight: 600;
    font-size: 28px;
    opacity: 0;
    transform: translateY(100%);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    transition: opacity 0.6s, transform 0.5s;
    font-family: 'Sequel Sans Heavy Head';
}

.intro-cta .comming-up-txt.up {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s, transform 0.5s;
}

.intro-cta .arrow-cta {
    opacity: 0;
    transition: all 0.25s ease;
    position: relative;
    animation: slideAnimation 1.4s infinite linear;
}

.intro-cta .arrow-cta:hover {
    cursor: pointer;
}

footer {
    width: 268px;
    margin: 0 auto;
    text-align: center;
    display: block;
    /*margin-top: 150px;*/
    position: absolute;
    bottom: 36px;
}

footer .more-info {
    position: relative;
    width: 100%;
}

footer .more-info .button {
    text-decoration: none;
    background-color: #fff;
    color: var(--text-color);
    border-radius: 40px;
    padding: 6px;
    font-size: 16px;
    width: auto;
    display: block;
    transition: all .3s ease;
    font-family: 'Sequel Sans Medium Head';
}

footer .more-info .button:hover {
    background-color: rgba(255, 255, 255, 0.8);
}


/*GAME SCREEN*/
#game-screen .game-description {
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    text-align: center;
    max-width: 65%;
    padding: 8px 0;
    margin: 0 auto;
    margin-top: 24px;
}

#game-screen .game-description h2 {
    color: var(--accent-color);
    font-family: 'Sequel Sans Medium Head';
    line-height: 1.5;
    font-size: 22px;
}

#game-screen .game-description .highlighted-word {
    color: var(--main-bg-color) !important;
}

#game-screen .target-container {
    background-color: var(--accent-color);
    width: 210px;
    height: 210px;
    margin: 30px auto 0;
    z-index: 2;
}

#game-screen .target-container .target {
    border: 3px solid var(--main-bg-color);
    transition: box-shadow 0.1s ease;
}

.highlighted-border {
    box-shadow: 0 1px 18px var(--main-bg-color);
}

#game-screen .flying-objects {
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
}

#game-screen .flying-objects:hover {
    cursor: pointer;
}

#game-screen .flying-objects .object {
    width: 125px;
    height: 125px;
    position: absolute;
    /*animation-duration: 1s;*/
    animation-timing-function: linear !important;
    animation-iteration-count: infinite;
    /*animation:moveBottomLeftToTopRight 2s linear infinite;*/
    z-index: 10;
}

#game-win {
    z-index: 30;
    position: absolute;
    top: 30%;
    background-color: #fff;
    width: 268px;
    margin: 0 auto;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.3);
}

.game_text_win {
    font-family: 'Sequel Sans Medium Head';
    padding: 40px 16px 12px 16px;
}

#game-win p {
    font-family: 'Sequel Sans Light Head';
    padding: 4px 16px 24px 16px;
}

.game_win_link {
    font-family: 'Sequel Sans Medium Head';
    padding: 6px 20px;
    margin: 0 auto 40px auto;
    font-size: 16px;
    display: inline-block;
    color: var(--text-color);
    text-decoration: none;
    border: 1px solid var(--text-color);
    border-radius: 20px;
    transition: all 0.3s ease;
}

.game_win_link:hover {
    cursor: pointer;
    color: #fff;
    background-color: var(--text-color);
}

/*key frames*/

@keyframes slide-up {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideAnimation {
    0% {
        transform: translateX(-30px);
    }
    50% {
        transform: translateX(10px);
    }
    100% {
        transform: translateX(-30px);
    }
}

@keyframes fly-in {
    0% {
        transform: translate(-60%, -60%);
    }
    100% {
        transform: translate(100vw, 100vh);
    }
}

@keyframes fly-out {
    0% {
        transform: translate(100vw, 100vh);
    }
    100% {
        transform: translate(-60%, -60%);
    }
}


/*flying object over viewport*/

@keyframes moveUpDown {
    0%, 100% {
        top: -50px;
        left: 88px;
    }
    50% {
        top: calc(50vh - 25px);
    }
    to {
        top: calc(100vh + 50px);
    }
}

@keyframes moveDownUp {
    0%, 100% {
        top: calc(100vh + 50px);
        left: 88px;
    }
    50% {
        top: calc(50vh - 25px);
    }
    to {
        top: -50px;
    }
}

@keyframes moveLeftRight {
    0%, 100% {
        left: -150px;
        top: 275px;
    }
    50% {
        left: calc(50vw - 25px);
    }
    to {
        left: calc(100vw + 50px);
    }
}

@keyframes moveRightLeft {
    0%, 100% {
        left: calc(100vw + 50px);
        top: 275px;
    }
    50% {
        left: calc(50vw - 25px);
    }
    to {
        left: -150px;
    }
}

@keyframes moveTopLeftToBottomRight {
    0%, 100% {
        top: -50px;
        left: -50px;
    }
    50% {
        top: calc(50vh);
        left: calc(50vw - 50px);
    }
    to {
        top: calc(100vh + 50px);
        left: calc(100vw + 50px);
    }
}


@keyframes moveTopRightToBottomLeft {
    0%, 100% {
        top: -100px;
        right: -140px;
    }
    50% {
        top: calc(50vh + 80px);
        right: calc(50vw);
    }
    to {
        top: calc(100vh + 50px);
        right: calc(100vw + 80px);
    }
}


@keyframes moveBottomRightToTopLeft {
    0%, 100% {
        top: calc(100vh + 50px);
        left: calc(100vw + 50px);
    }
    50% {
        top: calc(50vh);
        left: calc(50vw - 50px);
    }
    to {
        top: -50px;
        left: -80px;
    }
}
