
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
}

body {
    line-height: 1;
    color: black;
    background: white;
}

ol, ul {
    list-style: none;
}

table {
    border-collapse: separate;
    border-spacing: 0;
    vertical-align: middle;
}

caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q, blockquote {
    quotes: "" "";
}

q:before, q:after, blockquote:before, blockquote:after {
    content: "";
}

a img {
    border: none;
}


body {
    font-family: lucida grande, sans-serif, arial !important;
    width: 100%;
    
    color: #777;
    font-size: 15px;
    background: linear-gradient(to bottom, #03A9F4 0%, #ccf2ff 100%);

}

a, a:visited {
    color: #777;
}

strong {
    font-weight: bold;
}

p {
    margin: 30px 0;
    text-indent: 0;
    line-height: 1;
}
#result{
    color: #999;
    font-size: 14px;
    margin-top:0;
}
#result span{
    color: #fff;
    font-size: 20px;
    background: #10a663;
    padding: 3px;
    border-radius: 5px;
}


.controls, .warning, .short-link,  .social {
    text-align: center;
}

.note {
    color: #aaa;
    font-size: 75%;
}

.short-link {
    font-size: 2em;
    margin-top: 0;
    text-align:center;
}

object {
    margin-bottom: 1.5em;
}



        .counter-holder{
           position: fixed;
            top: 20px;
            right: 5%;
            font-family: monospace;
            color: #000;
            border: 1px solid #ccc;
            border-radius: 10px;
            overflow: hidden;
                   
        }
        .counter-holder .lbl{
            background: #10a663;
            color: #fff;
            display: block;
            text-align: center;
            font-size: 16px;
            padding:8px 0;
        }
        .counter-container {
            font-size: 30PX;
            color: #333;
            background-color: white;
            padding: 0;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            display: flex;
            gap: 0;
            
        }
        .digit {
            position: relative;
            width: 40px;
            height: 40px;
            overflow: hidden;
            background-color: #1e1e1e;
            border-radius: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            border:1px solid rgba(255,255,255, 0.1);
        }
        .digit span {
            position: absolute;
            width: 100%;
            height: 100%;
            line-height: 1em;
            text-align: center;
            color: #fff;
            transform: translateY(0);
            transition: transform 0.5s;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* Container Styling */
        .container {
            background: rgba(0, 0, 0, 0.75);
            padding: 0px;
            border-radius: 20px 20px 0 0;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
            text-align: center;
            animation: formAnimation 1s ease-out;
            position: absolute;
            width: 100%;
            box-sizing: border-box;
            bottom: 0;
            -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
            border-top: 0px solid rgba(255, 255, 255, 0.5);
            display: flex;
            justify-content: center;
            color:#fff;
           
        }
        .holder{
                padding-top:50px;
             overflow: hidden;
             position: relative;
        }
        .bar{
            position: absolute;
            border: 10px solid;
            border-image-slice: 1;
            border-width: 2px;
            border-left: 0;
            border-right: 0;
            border-bottom: 0;
            border-image-source: linear-gradient(to left, #151C08, #F0DEB2, #151C08);
            top:0;
            width: 100%;


        }
        .container label{
            color:#999;
        }

        /* Form Wrapper Styling */
        .form-wrapper {
            max-width: 400px;
            width: 100%;
        }

        h1 {
            height: 15px;
            position: fixed;
            top: 45px;
            left: 20px;
            color: #fff;
            font-family: monospace;
            font-size: 12px;
            padding: 5px;
            background: rgba(0, 0, 0, 0.3);
            border-radius: 5px;
        }

        /* Form Group Styling */
        .form-group {
            margin-bottom: 15px;
            text-align: left;
        }

        .phone-input-wrapper {
            display: flex;
            gap: 5px;
        }

        label {
            display: block;
            margin-bottom: 5px;
            color: #555;
        }

        input, select {
            width: 100%;
            padding: 10px;
            border: 1px solid rgba(255,255,255,0.2);
            border-radius: 5px;
            font-size: 16px;
            transition: all 0.3s ease;
            box-sizing: border-box;
            height:41px;
            background: rgba(255, 255, 255, 0.1);
            color: #fff;
        }

        input:focus, select:focus {
            border-color: #fff;
            box-shadow: 0 0 5px rgba(52, 152, 219, 0.5);
            outline: 0 none;
        }

        /* Custom dropdown styling */
        .custom-dropdown {
            position: relative;
            width: 100%;
        }

        .custom-dropdown input {
            width: calc(100% - 30px);
        }

        .custom-dropdown .dropdown-caret {
            position: absolute;
            right: 6px;
            top: 50%;
            transform: translateY(-50%);
            cursor: pointer;
            background: rgba(255, 255, 255, 0.1);
            height: 39px;
            width: 23px;
            border-radius: 0 5px 5px 0;
            display: flex;
            align-items: center;
            border: 1px solid rgba(255, 255, 255, 0.2);;
            border-left: 0 none !important;
            font-size: 20px;
            text-indent: 5px;
        }

        .custom-dropdown .dropdown-list {
            position: absolute;
            width: 100%;
            background: rgba(0, 0, 0, 0.6);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 5px;
            max-height: 150px;
            overflow-y: auto;
            display: none;
            z-index: 1000;
            -webkit-backdrop-filter: blur(30px);
            backdrop-filter: blur(30px);
        }

        .custom-dropdown .dropdown-list.active {
            display: block;
        }

        .custom-dropdown .dropdown-list li {
            padding: 10px;
            cursor: pointer;
        }

        .custom-dropdown .dropdown-list li:hover {
            background: #3498db;
            color: #fff;
        }

        /* Submit Button Styling */
        button.submit-btn {
            background-color: #11A663;
            color: #fff;
            padding: 15px 20px;
            border: none;
            border-radius: 5px;
            font-size: 16px;
            cursor: pointer;
            transition: background-color 0.3s ease;
            width: 100%;
        }

        button.submit-btn:hover {
            background-color: #11A663;
        }

        /* Success Message Styling */
        .success-message {
            padding: 0px;
            border-radius: 10px;
            
            text-align: center;
            flex-direction: column;
        }

        .success-message h2 {
            color: #999;
            margin-bottom: 10px;
            line-height: 20px;
            padding:0 30px;
            max-width: 290px;
            font-size: 14px;
        }

        .success-message p {
            color: #555;
            margin-bottom: 20px;
        }

        .cta-buttons {
            display: flex;
            justify-content: space-around;
            flex-direction: column;
            margin-bottom: 10px;
        }

        .store-btn img{
            height: 60px;
    /*box-shadow: 0 0px 0px 10px rgba(255, 255, 255, .15), 0 0px 0px 20px rgba(255, 255, 255, .08);*/
    /*box-shadow: 0 0px 0px 10px rgba(255, 255, 255, .08);*/
    display: block;
    margin: 0 auto;
    border-radius: 10px;
        }
        a.store-btn {
            margin-bottom: 20px;
        }
         a.store-btn:last-child {
            margin-bottom: 20px;
        }
        .cta-btn {
            background-color: #3498db;
            color: white;
            padding: 10px 20px;
            text-decoration: none;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

        .cta-btn:hover {
            background-color: #2980b9;
        }


#canvas {
    height: 600px;
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    overflow: hidden;
    margin-top:50px;
}

#canvas div {
    position: absolute;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -ms-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;

    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -ms-animation-timing-function: linear;
    -o-animation-timing-function: linear;
    animation-timing-function: linear;
}

#canvas:target div:not(.overlay) {
    border: 1px solid black;
}

