:root {
    --white-text: honeydew;
    --health-green: rgb(9, 231, 46);
    --warning-yellow: rgb(240, 220, 40);
    --danger-red: rgb(231, 9, 9);
    --card-face: rgb(211, 195, 150);
    --card-frame: rgb(90, 61, 6);
    --menu-bg1: rgb(12, 45, 107);
    --dark-bg: rgb(19, 17, 17);
    --gold-border: rgb(197, 156, 41);
    --purp-border: rgb(141, 70, 163);
    --light-shadow: #949189;
    --dark-shadow: #484a63;
    --armour-normal: rgb(49, 92, 219);
    --armour-damaged: rgb(219, 165, 49);
    /** GRADIENTS  */
    --menu-bg-gradient: linear-gradient(-60deg, #C4E0A0 50%, #9FCFEF 50%);
    --battle-bg-gradient: radial-gradient( at 59.5rem 23rem, rgb(85, 192, 112) 0%, rgb(85, 192, 112) 20%, rgb(190, 176, 47) 20%, rgb(190, 176, 47) 22.5%, rgb(160, 214, 171) 22.5%, transparent 45%), radial-gradient(ellipse 99rem 40em at 21rem 43rem, rgb(85, 192, 112) 0%, rgb(85, 192, 112) 20%, rgb(190, 176, 47) 20%, rgb(190, 176, 47) 22.5%, rgb(160, 214, 171) 22.5%, transparent 48%), radial-gradient( farthest-side at bottom left, rgba(255, 0, 255, 0.5), transparent), radial-gradient( farthest-corner at bottom right, rgba(53, 50, 255, 0.5), transparent 400px);
}

@font-face {
    font-family: 'GameTxt';
    src: url('../ConnectionIi-2wj8.otf') format("opentype");
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    user-select: none;
    /* border: 1px solid black;*/
}

.battle-weakened {
    background-color: var(--warning-yellow) !important;
    border-color: var(--warning-yellow) !important;
}

.battle-danger {
    background-color: var(--danger-red) !important;
    border-color: var(--danger-red) !important;
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: 'Press Start 2P', cursive;
}

#Upper-Vis {
    width: 80rem;
    height: 40rem;
    margin-top: 4rem;
    /**/
    border: .3rem solid black;
    border-radius: 1rem;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    /**/
    display: flex;
    align-items: stretch;
    /* */
    background: #07daa4;
    background-image: var(--battle-bg-gradient);
}

#Upper-Vis.menu-ui {
    position: relative;
    top: 0;
    background-image: none;
    background-color: var(--white-text);
}

.battle-card h2,
.battle-card h3,
#battle-choice-opt button {
    text-shadow: .2rem .2rem .1rem var(--light-shadow);
}

#upper-left,
#upper-right,
#lower-left,
#lower-right {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#player-box,
#enemy-box {
    width: 65%;
    height: 45%;
    margin: 0 auto;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

#enemy-box {
    margin-top: 10rem;
    background-image: url('../images/EnemyRobot.png');
}

#player-box {
    margin-left: 20%;
    background-image: url('../images/PlayerRobot.png');
}

#player-card,
#enemy-card {
    width: 95%;
    height: 38%;
    margin: 1rem .2rem 1rem auto;
    display: flex;
}

#player-card {
    margin: 1rem auto 1rem .2rem;
    align-items: flex-end;
}

.battle-card {
    width: 100%;
    filter: drop-shadow(.2rem .2rem .1rem var(--dark-shadow));
}

.battle-card-frame {
    border: 2rem solid;
    border-top: 0;
    border-left-color: rgba(0, 0, 0, 0);
    border-right: 2rem solid var(--card-frame);
    border-bottom-color: var(--card-frame);
    border-bottom-right-radius: 2rem;
    height: 3.6rem;
    z-index: -1;
}

#enemy-card {
    margin-top: 5rem;
}

#enemy-card .battle-card-frame {
    border: 3rem solid;
    border-top: 0;
    border-right-color: rgba(0, 0, 0, 0);
    border-left: 2rem solid var(--card-frame);
    border-bottom-color: var(--card-frame);
    border-bottom-left-radius: 2rem;
    border-bottom-right-radius: 0;
    margin-left: 2.8rem;
    position: relative;
    bottom: 2.8rem;
}

