/* CSS based on Grayscale v5.0.9, details below */


/*!
 * Start Bootstrap - Grayscale v5.0.9 (https://startbootstrap.com/template-overviews/grayscale)
 * Copyright 2013-2019 Start Bootstrap
 * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-grayscale/blob/master/LICENSE)
 */

#mainNav {
    min-height: 56px;
    background-color: rgba(0, 0, 0, 0.5);
}

#mainNav .navbar-toggler {
    font-size: 80%;
    padding: 0.75rem;
    color: white;
    border: 1px solid #64a19d;
}

#mainNav .navbar-toggler:focus {
    outline: none;
}

#mainNav .navbar-brand {
    color: #161616;
    font-weight: 700;
    padding: .9rem 0;
}

#mainNav .navbar-nav .nav-item:hover {
    color: fade(white, 100%);
    outline: none;
    background-color: transparent;
}

#mainNav .navbar-nav .nav-item:active,
#mainNav .navbar-nav .nav-item:focus {
    outline: none;
    background-color: transparent;
}

@media (min-width: 992px) {
    #mainNav {
        padding-top: 0;
        padding-bottom: 0;
        border-bottom: none;
        background-color: rgba(0, 0, 0, 0.8);
        transition: background-color 0.3s ease-in-out;
    }
    #mainNav .navbar-brand {
        padding: .5rem 0;
        color: rgba(255, 255, 255, 0.5);
    }
    #mainNav .nav-link {
        transition: none;
        padding: 2rem 1.5rem;
        color: rgba(255, 255, 255, 0.5);
    }
    #mainNav .nav-linknocol {
        transition: none;
        padding: 2rem 1.5rem;
        color: white;
    }
    .nav-linknocolimg {
        transition: none;
        padding: 1.5rem 0rem 0rem 0rem;
        color: white;
    }
    #mainNav .nav-link:hover {
        color: rgba(255, 255, 255, 1);
    }
    #mainNav .nav-link:active {
        color: white;
    }
    #mainNav.navbar-shrink {
        background-color: rgba(0, 0, 0, 0.8);
        ;
    }
    #mainNav.navbar-shrink .navbar-brand {
        color: green;
    }
    #mainNav.navbar-shrink .nav-link {
        color: #161616;
        padding: 1.5rem 1.5rem 1.25rem;
        border-bottom: 0.25rem solid transparent;
    }
    #mainNav.navbar-shrink .nav-link:hover {
        color: #64a19d;
    }
    #mainNav.navbar-shrink .nav-link:active {
        color: #467370;
    }
    #mainNav.navbar-shrink .nav-link.active {
        color: white;
        outline: none;
        border-bottom: 0.25rem solid white;
    }
}

.masthead {
    position: relative;
    width: 100%;
    height: auto;
    padding: 0rem 0 0 0 !important;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: scroll;
}

.masthead h1 {
    font-family: "diamond", 'Patua One', cursive;
    font-size: 2rem;
    font-weight: bolder;
    line-height: 2.5rem;
    letter-spacing: 0.8rem;
    background: -webkit-linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0));
    -webkit-text-fill-color: transparent;
}

.outline {
    color: #f3aa55;
    -webkit-text-fill-color: #f3aa55;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: black;
}

.outline:hover {
    color: #f3a955d8;
    -webkit-text-fill-color: #f3a955d8;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: black;
}

.outline a:visited {
    color: #f3a955d8;
    -webkit-text-fill-color: #f3a955d8;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: black;
}

h2 {
    font-family: "diamond", "Cinzel Decorative", "Palatino Light", Times, Times New Roman, Georgia, serif;
    color: #f3aa55;
    text-align: center;
    font-size: 1.5rem;
}

h3 {
    font-family: "diamond", "Cinzel Decorative", "Palatino Light", Times, Times New Roman, Georgia, serif;
    color: #f3aa55;
    text-align: center;
    font-size: 1.17rem;
    margin-top: 1.5rem;
}

.nomarg h3 {
    margin-top: 0rem;
}

h4 {
    font-family: "diamond", "Cinzel Decorative", "Palatino Light", Times, Times New Roman, Georgia, serif;
    color: #f3aa55;
    font-size: 1rem;
}

