/* GLOBAL */

html {
    height: 100%;
    width: 100%;
}

body {
    margin: 0px;
    font-family: 'Source Sans Pro', 'San Francisco', 'Helvetica Neue', sans-serif;
    height: 100%;
    color: #243D55;
    font-weight: 300;
}

input {
    background: transparent;
}

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

.clearfix::after {
    clear: both;
    display: block;
    content: '';
}

img {
    object-fit: cover;
}

.img-scaled {
    width: 100%;
}

.img-scaled-wh {
    width: 100%;
    height: 100%;
}

.img-scaled-h {
    height: 100%;
}

.transition-subtle {
    -webkit-transition: linear 0.2s;
    -moz-transition: linear 0.2s;
    transition: linear 0.2s;
}

.transition-elastic {
    -webkit-transition: cubic-bezier(0.68, -0.55, 0.265, 1.55) 1s;
    -moz-transition: cubic-bezier(0.68, -0.55, 0.265, 1.55) 1s;
    transition: cubic-bezier(0.68, -0.55, 0.265, 1.55) 1s;
}

.transition-friction {
    -webkit-transition: cubic-bezier(0.77, 0, 0.175, 1) 0.5s;
    -moz-transition: cubic-bezier(0.77, 0, 0.175, 1) 0.5s;
    transition: cubic-bezier(0.77, 0, 0.175, 1) 0.5s;
}

.transition-whoosh {
    -webkit-transition: cubic-bezier(0.19, 1, 0.22, 1) 1s;
    -moz-transition: cubic-bezier(0.19, 1, 0.22, 1) 1s;
    transition: cubic-bezier(0.19, 1, 0.22, 1) 1s;
}

button {
    cursor: pointer;
}

h1 {
    font-size: 36px;
    font-weight: 300;
    line-height: 1.5;
    margin: 0 0 20px 0;
}

h2 {
    font-size: 24px;
    font-weight: 300;
    margin: 0px;
    line-height: 1.5;
}

p {
    margin: 0px;
    font-size: 18px;
    width: 720px;
}

.mobile {
    display: none;
}

.modal-active {
    overflow: hidden;
}

/* LANDING */

#cover-background {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
}

#cover-background-thumbnail {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

#cover-background-overlay {
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(top,rgba(0, 0, 0, 0.25) 0,rgba(0,0,0,0) 100%);
    background: -moz-linear-gradient(top,rgba(0, 0, 0, 0.25) 0,rgba(0,0,0,0) 100%);
    background: linear-gradient(top,rgba(0, 0, 0, 0.25) 0,rgba(0,0,0,0) 100%);
    position: absolute;
    top: 0px;
}

#cover {
    width: 100%;
    height: 100%;
    position: relative;
}

.menu {
    color: white;
    position: relative;
    top: 60px;
    padding: 0px 60px;
}

.menu-item {
    float: left;
    font-size: 18px;
    font-weight: 400;
    margin-right: 30px;
    cursor: pointer;
}

#menu-icon {
    position: absolute;
    z-index: 10;
    width: 20px;
    height: 14px;
    top: 40px;
    left: 15px;
    display: none;
    cursor: pointer;
}

.menu-icon-bar {
    width: 20px;
    height: 2px;
    border-radius: 1px;
    margin-bottom: 4px;
    background: white;
}

.menu-icon-active .menu-icon-bar:first-child {
    -webkit-transform: translateY(5px) rotate(45deg);
    -moz-transform: translateY(5px) rotate(45deg);
    transform: translateY(5px) rotate(45deg);
}

.menu-icon-active .menu-icon-bar:last-child {
    -webkit-transform: translateY(-7px) rotate(-45deg);
    -moz-transform: translateY(-7px) rotate(-45deg);
    transform: translateY(-7px) rotate(-45deg);
}

.menu-icon-active .menu-icon-bar:nth-child(2) {
    opacity: 0;
}

.menu-action {
    float: right;
    border: 2px solid white;
    border-radius: 2px;
    padding: 10px 20px;
    font-weight: 500;
    position: relative;
    top: -10px;
    cursor: pointer;
}

.cover-content {
    color: white;
    width: 720px;
    position: absolute;
    left: 60px;
    top: calc(50% - 170px);
}

.cover-logo {
    width: 175px;
    margin-bottom: 15px;
}