.battle-card-face {
    margin: 0 .8rem 0 2rem;
    padding-left: 2.5rem;
    font-size: 1.2rem;
    background-color: var(--card-face);
    border-radius: 1rem;
    border-top-left-radius: 2rem;
    border-bottom-right-radius: 2rem;
    border: .4rem solid var(--card-frame);
}

#player-card .battle-card-face {
    position: relative;
    top: 2.5rem;
}

#player-card .battle-card-frame div {
    position: relative;
    top: 1rem;
}

#enemy-card .battle-card-face {
    margin: 0 3rem 0 .5rem;
}

.battle-card-face h2 {
    font-size: 2.2rem;
    padding: .4rem 0;
}

.ArmourIcon {
    width: 1.6rem;
    height: 1rem;
    fill: var(--armour-normal);
    transform: scale(1.5);
    display: none;
}

.damagedArmour {
    fill: var(--armour-damaged) !important;
}

.deadArmour {
    fill: var(--danger-red) !important;
}

.battle-HP-bar {
    display: flex;
    color: goldenrod;
    background-color: var(--menu-bg1);
    border: .3rem solid var(--menu-bg1);
    border-radius: 1rem;
    margin-left: 4rem;
    margin-right: 1rem;
}

.battle-HP-bar .HP-text {
    /* Golden gradient on HP text  */
    position: relative;
    top: .1rem;
    background: #FCEABB;
    background: -webkit-linear-gradient(to bottom, #FCEABB 0%, #FCCD4D 50%, #F8B500 51%, #FBDF93 100%);
    background: -moz-linear-gradient(to bottom, #FCEABB 0%, #FCCD4D 50%, #F8B500 51%, #FBDF93 100%);
    background: linear-gradient(to bottom, #FCEABB 0%, #FCCD4D 50%, #F8B500 51%, #FBDF93 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.battle-HP-bar div {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    background-color: #fff;
    border: 1px solid #fff;
    border-radius: 1rem;
}

#player-HP-bar,
#enemy-HP-bar {
    width: 100%;
    background-color: var(--health-green);
    border: .2rem solid var(--health-green);
    border-radius: 1rem;
    transition: all 1.2s ease-in;
}

.battle-HP-bar div div {
    /* highlight on HP Bar */
    border-top: .3rem solid rgba(0, 0, 0, .6) !important;
}

.battle-card-face h3 {
    text-align: right;
    margin-right: 2rem;
    padding: .3rem 0;
}

.battle-card-stat {
    display: inline-block;
    width: 30%;
    font-size: .8rem;
    text-shadow: .2rem .2rem .1rem var(--light-shadow);
}

.battle-card-stat.stat-pad {
    margin-left: 10%;
}

#player-card .battle-card-stat {
    color: var(--white-text);
    width: 30%;
    padding-top: .4rem;
    text-shadow: .2rem .2rem .1rem var(--dark-bg);
}

#enemy-card .battle-card-face h3 {
    display: inline-block;
    text-align: right;
    width: 33%;
    margin-right: 1rem;
}


/**********************************
**         LOWER SECTION         */

#Lower-Vis {
    width: 80rem;
    height: 15rem;
    /**/
    display: flex;
    font-family: 'Gametxt', cursive;
}

#lower-left,
#lower-right {
    color: var(--white-text);
    background-color: var(--dark-bg);
    padding: .15rem;
    padding-top: .1rem;
    padding-left: .3rem;
    padding-bottom: .3rem;
}

#lower-right {
    color: var(--white-text);
    padding-right: .3rem;
}

#battle-choice-text-box {
    background-color: var(--gold-border);
    border: 1.2rem solid var(--gold-border);
    border-radius: 1.5rem;
    width: 100%;
    height: 100%;
}

#battle-choice-text {
    font-size: 2.5rem;
    font-weight: 100;
    text-shadow: .2rem .2rem .1rem var(--dark-shadow);
    background-color: var(--menu-bg1);
    border: .5rem solid var(--white-text);
    border-radius: .5rem;
    padding: 2rem;
    width: 100%;
    height: 100%;
    border-right: 0;
}

#battle-choice-text-box,
#battle-choice-text {
    border-right: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