#canvas:target div.me div{
    background: rgba(255, 255, 255, 0.25);
}

.me {
    top: 50px; left: 150px;
    -webkit-animation-name: me;
    -moz-animation-name: me;
    -ms-animation-name: me;
    -o-animation-name: me;
    animation-name: me;
}

.me, .me div {
    background-repeat: no-repeat;
    -webkit-animation-duration: 1500ms;
    -moz-animation-duration: 1500ms;
    -ms-animation-duration: 1500ms;
    -o-animation-duration: 1500ms;
    animation-duration: 1500ms;
}

.torso {
    width: 86px; height: 275px;
    background-image: url(images/me/torso.png);
    background-size: 86px;
}

.arm {
    left: 12px;
    -webkit-transform-origin: 20px 10px;
    -moz-transform-origin: 20px 10px;
    -ms-transform-origin: 20px 10px;
    -o-transform-origin: 20px 10px;
    transform-origin: 20px 10px;
}

.right.arm {
    top: 93px;
    -webkit-animation-name: right-bicep;
    -moz-animation-name: right-bicep;
    -ms-animation-name: right-bicep;
    -o-animation-name: right-bicep;
    animation-name: right-bicep;
}
.left.arm {
    top: 87px;
    -webkit-animation-name: left-bicep;
    -moz-animation-name: left-bicep;
    -ms-animation-name: left-bicep;
    -o-animation-name: left-bicep;
    animation-name: left-bicep;
}

.bicep {
    height: 124px; width: 51px;
}