.cover-title {
    margin-bottom: 30px;
}

.cover-subtitle {
    width: 600px;
    margin-bottom: 40px;
}

.cover-action {
}

.cover-signup {
    float: left;
    border-style: solid;
    border-color: #1ECA82;
    color: white;
    background: #1ECA82;
    padding: 16px 0px 14px 0px;
    line-height: 14px;
    width: 180px;
    text-align: center;
    border-radius: 5px;
    font-weight: 500;
    cursor: pointer;
}

.cover-signup:hover {
  background: white;
  color: #243D55;
}

.cover-prod-signup {
    color: white;
    background: #1ECA82;
    padding: 10px 20px 10px 20px;
    width: 180px;
    text-align: center;
    border-radius: 5px;
    font-size: 24px;
    font-weight: 500;
    cursor: pointer;
    border-style: solid;
    border-color: #1ECA82;
    margin-left: 100px;
}

.cover-prod-signup:hover {
  background: white;
  color: #1ECA82;
  border-style: solid;
  border-color: #1ECA82;
}

.cover-prod-more {
    float: left;
    margin-left: 30px;
    color: white;
    /*background: white;*/
    border-style: solid;
    border-color: white;
    padding: 16px 0px 14px 0px;
    width: 180px;
    text-align: center;
    border-radius: 5px;
    font-weight: 500;
    cursor: pointer;
}

.cover-prod-more:hover {
  border-color: #1ECA82;
  color: white;
}
.cover-signin {
    float: left;
    margin-left: 30px;
    line-height: 49px;
    color: rgba(255, 255, 255, 0.75);
}

.cover-signin-action {
    color: white;
    font-weight: 500;
    cursor: pointer;
}

#cover-caption {
    position: absolute;
    bottom: 0px;
    background: #2b90ef;
    width: 100%;
    padding: 15px 0px;
    text-align: center;
    color: white;
    font-weight: 500;
}

#cover-shot {
    float: right;
    position: relative;
    padding-top: 60px;
    width: calc(100% - 690px);
    height: calc(100% - 60px);
    overflow: hidden;
}

#cover-shot-webapp {
    bottom: -30px;
    position: absolute;
    width: 1500px;
    left: 25%;
}

#cover-shot-iphone {
    width: 300px;
    position: absolute;
    bottom: -10px;
}

.cover-scroll {
    position: absolute;
    bottom: 20px;
    left: calc(50% - 58px);
}

.cover-scroll-icon {
    width: 30px;
    margin-top: 30px;
    margin-left:550px;
    -webkit-animation: cover-scroll-bounce 0.5s alternate infinite;
}

.cover-scroll-caption {
    font-size: 14px;
    color: white;
    font-weight: 400;
}

@-webkit-keyframes cover-scroll-bounce
{
    from {-webkit-transform: translateY(-6px);}
    to {-webkit-transform: translateY(3px);}
}

.slide {
    width: 100%;
    height: calc(100% - 55px);
    padding-top: 90px;
    text-align: center;
    color: white;
    overflow: hidden;
}

#prediction {
    background: #2b90ef;
    border-top: 2px solid rgba(255, 255, 255, 0.1);
}

#insight {
    background: #1ABC9C;
}

#detail {
    background: #EC5B5B;
}

.container {
    width: 960px;
    margin: 0px auto;
}

.slide-icon {
    width: 60px;
    margin: 0px auto;
}

.slide-title {
    margin: 15px 0px;
}

.slide-demo {
    width: 960px;
    margin: 0px auto;
    margin-top: 60px;
    position: relative;
}

.slide-demo-webapp {
    position: absolute;
    width: 900px;
}

.slide-demo-iphone {
    position: absolute;
    right: 0px;
    width: 300px;
    top: 60px;
}

#demo {
    position: fixed;
    bottom: 0px;
    height: calc(100% - 330px);
    width: 960px;
    left: calc(50% - 480px);
    overflow: hidden;
}

#demo-webapp {
    width: 900px;
}

#demo-iphone {
    position: absolute;
    right: 0px;
    top: 90px;
    width: 270px;
}

#footer {
    position: relative;
    width: 100%;
    text-align: center;
    padding: 90px 0px 30px;
}

.footer-background-thumbnail {
    height: 100%;
}