.section {
    opacity: 0.5;
    filter: alpha(opacity=50);
}

.masthead h2 {
    max-width: 20rem;
    font-size: 1.5rem;
}

@media (min-width: 768px) {
    .masthead h1 {
        font-size: 4rem;
        line-height: 4rem;
    }
    .masthead {
        padding: 10rem 0 0 0;
    }
}

@media (min-width: 992px) {
    .masthead {
        padding: 10rem 0 0 0;
    }
    .masthead h1 {
        font-size: 6.5rem;
        line-height: 6.5rem;
        letter-spacing: 0.8rem;
    }
    .masthead h2 {
        max-width: 30rem;
        font-size: 1.25rem;
    }
}

.btn {
    box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.1) !important;
    padding: 1.25rem 2rem;
    font-family: "diamond", 'Varela Round';
    font-size: 80%;
    text-transform: uppercase;
    letter-spacing: .15rem;
    border: 0;
}

.btn-primary {
    background-color: #64a19d;
}

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

.btn-primary:focus {
    background-color: #4f837f;
    color: white;
}

.btn-primary:active {
    background-color: #467370 !important;
}

.about-section {
    padding-top: 0rem;
}

.about-section p {
    margin-bottom: 1rem;
}

.beta-section {
    padding-top: 0rem;
}

.beta-section p {
    margin-bottom: 3rem;
}

.projects-section {
    padding-top: 2rem;
    z-index: 1;
}

.projects-section .featured-text {
    padding: 0rem;
}

.trailer-section {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

@media (min-width: 992px) {
    .projects-section .featured-text {
        padding: 0 0 0 2rem;
        border-left: 0.2rem solid #f3aa55;
    }
}

.projects-section .project-text {
    padding: 3rem;
    font-size: 90%;
}

@media (min-width: 992px) {
    .projects-section .project-text {
        padding: 5rem;
    }
    .projects-section .project-text hr {
        border-color: #d4944a;
        border-width: .15rem;
        width: 30%;
    }
}

.signup-section {
    padding: 5rem 0;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
}

.signup-section .form-inline input {
    box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.1) !important;
    padding: 1.25rem 2rem;
    height: auto;
    font-family: "diamond", 'Varela Round';
    font-size: 80%;
    text-transform: uppercase;
    letter-spacing: 0.15rem;
    border: 0;
}

.contact-section {
    padding: 0rem 0 0;
}

.contact-section .card {
    border: 0;
    border-bottom: 0.25rem solid #64a19d;
}

.contact-section .card h4 {
    font-size: 0.8rem;
    font-family: "diamond", 'Varela Round';
    text-transform: uppercase;
    letter-spacing: 0.15rem;
}

.contact-section .card hr {
    border-color: #64a19d;
    border-width: 0.25rem;
    width: 3rem;
}

.contact-section .social {
    margin-top: 5rem;
}

.contact-section .social a {
    text-align: center;
    height: 3rem;
    width: 3rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 100%;
    line-height: 3rem;
    color: rgba(255, 255, 255, 0.3);
}

.contact-section .social a:hover {
    color: rgba(255, 255, 255, 0.5);
}

.contact-section .social a:active {
    color: #fff;
}

body {
    font-family: "diamond", 'Nunito';
    letter-spacing: 0.0625em;
    font-size: 1em;
    background: #000;
    color: rgba(255, 255, 255, 0.5);
}

a {
    color: #64a19d;
}

a:focus,
a:hover {
    text-decoration: none;
    color: #3c6360;
}

.bg-black {
    background-color: rgba(0, 0, 0, 0.5)!important;
}

.bg-primary {
    background-color: #64a19d !important;
}

.text-primary {
    color: #64a19d !important;
}

footer {
    padding: 2rem 0;
    height: 40%;
}

body,
html {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    height: 100%;
    width: 100%;
    font-family: "diamond", 'Roboto', sans-serif;
    font-weight: 400;
}

.wrapper {
    display: table;
    height: 100%;
    width: 100%;
}