.right.bicep { background-image: url(images/me/right-bicep.png); }
.left.bicep { background-image: url(images/me/left-bicep.png); }

.forearm {
    top: 108px; left: 14px;
    width: 36px; height: 121px;
    -webkit-transform-origin: 3px 7px;
    -moz-transform-origin: 3px 7px;
    -ms-transform-origin: 3px 7px;
    -o-transform-origin: 3px 7px;
    transform-origin: 3px 7px;
}

.right.forearm {
    background-image: url(images/me/right-forearm.png);
    -webkit-animation-name: right-forearm;
    -moz-animation-name: right-forearm;
    -ms-animation-name: right-forearm;
    -o-animation-name: right-forearm;
    animation-name: right-forearm;
}

.left.forearm {
    background-image: url(images/me/left-forearm.png);
    -webkit-animation-name: left-forearm;
    -moz-animation-name: left-forearm;
    -ms-animation-name: left-forearm;
    -o-animation-name: left-forearm;
    animation-name: left-forearm;
}

.leg {
    left: 6px;
    -webkit-transform-origin: 30px 20px;
    -moz-transform-origin: 30px 20px;
    -ms-transform-origin: 30px 20px;
    -o-transform-origin: 30px 20px;
    transform-origin: 30px 20px;
    -webkit-animation-name: thigh;
    -moz-animation-name: thigh;
    -ms-animation-name: thigh;
    -o-animation-name: thigh;
    animation-name: thigh;
}

.right.leg {
    top: 235px;
    -webkit-animation-name: right-thigh;
    -moz-animation-name: right-thigh;
    -ms-animation-name: right-thigh;
    -o-animation-name: right-thigh;
    animation-name: right-thigh;
}

.left.leg {
    top: 225px;
    -webkit-animation-name: left-thigh;
    -moz-animation-name: left-thigh;
    -ms-animation-name: left-thigh;
    -o-animation-name: left-thigh;
    animation-name: left-thigh;
}

.thigh {
    width: 70px; height: 145px;
}

.left.thigh { background-image: url(images/me/left-thigh.png); }
.right.thigh { background-image: url(images/me/right-thigh.png); }

.shin {
    top: 115px;
    width: 50px; height: 170px;
    background-image: url(images/me/shin.png);
    -webkit-transform-origin: 30px 25px;
    -moz-transform-origin: 30px 25px;
    -ms-transform-origin: 30px 25px;
    -o-transform-origin: 30px 25px;
    transform-origin: 30px 25px;
}

.right.shin {
    -webkit-animation-name: right-shin;
    -moz-animation-name: right-shin;
    -ms-animation-name: right-shin;
    -o-animation-name: right-shin;
    animation-name: right-shin;
}
.left.shin {
    -webkit-animation-name: left-shin;
    -moz-animation-name: left-shin;
    -ms-animation-name: left-shin;
    -o-animation-name: left-shin;
    animation-name: left-shin;
}