.footer-background-overlay {
    width: 100%;
    height: 100%;
    background: #243d55;
    top: 0px;
    position: absolute;
    opacity: 0.9;
}

.footer-background {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    overflow: hidden;
}

#footer .cover-content {
    width: 600px;
    position: relative;
    margin: 0px auto;
    left: auto;
    top: auto;
}

#footer .cover-logo {
    margin: 0px auto;
}

#footer .cover-signup {
    float: none;
    margin: 0px auto;
}

#footer .cover-signin {
    float: none;
    margin-top: 15px;
    margin-left: 0px;
    line-height: initial;
}

.demo-1 {
    position: relative;
    transform: translateY(0px);
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    margin-bottom: 60px;
    opacity: 0;
}

.demo-1.demo-active {
    transform: translateY(-95px);
    -moz-transform: translateY(-95px);
    -webkit-transform: translateY(-95px);
    opacity:1;
}

.demo-header {
    color: white;
    font-size: 36px;
    margin-bottom: 20px;
}

.demo-box {
    background: white;
    border-radius: 5px;
    box-shadow: 0px 0px 25px rgba(36, 61, 85, 0.25);
    padding: 20px 20px 15px 20px;
    font-size: 24px;
    color: rgba(36, 61, 85, 0.5);
}

.demo-2 .demo-header {
    color: #243d55;
}

.demo-2 .demo-box {
    padding: 40px 20px;
}

.demo-2 {
    position: relative;
    transform: translateY(0px);
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    opacity: 0;
}

.demo-2.demo-active {
    -webkit-transform: translateY(-95px);
    -moz-transform: translateY(-95px);
    transform: translateY(-95px);
    opacity: 1;
}

.demo-calendar-mobile {
    display: none;
}

.value-item {
    float: left;
    width: 300px;
    margin-left: 30px;
    transform: translateY(90px);
    -moz-transform: translateY(90px);
    -webkit-transform: translateY(90px);
    opacity: 0;
}

.value-item-active {
    transform: translateY(0px);
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    opacity: 1;
}

#value {
    padding-bottom: 90px;
}

.value-icon {
    height: 50px;
    margin-bottom: 20px;
}

.value-icon img {
    object-fit: initial;
}

.value-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
}

.value-caption {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    opacity: 0.5;
}

.value-item:first-child {
    margin: 0px;
}

.footer-bar {
    position: relative;
    margin-top: 60px;
}

.footer-bar .container {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 30px;
}

.footer-bar-logo {
    width: 140px;
    float: left;
}

.footer-bar-logo img {
    object-fit: fill;
}

.footer-bar-nav {
    float: left;
    color: white;
    text-align: left;
    margin-left: 30px;
}

.footer-bar-nav-item {
    float: left;
    margin-top: 12px;
    margin-right: 20px;
    font-size: 14px;
    opacity: 0.75;
}

.footer-bar-copyright {
    float: right;
    color: white;
    opacity: 0.75;
    font-size: 14px;
    margin-top: 12px;
}

#backdrop {
    position: fixed;
    background: rgba(36, 61, 85, 0.9);
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    display: none;
}

.auth-modal {
    position: fixed;
    background: white;
    width: 300px;
    padding: 20px;
    border-radius: 3px;
    font-weight: 400;
    line-height: 1.5;
    left: calc(50% - 170px);
    transform: translateY(1000px);
    -webkit-transition: cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
    -moz-transition: cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
    transition: cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
}

.auth-modal-active {
    transform: translateY(0px);
}

.auth-modal-close {
    width: 20px;
    position: absolute;
    right: -30px;
    top: 0px;
    opacity: 0.75;
    cursor: pointer;
}

.auth-modal-close:hover {
    opacity: 1;
}

.auth-title {
    font-size: 24px;
    margin-bottom: 10px;
}

.auth-caption {
    font-size: 14px;
    opacity: 0.5;
    margin-bottom: 20px;
}

.auth-field-caption {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    opacity: 0.5;
    margin-bottom: 10px;
}

.auth-field-input {
    border: none;
    margin: 0px;
    font-family: inherit;
    font-size: 18px;
    font-weight: 400;
    width: 100%;
    border-bottom: 2px solid rgba(36, 61, 85, 0.25);
    padding-bottom: 10px;
    outline: none;
    color: #243d55;
}