#battle-choice-opt-box {
    background-color: var(--purp-border);
    border: 1.2rem solid var(--purp-border);
    border-radius: .5rem;
    width: 100%;
    height: 100%;
}

#battle-choice-opt {
    display: flex;
    flex-wrap: wrap;
    background-color: var(--white-text);
    border: .5rem solid var(--white-text);
    border-radius: .5rem;
    padding: .5rem;
    width: 100%;
    height: 100%;
    border-right: 0;
}

#battle-choice-opt button {
    width: 50%;
    font-family: 'GameTxt';
    font-size: 3rem;
    text-align: left;
    padding-top: .4rem;
    border: 0;
    background-color: var(--white-text);
}

#battle-choice-opt button:focus .choiceIcon {
    opacity: 1;
}

.choiceIcon {
    content: url('../images/right-arrow-svgrepo-com.svg');
    position: relative;
    top: .3rem;
    left: .5rem;
    width: 3rem;
    height: 3rem;
    opacity: 0;
    filter: drop-shadow(.2rem .2rem .1rem var(--light-shadow));
}


/********************/


/*    MENU SETUP    */

#upper-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.menu-bg {
    animation: slide 3s ease-in-out infinite alternate;
    background-image: var(--menu-bg-gradient);
    bottom: 0;
    left: -0;
    opacity: .5;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0;
    background-size: 225% 100%;
}

.menu-bg2 {
    animation-direction: alternate-reverse;
    animation-duration: 4s;
}

.menu-bg3 {
    animation-duration: 5s;
}

#menu-content {
    font-size: 1.2rem;
    background-color: rgba(255, 255, 255, .8);
    border-radius: .25em;
    box-shadow: 0 0 .25em rgba(0, 0, 0, .25);
    padding: 4rem;
    text-align: center;
    opacity: .8;
    cursor: pointer;
    text-shadow: .2rem .2rem .1rem var(--light-shadow);
}

#menu-content h2 {
    margin-bottom: 1.5rem;
}

.emoji {
    position: relative;
    bottom: 1px;
}

.wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#champ-wrapper.wrapper {
    width: 100%;
    padding: .5rem;
    background-color: rgb(119, 171, 231);
    justify-content: center;
}

.wrapper .ChampStatsTitle {
    width: 100%;
}

.wrapper .ChampStats {
    width: 50%;
    text-align: right;
    align-content: center;
}

.wrapper .ChampStats:nth-child(even) {
    text-align: left;
    padding-left: 1rem;
}

#net-champ-wrapper {
    margin-top: 1rem;
    padding: .5rem;
    background-color: rgb(160, 214, 171);
}

.shop-button,
.fancy-button {
    padding: 1rem;
    margin: .3rem;
    text-shadow: .2rem .2rem .1rem var(--dark-shadow);
    background-image: linear-gradient(to right, #757F9A 0%, #D7DDE8 51%, #757F9A 100%);
    margin: .7rem;
    padding: .8rem 3.5rem;
    text-align: center;
    transition: 0.5s;
    background-size: 200% auto;
    color: var(--white-text);
    box-shadow: .2rem .2rem .1rem var(--dark-shadow);
    border-radius: .7rem;
    display: block;
}

.fancy-button.delete-bot {
    background-image: linear-gradient(to right, #e52d27 0%, #b31217 51%, #e52d27 100%)
}

.delete-bot-icon {
    position: absolute;
    bottom: 2rem;
    right: 3rem;
    font-size: 3rem;
    height: 6rem;
    width: 6rem;
    padding-top: 1rem;
}

.delete-bot-icon:hover {
    background-color: rgba(253, 0, 0, .8);
    background: radial-gradient(circle, rgba(200, 108, 108, 1) 0%, rgba(255, 58, 40, 1) 43%, rgba(255, 247, 246, 1) 97%, rgba(255, 255, 255, 0) 100%);
    border-radius: 50%;
}

.shop-button:hover,
.fancy-button:hover {
    background-position: right center;
    text-decoration: none;
}

.saved-bot::before {
    content: '🤖';
    position: relative;
    bottom: .2rem;
    right: .4rem;
}

.wrapper #newBotButton.saved-bot {
    margin: 2rem 10rem 0;
    background-image: linear-gradient(to right, #FF8008 0%, #FFC837 51%, #FF8008 100%)
}

#lower-container {
    position: relative;
    top: 0;
    width: 100%;
    background-color: var(--dark-bg);
    display: flex;
    padding: .1rem .4rem .4rem .4rem;
}

#menu-ok-check {
    background-image: url('../images/check-box-svgrepo-com.svg');
    background-repeat: no-repeat;
    background-size: cover;
    width: 5rem;
    height: 5rem;
    transition: all .3s ease;
    position: absolute;
    bottom: 1.2rem;
    right: 2rem;
    opacity: 0;
    cursor: pointer;
}