.foot {
    top: 155px; left: 2px;
    width: 67px; height: 34px;
    background-image: url(images/me/foot.png);
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    -o-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

.right.foot {
    -webkit-animation-name: right-foot;
    -moz-animation-name: right-foot;
    -ms-animation-name: right-foot;
    -o-animation-name: right-foot;
    animation-name: right-foot;
}
.left.foot {
    -webkit-animation-name: left-foot;
    -moz-animation-name: left-foot;
    -ms-animation-name: left-foot;
    -o-animation-name: left-foot;
    animation-name: left-foot;
}

.toes {
    top: 9px; left: 66px;
    width: 28px; height: 25px;
    background-image: url(images/me/toes.png);
    -webkit-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
}

.right.toes {
    -webkit-animation-name: right-toes;
    -moz-animation-name: right-toes;
    -ms-animation-name: right-toes;
    -o-animation-name: right-toes;
    animation-name: right-toes;
}
.left.toes {
    -webkit-animation-name: left-toes;
    -moz-animation-name: left-toes;
    -ms-animation-name: left-toes;
    -o-animation-name: left-toes;
    animation-name: left-toes;
}

.shadow {
    width: 200px; height: 70px;
    left: 60px; bottom: 5px;
    background-image: url(images/misc/shadow.png);
    -webkit-animation-name: shadow;
    -moz-animation-name: shadow;
    -ms-animation-name: shadow;
    -o-animation-name: shadow;
    animation-name: shadow;
}


#canvas div.land{
    height: 56%;
    width: 100%;
    bottom: 0;
    position: fixed;
    background: linear-gradient(to bottom, #99cd39 0%, #416a19 100%);
}
/* setting proper z-indexes so that limbs show up correctly */

div.right.arm { z-index: 1; }
div.left.arm { z-index: -3; }
div.arm > div.bicep > div.forearm { z-index: -1; }

div.right.leg { z-index: -1; }
div.left.leg { z-index: -2; }
div.leg > div.thigh > div.shin { z-index: -1; }
.bg-sky , .morning .bg-sky{
    background: linear-gradient(to bottom, #03A9F4 0%, #ccf2ff 100%);
    height: 50vh;
    position: absolute;
    top: 0;
    width: 100%;
}

.afternoon .bg-sky{
    background: linear-gradient(to bottom, #72cff9 0%, #f8e968 100%);
}

.afternoon #canvas div.land{background: linear-gradient(to bottom, #cdd758 0%, #6fac34 100%);}

.evening .bg-sky{background: linear-gradient(to bottom, #ff2a65 0%, #FFEB3B 100%);}

.evening #canvas div.land {
  
    background: linear-gradient(to bottom, #d6c031 0%, #62443a 100%);
}
.evening .sky{
    opacity: 0.7;
}

.evening .me{
    filter: hue-rotate(343deg) contrast(1.1);
    -webkit-filter: hue-rotate(343deg) contrast(1.1);
}

.evening .ground{
        filter: hue-rotate(345deg);
        -webkit-filter: hue-rotate(345deg);
}
.night .bg-sky {
    background: linear-gradient(to bottom, #004583 0%, #22acc2 100%);}


.night #canvas div.land {
   
    background: linear-gradient(to bottom, #35aaaf 0%, #003812 100%);
}

.night .sky{
    opacity: 0.5;
}

.night .me {
    filter: brightness(0.8) hue-rotate(339deg);
    -webkit-filter: brightness(0.8) hue-rotate(339deg);
}

.night .ground{
    opacity: 0.8;
    filter: hue-rotate(24deg);
    -webkit-filter: hue-rotate(24deg);
}

.afternoon .me{
    filter: sepia(0.2) contrast(1.2) brightness(01);
}





.sky div {
    background-repeat: no-repeat;
    -webkit-animation-name: prop-1200;
    -moz-animation-name: prop-1200;
    -ms-animation-name: prop-1200;
    -o-animation-name: prop-1200;
    animation-name: prop-1200;
}

.cloud-1, .cloud-2 {
    width: 159px; height: 90px;
    background-image: url(images/clouds/1.png);
    -webkit-animation-duration: 120s;
    -moz-animation-duration: 120s;
    -ms-animation-duration: 120s;
    -o-animation-duration: 120s;
    animation-duration: 120s;
}

.cloud-3, .cloud-4 {
    top: 70px;
    width: 159px; height: 90px;
    background-image: url(images/clouds/2.png);
    -webkit-animation-duration: 80s;
    -moz-animation-duration: 80s;
    -ms-animation-duration: 80s;
    -o-animation-duration: 80s;
    animation-duration: 80s;
}

.cloud-5, .cloud-6 {
    top: 30px;
    width: 287px; height: 120px;
    background-image: url(images/clouds/3.png);
    -webkit-animation-duration: 140s;
    -moz-animation-duration: 140s;
    -ms-animation-duration: 140s;
    -o-animation-duration: 140s;
    animation-duration: 140s;
}

.cloud-7, .cloud-8 {
    top: 100px;
    width: 180px; height: 160px;
    background-image: url(images/clouds/4.png);
    -webkit-animation-duration: 90s;
    -moz-animation-duration: 90s;
    -ms-animation-duration: 90s;
    -o-animation-duration: 90s;
    animation-duration: 90s;
}

.cloud-1 { left: 0px; }
.cloud-2 { left: 1200px; }

.cloud-3 { left: 250px; }
.cloud-4 { left: 1450px; }

.cloud-5 { left: 500px; }
.cloud-6 { left: 1700px; }

.cloud-7 { left: 950px; }
.cloud-8 { left: 2150px; }

.horizon {
    top: 350px;
    width: 100%; height: 50px;
        -webkit-animation-name: prop-600;
    -moz-animation-name: prop-600;
    -ms-animation-name: prop-600;
    -o-animation-name: prop-600;
    animation-name: prop-600;
    -webkit-animation-duration: 40s;
    -moz-animation-duration: 40s;
    -ms-animation-duration: 40s;
    -o-animation-duration: 40s;
    animation-duration: 40s;
}

.ground div {
    background-repeat: no-repeat;
    -webkit-animation-name: prop-2000;
    -moz-animation-name: prop-2000;
    -ms-animation-name: prop-2000;
    -o-animation-name: prop-2000;
    animation-name: prop-2000;
}

.nutrition {
    width: 320px; height: 274px;
    top: 200px; left: 200px;
    background-image: url(images/signs/nutrition.png);
    -webkit-animation-duration: 35s;
    -moz-animation-duration: 35s;
    -ms-animation-duration: 35s;
    -o-animation-duration: 35s;
    animation-duration: 35s;
}

.hydration {
    width: 370px; height: 67px;
    top: 75px; left:300px;
    background-image: url(images/signs/hydration.svg);
    -webkit-animation-duration: 56s;
    -moz-animation-duration: 56s;
    -ms-animation-duration: 56s;
    -o-animation-duration: 56s;
    animation-duration: 56s;
    background-size: contain;
}

.rest {
    width: 370px; height: 67px;
    top: 75px; left:1100px;
    background-image: url(images/signs/rest.svg);
    -webkit-animation-duration: 56s;
    -moz-animation-duration: 56s;
    -ms-animation-duration: 56s;
    -o-animation-duration: 56s;
    animation-duration: 56s;
    background-size: contain;
}

.motion {
    width: 260px; height: 57px;
    top: 150px; left:700px;
    background-image: url(images/signs/motion.svg);
    -webkit-animation-duration: 56s;
    -moz-animation-duration: 56s;
    -ms-animation-duration: 56s;
    -o-animation-duration: 56s;
    animation-duration: 56s;
    background-size: contain;
}

.store-btn{
    display: none;
}
.android #apple, .ios #google,.desktop #google, .desktop #apple{
    display: none;
}

.ios #apple, .android #google{
    display: block;
}

.desktop #dtop{
    display: block;
}

input[type="range"] {
    -webkit-appearance: none;
    width: 99%;
    height: 5px;
    background: #FFF;
    outline: none;
    opacity: 1;
    transition: opacity .2s;
    padding:0;
    box-sizing: border-box;
    display: block;
    position: relative;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 25px;
    height: 25px;
    background: #ffffff;
    cursor: pointer;
    border-radius: 50%;
    position: relative;
}

#weight::before {
    content: '';
    height: 5px;
    width: calc((100% - 20px) * ((var(--valweight) - 40) / 110) + 10px);
    background: #10a663;
    position: absolute;
    left: -1px;
    top: -1px;
    z-index: 0;
    border-radius: 15px;
}

#height::before {
    content: '';
    height: 5px;
    width: calc((100% - 20px) * ((var(--valheight) - 100) / 120) + 10px);
    background: #10a663;
    position: absolute;
    left: -1px;
    top: -1px;
    z-index: 0;
    border-radius: 15px;
}

#weight {
    --valweight: 75;
}

#height {
    --valheight: 183;
}