.auth-field-input-error, .auth-field-input-error:focus {
    border-bottom-color: #ec5b5b;
}

.auth-field {
    margin: 0px auto 20px;
    text-align: left;
    width: 300px;
}

.auth-disclaimer {
    font-size: 12px;
    color: rgba(36, 61, 85, 0.5);
    margin: 0px auto 20px;
    width: 300px;
    text-align: left;
}

.auth-disclaimer a {
    color: #243d55;
    font-weight: 700;
}

.auth-action {
    padding: 15px 0px;
    background: #243d55;
    color: white;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    border-radius: 3px;
    cursor: pointer;
    width: 300px;
    margin: 0px auto;
}

#auth-signup {
    top: calc(50% - 220px);
}

#auth-signin {
    top: calc(50% - 181px);
}

input.auth-field-input:focus {
    border-bottom-color: #1eca82;
}

#auth-background {
    position: fixed;
    width: 100%;
    height: 100%;
}

#auth-background-map {
    width: 100%;
    height: 100%;
}

#auth-background-overlay {
    background: #243d55;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    opacity: 0.9;
}

.auth-page {
    position: fixed;
    width: 480px;
    color: white;
    text-align: center;
    line-height: 1.5;
    font-weight: 400;
    left: calc(50% - 240px);
}

.auth-logo {
    width: 175px;
    margin: 0px auto 20px;
}

.auth-page .auth-field-input {
    border-bottom-color: white;
    color: white;
}

.auth-page .auth-field-caption {
    opacity: 1;
}

.auth-page .auth-disclaimer {
    color: rgba(255, 255, 255, 0.5);
}

.auth-page .auth-disclaimer a {
    color: white;
}

.auth-page .auth-action {
    background: white;
    color: #243d55;
}

#auth-signup.auth-page {
/*    top: calc(50% - 226px); */
    top: calc(50% - 325px);
}

.embed-container {
  position: relative;
  /*padding-bottom: 56.25%;*/
  padding-bottom: 20%;
  height: 0;
  overflow: hidden;
  max-width: 100%;

  }

  .embed-container iframe, .embed-container object, .embed-container embed {width: 512px; height: 288px; }





/* MOBILE */