.container {
    width: 90%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.container-fostrap {
    display: table-cell;
    padding: 1em;
    text-align: center;
    vertical-align: middle;
}

.fostrap-logo {
    width: 100px;
    margin-bottom: 15px
}

h1.heading {
    color: #fff;
    font-size: 1.15em;
    font-weight: 900;
    margin: 0 0 0.5em;
    color: #505050;
}

@media (min-width: 450px) {
    h1.heading {
        font-size: 3.55em;
    }
}

@media (min-width: 760px) {
    h1.heading {
        font-size: 3.05em;
    }
}

@media (min-width: 900px) {
    h1.heading {
        font-size: 3.25em;
        margin: 0 0 0.3em;
    }
}

@font-face {
    font-family: diamond;
    src: url(../font/Diamond_creek.ttf);
}

img.resize {
    max-width: 50%;
    max-height: 50%;
}

#videobcg {
    position: inherit;
    z-index: -100;
    width: 75%;
    align-content: bottom;
    overflow: hidden;
}

@media (max-width: 760px) {
    #videobcg {
        width: 100%;
    }
}

#videogif {
    position: relative;
    z-index: -100;
    width: 100%;
    align-content: top;
    overflow: hidden;
}

.video-bg {
    position: inherit;
    text-align: center;
    display: inline-block;
    width: 70%;
    min-width: 20px;
    left: 15%;
    margin-top: -8%;
}

@media (max-width: 760px) {
    .video-bg {
        width: 75%;
        left: 10%;
    }
}

.button-game:hover .button-game-bg-mid {
    color: #ffcb8d;
}

.button-game {
    display: inline-block;
    font-size: 16px;
    line-height: 54px;
    padding: 0 3px;
    position: relative;
    text-align: center;
    width: relative;
}

.button-game p {
    font-size: 25px;
}

.button-game .button-game-bg-left {
    background: url(../img/button-sprite.png) no-repeat 0 -108px;
    height: 54px;
    left: 0;
    position: absolute;
    top: 0;
    width: 51px;
    z-index: 1;
}

.button-game .button-game-bg-right {
    background: url(../img/button-sprite.png) no-repeat 0 -162px;
    height: 54px;
    position: absolute;
    right: 0;
    top: 0;
    width: 51px;
    z-index: 1;
}

.button-game .button-game-bg-mid {
    background: url(../img/button-sprite.png) repeat-x 0 0;
    color: #f3aa55;
    display: block;
    font-family: "diamond", "Cinzel Decorative", "Palatino Light", Times, Times New Roman, Georgia, serif;
    letter-spacing: 1px;
    font-weight: 600;
    padding: 0 42px;
    position: relative;
    text-shadow: 0 0 8px #000000;
    transition: color 0.2s;
}

.card {
    display: block;
    margin-bottom: 20px;
    line-height: 1.42857143;
    background-color: #000000;
    background: radial-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 80) 100%), url(../img/texture_bg.png);
    background-repeat: round;
    border-image: url(../img/chain.png) 50 round;
    border-width: 35px;
    overflow: hidden;
    height: 40rem;
}

@media (min-width: 760px) {
    h1.heading {
        font-size: 3.05em;
    }
}

@media (min-width: 900px) {
    h1.heading {
        font-size: 3.25em;
        margin: 0 0 0.3em;
    }
}

.img-card {
    width: 100%;
    height: 200px;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    display: block;
    box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.75);
}

.img-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: all .25s ease;
    z-index: -2;
}

.card-content {
    padding: 10px;
    text-align: center;
}

.card-title {
    margin-top: 0px;
    font-weight: 700;
    font-size: 1.65em;
}

.card-title a {
    color: #f3aa55;
    text-decoration: none !important;
}

.card-read-more a {
    text-decoration: none !important;
    font-weight: 600;
    text-transform: uppercase;
    color: #f3aa55;
}

.card-read-more a:hover {
    color: #f5bd7d;
}

.gifrep {
    position: relative;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}

.trophyimg {
    position: absolute;
    height: auto;
    width: auto;
    right: 0px;
    top: 0px;
    z-index: -1;
    transform: rotate(20deg);
}