#lower-container:hover #menu-ok-check {
    opacity: .1;
}

#menu-ok-check:hover {
    opacity: .9 !important;
    transform: scale(1.1);
}

#menu-text-box {
    display: flex;
    width: 100%;
    background-color: rgb(146, 17, 17);
    border-radius: 2.2rem;
}

#menu-text {
    width: 100%;
    background-color: rgb(43, 121, 117);
    margin: .3rem 1rem;
    padding: 2rem 2.5rem;
    border-radius: 2.2rem;
    color: var(--white-text);
    font-size: 2.5rem;
    font-weight: 100;
    text-shadow: .2rem .2rem .1rem var(--dark-shadow);
}

@keyframes slide {
    0% {
        background-position: 0% 50%
    }
    100% {
        background-position: 100% 50%
    }
}


/************* **************/


/*    BUILD A BOT STYLES    */

.name-bot {
    width: 40rem;
}

.name-bot h2 {
    padding-bottom: 2rem;
}

.name-bot input {
    width: 30rem;
    font-family: 'Press Start 2P', cursive;
    font-size: 1.5rem;
    text-shadow: .2rem .2rem .1rem var(--light-shadow);
    padding: .5rem;
    margin-top: 1.5rem;
}

#BuildABot.wrapper {
    width: 40rem;
}

#statPointsRemaining,
#cashRemaining {
    font-size: 3rem;
    vertical-align: middle;
}

#buildBotOK {
    margin-top: 2rem;
}

.wrapper .slidecontainer {
    width: 100%;
    padding: .6rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.slider-value-output {
    padding-left: 1rem;
    padding-top: 0;
}

.slider-name {
    width: 100%;
    text-align: left;
}

.point-cost {
    font-size: .8rem;
    padding-right: 8rem;
    text-align: right;
    text-shadow: .1rem .1rem .1rem var(--light-shadow);
}

.build-subtitle {
    margin-bottom: 2rem;
    vertical-align: middle;
}

.slider-value-output {
    width: 3.5rem;
    padding-right: 4rem;
}


/* The slider itself */

.slider {
    -webkit-appearance: none;
    /* Override default CSS styles */
    appearance: none;
    width: 25rem;
    /* Full-width */
    height: 1.5rem;
    /* Specified height */
    background: #d3d3d3;
    /* Grey background */
    outline: none;
    /* Remove outline */
    opacity: 0.7;
    /* Set transparency (for mouse-over effects on hover) */
    -webkit-transition: .2s;
    /* 0.2 seconds transition on hover */
    transition: opacity .2s;
}


/* Mouse-over effects */

.slider:hover {
    opacity: 1;
    /* Fully shown on mouse-over */
}


/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */

.slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    /* Override default look */
    appearance: none;
    width: 1.5rem;
    /* Set a specific slider handle width */
    height: 1.5rem;
    /* Slider handle height */
    background: #04AA6D;
    /* Green background */
    cursor: pointer;
    /* Cursor on hover */
}

.slider::-moz-range-thumb {
    width: 1.5rem;
    /* Set a specific slider handle width */
    height: 1.5rem;
    /* Slider handle height */
    background: #04AA6D;
    /* Green background */
    cursor: pointer;
    /* Cursor on hover */
}


/***************************
WORK SHOP STYLES
********************/

#shopMenu {
    margin: 0 auto;
    width: 60rem;
    justify-content: center;
}

#shopMenu p {
    width: 100%;
    height: 4rem;
    text-align: center;
}