@media all and (max-width: 960px) {


    .menu {
        background: #202E3B;
        top: 0px;
        left: 0px;
        width: 100%;
        padding: 94px 20px 20px;
        -webkit-transform: translateY(-353px);
        -moz-transform: translateY(-353px);
        transform: translateY(-353px);
        position: fixed;
        z-index: 10;
    }

    .menu-active {
        -webkit-transform: translateY(0px);
        -moz-transform: translateY(0px);
        transform: translateY(0px);
    }

    .menu-item {
        font-size: 24px;
        float: none;
        margin-bottom: 20px;
    }

    #menu-icon {
        display: block;
    }

    .menu-action {
        display: none;
    }

    .cover-scroll {
        position: absolute;
        bottom: 20px;
        left: calc(50% - 58px);
    }

    .cover-scroll-icon {
        width: 30px;
        margin-top: 25px;
        margin-left:130px;
        -webkit-animation: cover-scroll-bounce 0.5s alternate infinite;
    }

    .cover-scroll-caption {
        font-size: 14px;
        color: white;
        font-weight: 400;
    }

    @-webkit-keyframes cover-scroll-bounce
    {
        from {-webkit-transform: translateY(-6px);}
        to {-webkit-transform: translateY(3px);}
    }

    .cover-content {
        text-align: center;
        top: -20px;
        left: 0px;
        padding: 120px 20px 180px;
        width: calc(100% - 40px);
        position: relative;
    }

    .cover-logo {
        width: 125px;
        margin: 0px auto;
    }

    .cover-title {
        font-size: 24px;
        margin-top: 20px;
        margin-bottom: 10px;
        font-weight:500;
    }

    .cover-subtitle {
        font-size: 18px;
        width: auto;
        margin-bottom: 20px;
        font-weight:400;
    }

    .cover-action {
        margin-top: 20px;
        font-size: 13px;
    }

    .cover-signup {
        /*font-size: 13px;*/
        font-size: 18px;
        float: none;
        border-style: solid;
        border-color: white;
        margin: 0px auto;
        padding: 16px 0px 14px 0px;
        background: #1ECA82;
        color: white;

    }

    .cover-signup:hover {
      background: #1ECA82;
      color: white;
    }

    .cover-prod-signup {
      font-size: 18px;
      width: 180px;
      float: none;
      margin: 0px auto;
      padding: 5px 10px 5px 10px;
      background: #1ECA82;
      color: white;
      margin-left: 80px;
    }

    .cover-prod-signup:hover {
      background: #1ECA82;
      color: white;
    }

    .cover-prod-more {
        float: none;
        font-size: 18px;
        margin: 0px auto;
        margin-top: 20px;
        line-height: initial;
        color: white;
        /*background: white;*/
        border-style: solid;
        border-color: white;
        padding: 16px 0px 14px 0px;
        width: 175px;
        text-align: center;
        border-radius: 5px;
        font-weight: 500;
        cursor: pointer;
    }

    .cover-signin {
        float: none;
        font-size: 18px;
        margin: 0px;
        margin-top: 20px;
        line-height: initial;
    }

    #cover-shot {
        float: none;
        padding: 0px 20px;
        width: calc(100% - 40px);
        height: auto;
        overflow: visible;
        margin-top: 60px;
    }

    #cover-shot-webapp {
        display: none;
    }

    #cover-shot-iphone {
        top: 0px;
        left: -10px;
        bottom: auto;
        max-width: 300px;
        margin: 0px auto;
        position: relative;
    }

    .cover-background {
        position: fixed;
    }

    #cover-background-thumbnail img {
        width: auto;
        height: 100%;
    }

    #cover {
        height: auto;
    }

    .demo-1 {
        -webkit-transform: translateY(-55px) !important;
        -moz-transform: translateY(-55px) !important;
        transform: translateY(-55px) !important;
        opacity:1 !important;
        margin-bottom: 40px !important;
    }

    .container {
        width: auto;
        padding: 0px 15px;
    }

    .demo-header {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .demo-box {
        padding: 15px 15px 10px 15px;
        font-size: 18px;
    }

    .demo-2 {
        -webkit-transform: translateY(-55px) !important;
        -moz-transform: translateY(-55px) !important;
        transform: translateY(-55px) !important;
        opacity: 1 !important;
    }

    .demo-2 .demo-box {
        padding: 20px 10px;
    }

    .demo-calendar-mobile {
        display: block;
    }

    .demo-calendar {
        display: none;
    }

    .value-item {
        opacity: 1;
        margin: 0px auto 40px;
        -webkit-transform: none;
        -moz-transform: none;
        transform: none;
        text-align: center;
        float: none;
    }

    .value-item:first-child {
        margin: 0px auto 40px;
    }

    .value-icon {
        height: 30px;
    }

    .value-icon img {
        margin: 0px auto;
        display: block;
    }

    #value {
        padding-bottom: 40px;
    }

    #footer {
        padding: 60px 0px 20px;
    }

    #footer .cover-content {
        width: auto;
        padding: 0px;
    }

    .footer-background-thumbnail img {
        height: 100%;
    }

    .footer-bar {
    }

    .footer-bar .container {
        padding-top: 20px;
        margin: 0px 15px;
    }

    .footer-bar-logo {
        margin: 0px auto;float: none;width: 100px;
    }

    .footer-bar-nav {
        float: none;
        margin-left: 0px;
        text-align: center;
        margin-top: 10px;
    }

    .footer-bar-nav-item {
        float: none;
        display: inline-block;
    }

    .footer-bar-nav-item:last-child {
        margin: 0px;
    }

    .footer-bar-copyright {
        margin-top: 20px;
    }

    .auth-page {
        width: 100%;
        left: 0px;
    }

    #auth-signin .auth-caption , #auth-signup .auth-caption {
        padding: 0px 15px;
    }

    .auth-modal-close {
        right: calc(50% - 10px);
        top: auto;
        bottom: -50px;
        opacity: 1;
    }

    .embed-container {
      position: relative;
      padding-bottom: 56.25%;
      height: 0;
      overflow: hidden;
      max-width: 100%;

      }

      /*.embed-container iframe, .embed-container object, .embed-container embed {width: 512px; height: 288px; } -----  width: 384px; height: 216px; */
      .embed-container iframe, .embed-container object, .embed-container embed {width: 256px; height: 144px; }
}