input[type="range"]:focus {
    outline: none;
}
.output {
    margin-top: 10px;
    text-align: center;
}

#stepsForm{
    display: flex;
    justify-content: space-between;

}
#stepsForm div{
    width: 45%;
}

#stepsForm label{
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    padding-bottom: 8px;
}

#stepsForm label span em{
    color:#999;
    font-size: 12px;
}

#weight,#height{
        margin-bottom: 25px;
}

#stepsForm label #heightValue, #stepsForm label #weightValue{
    color:#fff;
    font-size: 16px;
}




/* Surface Devices */
@media only screen and (min-width: 1280px) and (max-width: 1440px) {
    /* Styles for Surface devices */
     #canvas div.land{
        height: 69%;
    }
}

/* Surface Pro 8 (assuming 2880x1920 resolution) */
@media only screen and (min-width: 2880px) and (max-width: 3240px) {
    /* Styles for Surface Pro 8 */
     #canvas div.land{
        height: 69%;
    }
}

/* iPad Mini */
@media only screen and (min-width: 768px) and (max-width: 834px) {
    /* Styles for iPad Mini */
     #canvas div.land{
        height: 69%;
    }
}

/* iPad Pro 11-inch */
@media only screen and (min-width: 834px) and (max-width: 1024px) {
    /* Styles for iPad Pro 11-inch */
     #canvas div.land{
        height: 69%;
    }
}

/* iPad Pro 12.9-inch */
@media only screen and (min-width: 1024px) and (max-width: 1366px) {
    /* Styles for iPad Pro 12.9-inch */
     #canvas div.land{
        height: 69%;
    }
}

/* Generic media query for all laptops */
@media only screen and (min-width: 1370px) and (max-width: 1920px) {
    /* Styles for all laptops */
     #canvas div.land{
        height: 56%;
    }
}