.wrapper.shop-col {
    width: 20%;
    flex-direction: column;
    justify-content: flex-start;
}

.wrapper .shop-box {
    padding-top: 1.2rem;
    text-shadow: none;
    filter: drop-shadow(.2rem .2rem .1rem var(--dark-shadow));
}

.bordered {
    border-left: .1rem solid var(--menu-bg1);
}

.dbl-bordered {
    border-right: .1rem solid var(--menu-bg1);
    border-left: .1rem solid var(--menu-bg1);
}

.shop-box.bottom-box {
    height: 6.7rem;
}

.shop-button {
    width: 8rem;
    padding: .5rem 0;
    text-align: center;
    color: var(--dark-bg);
    text-shadow: .1rem .1rem .1rem var(--light-shadow);
}

.hp-restore {
    background-image: linear-gradient(to right, #e446dc 0%, #d19dd8 51%, #db33cd 100%);
}

.hp-improve {
    background-image: linear-gradient(to right, #ad2121 0%, #da8989 51%, #e03b65 100%);
}

.speed-improve {
    background-image: linear-gradient(to right, #e9d362 0%, #dffd72 51%, #e9d362 100%);
}

.attack-improve {
    background-image: linear-gradient(to right, #ce6925 0%, #fdb572 51%, #e06d01 100%);
}

.armour-restore {
    background-image: linear-gradient(to right, #79df75 0%, #5ace6d 51%, #0f9b32 100%);
}

.armour-install {
    background-image: linear-gradient(to right, #2636c5 0%, #5072ce 51%, #418ace 100%);
}

#shopAllDone {
    margin-top: 5rem;
}


/*********************************
**   RESPOSIVE SCREEN SIZING    **
*********************************/

@media screen and (max-width: 320px) {
     :root {
        font-size: 20%;
    }
}

@media screen and (min-width: 321px) {
     :root {
        font-size: 22%;
    }
}

@media screen and (min-width: 375px) {
     :root {
        font-size: 25%;
    }
}

@media screen and (min-width: 425px) {
     :root {
        font-size: 30%;
    }
    .emoji {
        bottom: 2px;
    }
}

@media screen and (min-width: 545px) {
     :root {
        font-size: 35%;
    }
    .slider-value-output {
        padding-top: .2rem;
    }
}

@media screen and (min-width: 576px) {
     :root {
        font-size: 40%;
    }
    .slider-value-output {
        padding-top: .3rem;
    }
}

@media screen and (min-width: 600px) {
     :root {
        font-size: 45%;
    }
}

@media screen and (min-width: 786px) {
     :root {
        font-size: 58%;
    }
}

@media screen and (min-width: 1024px) {
     :root {
        font-size: 70%;
    }
}

@media screen and (min-width: 1440px) {
     :root {
        font-size: 80%;
    }
}

@media (min-aspect-ratio: 8/4) {
     :root {
        font-size: 48%;
    }
    #Upper-Vis {
        margin-top: .5rem;
    }
}

@media (min-width: 1300px),
(min-height: 1000px) {
     :root {
        font-size: 100%;
    }
    #Upper-Vis {
        margin-top: 4rem;
    }
}

@media screen and (orientation:landscape) {
    #Upper-Vis {
        margin-top: 1rem;
    }
    @media screen and (max-height: 34rem) {
        #Upper-Vis {
            height: 33rem;
            background-image: radial-gradient( at 59.5rem 18.5rem, rgb(85, 192, 112) 0%, rgb(85, 192, 112) 20%, rgb(190, 176, 47) 20%, rgb(190, 176, 47) 22.5%, rgb(160, 214, 171) 22.5%, transparent 45%), radial-gradient(ellipse 99rem 40em at 21rem 36rem, rgb(85, 192, 112) 0%, rgb(85, 192, 112) 20%, rgb(190, 176, 47) 20%, rgb(190, 176, 47) 22.5%, rgb(160, 214, 171) 22.5%, transparent 48%), radial-gradient( farthest-side at bottom left, rgba(255, 0, 255, 0.5), transparent), radial-gradient( farthest-corner at bottom right, rgba(53, 50, 255, 0.5), transparent 400px);
        }
    }
    @media screen and (max-height: 32rem) {
         :root {
            font-size: 35%;
        }
    }
}