@media (max-width: 760px) {
    .trophyimg {
        display: none;
        visibility: hidden;
    }
}

.bgborder {
    width: 100%;
    background-position: center center;
    background-repeat: repeat-y;
    background-size: contain;
    z-index: 2;
}

.discordlink {
    font-size: 5rem;
    color: #f3aa55;
}

.discordlink:hover {
    animation: discordNod 1s ease-in-out;
}

@keyframes discordNod {
    0% {
        transform: rotate(0deg);
        color: #f3aa55;
    }
    50% {
        transform: rotate(10deg);
        color: #ffffff83;
    }
    100% {
        transform: rotate(0deg);
        color: #f3aa55;
    }
}

#mc_embed_signup {
    background: #000000;
    clear: left;
    font: 18px Helvetica, Arial, sans-serif;
    width: 100%;
}

.divider {
    position: relative;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    height: 1px;
}

.div-transparent:before {
    content: "";
    position: absolute;
    top: 0;
    left: 5%;
    right: 5%;
    width: 90%;
    height: 1px;
    background-image: linear-gradient(to right, transparent, #f3aa55, transparent);
}

.mobilethumb img {
    width: 100%;
}

@media (max-width: 760px) {
    .mobilethumb img {
        width: 50%;
    }
}

.steam-wid {
    width: 646px;
}

@media (max-width: 760px) {
    .steam-wid {
        width: 300px;
    }
}


/* Main heading for card's front cover */

.card-front__heading {
    font-size: 1.5rem;
    margin-top: .25rem;
}


/* Main heading for inside page */

.inside-page__heading {
    padding-bottom: 1rem;
    width: 100%;
}


/* Mixed */


/* For both inside page's main heading and 'view me' text on card front cover */

.inside-page__heading,
.card-front__text-view {
    font-size: 1.3rem;
    font-weight: 800;
    margin-top: .2rem;
}

.inside-page__heading--city,
.card-front__text-view--city {
    color: #ff62b2;
}

.inside-page__heading--ski,
.card-front__text-view--ski {
    color: #2aaac1;
}

.inside-page__heading--beach,
.card-front__text-view--beach {
    color: #fa7f67;
}

.inside-page__heading--camping,
.card-front__text-view--camping {
    color: #00b97c;
}


/* Front cover */

.card-front__tp {
    color: #fafbfa;
}


/* For pricing text on card front cover */

.card-front__text-price {
    font-size: 1.2rem;
    margin-top: -.2rem;
}


/* Back cover */


/* For inside page's body text */

.inside-page__text {
    color: #333;
}


/* Icons ===========================================*/

.card-front__icon {
    fill: #fafbfa;
    font-size: 3vw;
    height: 3.25rem;
    margin-top: -.5rem;
    width: 3.25rem;
}


/* Buttons =================================================*/

.inside-page__btn {
    background-color: transparent;
    border: 3px solid;
    border-radius: .5rem;
    font-size: 1.2rem;
    font-weight: 600;
    margin-top: 2rem;
    overflow: hidden;
    padding: .7rem .75rem;
    position: relative;
    text-decoration: none;
    transition: all .3s ease;
    width: 90%;
    z-index: 10;
}

.inside-page__btn::before {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scaleY(0);
    transition: all .3s ease;
    width: 100%;
    z-index: -1;
}

.inside-page__btn--city {
    border-color: #ff40a1;
    color: #ff40a1;
}

.inside-page__btn--city::before {
    background-color: #ff40a1;
}

.inside-page__btn--ski {
    border-color: #279eb2;
    color: #279eb2;
}

.inside-page__btn--ski::before {
    background-color: #279eb2;
}

.inside-page__btn--beach {
    border-color: #fa7f67;
    color: #fa7f67;
}

.inside-page__btn--beach::before {
    background-color: #fa7f67;
}

.inside-page__btn--camping {
    border-color: #00b97d;
    color: #00b97d;
}

.inside-page__btn--camping::before {
    background-color: #00b97d;
}

.inside-page__btn:hover {
    color: #fafbfa;
}

.inside-page__btn:hover::before {
    transform: scaleY(1);
}


/* Layout Structure=========================================*/

.main {
    background: linear-gradient( to bottom right, #eee8dd, #e3d9c6);
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100vh;
    width: 100%;
}


/* Container to hold all cards in one place */

.card-area {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    justify-content: space-evenly;
    padding: 1rem;
}


/* Card ============================================*/


/* Area to hold an individual card */

.card-section {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}


/* A container to hold the flip card and the inside page */

.card {
    background-color: rgba(0, 0, 0, .05);
    box-shadow: -.1rem 1.7rem 6.6rem -3.2rem rgba(0, 0, 0, 0.5);
    height: 15rem;
    position: relative;
    transition: all 1s ease;
    width: 15rem;
}


/* Flip card - covering both the front and inside front page */


/* An outer container to hold the flip card. This excludes the inside page */

.flip-card {
    height: 15rem;
    perspective: 100rem;
    position: absolute;
    right: 0;
    transition: all 1s ease;
    visibility: hidden;
    width: 15rem;
    z-index: 100;
}


/* The outer container's visibility is set to hidden. This is to make everything within the container NOT set to hidden  */


/* This is done so content in the inside page can be selected */

.flip-card>* {
    visibility: visible;
}


/* An inner container to hold the flip card. This excludes the inside page */

.flip-card__container {
    height: 100%;
    position: absolute;
    right: 0;
    transform-origin: left;
    transform-style: preserve-3d;
    transition: all 1s ease;
    width: 100%;
}

.card-front,
.card-back {
    backface-visibility: hidden;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}


/* Styling for the front side of the flip card */


/* container for the front side */

.card-front {
    background-color: #fafbfa;
    height: 15rem;
    width: 15rem;
}


/* Front side's top section */

.card-front__tp {
    align-items: center;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 57% 90%, 50% 100%, 43% 90%, 0 90%);
    display: flex;
    flex-direction: column;
    height: 12rem;
    justify-content: center;
    padding: .75rem;
}

.card-front__tp--city {
    background: linear-gradient( to bottom, #ff73b9, #ff40a1);
}

.card-front__tp--ski {
    background: linear-gradient( to bottom, #47c2d7, #279eb2);
}

.card-front__tp--beach {
    background: linear-gradient( to bottom, #fb9b88, #f86647);
}

.card-front__tp--camping {
    background: linear-gradient( to bottom, #00db93, #00b97d);
}


/* Front card's bottom section */

.card-front__bt {
    align-items: center;
    display: flex;
    justify-content: center;
}


/* Styling for the back side of the flip card */

.card-back {
    background-color: #fafbfa;
    transform: rotateY(180deg);
}


/* Specifically targeting the <video> element */

.video__container {
    clip-path: polygon(0% 0%, 100% 0%, 90% 50%, 100% 100%, 0% 100%);
    height: auto;
    min-height: 100%;
    object-fit: cover;
    width: 100%;
}


/* Inside page */

.inside-page {
    background-color: #fafbfa;
    box-shadow: inset 20rem 0px 5rem -2.5rem rgba(0, 0, 0, 0.25);
    height: 100%;
    padding: 1rem;
    position: absolute;
    right: 0;
    transition: all 1s ease;
    width: 15rem;
    z-index: 1;
}

.inside-page__container {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    text-align: center;
    width: 100%;
}


/* Functionality ====================================*/


/* This is to keep the card centered (within its container) when opened */

.card:hover {
    box-shadow: -.1rem 1.7rem 6.6rem -3.2rem rgba(0, 0, 0, 0.75);
    width: 30rem;
}


/* When the card is hovered, the flip card container will rotate */

.card:hover .flip-card__container {
    transform: rotateY(-180deg);
}


/* When the card is hovered, the shadow on the inside page will shrink to the left */

.card:hover .inside-page {
    box-shadow: inset 1rem 0px 5rem -2.5rem rgba(0, 0, 0, 0.1);
}


/* Footer ====================================*/

.footer {
    background-color: #333;
    margin-top: 3rem;
    padding: 1rem 0;
    width: 100%;
}

.footer-text {
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
}

.tooltip {
    cursor: progress;
}