* {
    box-sizing: border-box;
}

body {
    margin: 0;
}

.text-color-link {
    color: #000 !important;
}

.text-color-link:hover {
    color: #333 !important;
    transition: color 0.3s ease;
}

.p-0 {
    padding: 0 !important;
}

.fs-24 {
  font-size: 1.5rem;
}

.fs-32 {
  font-size: 2rem;
}

.fs-18 {
  font-size: 1.125rem;
}

.wrap {
  flex-wrap: wrap !important;
}

.gap-col-16 {
  column-gap: 1rem !important;
}

.mb-16 {
  margin-bottom: 1rem !important;
}

.mb-64 {
  margin-bottom: 0 !important;
}

@media (min-width: 768px){
  .mb-64 {
    margin-bottom: 4rem !important;
  }   
}

.mb-48 {
  margin-bottom: 3rem !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.m-0 {
  margin: 0 !important;
}

.flex {
  display: flex !important;
}

.justify-content-center {
  justify-content: center !important;
}

.p-container {
  padding: 3rem 2rem !important;
}

.p-disclaimer-container {
  padding: 0rem 2rem 2rem !important;
}

.uppercase {
  text-transform: uppercase !important;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -.5em;
}

picture img {
    width: 100vw;
    max-width: 100%;
}
@media (min-width: 576px){.container {max-width: 540px !important;}}
@media (min-width: 768px){.container {max-width: 720px !important;}}
@media (min-width: 992px){.container {max-width: 1050px !important;}}
@media (min-width: 1200px){.container {max-width: 1200px !important;}}
.center {
    text-align: center;
}
.mb-32 {
    margin-bottom: 32px;
}
.app__feature__card__image {
    display: inline;
    margin: 1rem 0 1rem;
}
.app__feature__card__description {
    font-size: .875rem;
    letter-spacing: 0;
    line-height: 19px;
    text-align: center;
    margin: 0;
}

.app__feature__card {
    text-align: center;
}

@media screen and (min-width: 768px) {
    .app__column-layout__column--6>* {
        flex-basis: calc(100% / 6 - 1rem / 6 * 5);
    }
}

.app__life-style__text {
    text-shadow: 0 0 0.5em #fff;
    line-height: 1;
    margin: 0;
    color: black;
    font-size: 2.991rem;
}

.column-title {
  font-size: 1.2rem;
  margin: 1rem 0 0rem;
}

@media (min-width: 768px) {
    .column-title {
        font-size: 1.5rem;
        margin: 1rem 0;
    }
}

.app__overview__intro__gap {
    gap: 3rem 1rem;
}

@media (min-width: 768px) {
    .app__overview__intro__gap {
        gap: 0;
    }
}

.app__disclaimer__container {
    background-color: #f2f2f2;
    padding: 1rem 2rem;
}

.app__disclaimer__container span {
    font-size: .6875rem;
    line-height: 1.25rem;
    padding: 0rem;
}
 
.app__life-style__text-white {
    text-shadow: 0 0 0.5em #000;
    line-height: 1;
    margin: 0;
    color: white;
    font-size: 2.4rem;
}
.app__life-style__text-white-center {
    text-shadow: 0 0 0.5em #000;
    margin: auto;
    color: white;
    font-size: 0.622rem;
    text-align: center;
    line-height: 1.6;
}

@media (min-width: 576px){
    .title-wrapper {
      font-size: 2rem;
    }
}

@media (min-width: 576px){
    .app__life-style__text-white-center {
        font-size: 1.0972rem;
        line-height: 1.6;
    }   
}
.app__life-style__div {
    width: 35%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: left;
    padding: 0 0 0 2rem;
}
.app__life-style__div-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: right;
    padding: 0 4rem 0 0;
    right: 0;
}
.app__life-style__div-left-centerdown,
.app__life-style__div-right-centerdown {
    position: absolute;
    bottom: 0;
    transform: translateY(-50%);
    text-align: center;
    padding: 0 20px 0 20px;
    width: 100%;
}
.app__life-style__div-center-centerup {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    padding: 0 20px 0 20px;
    width: 100%;
}
@media (min-width: 576px){
    .app__life-style__div-center-centerup {
        top: 50px;
    }
}
.app__life-style__div-center-centerdown {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    padding: 0 20px 0 20px;
    width: 100%;
}
@media (min-width: 576px){
    .app__life-style__div-center-centerdown {
        bottom: 30px;
    }
}
.app__life-style__text-white-sub,
.app__life-style__text-sub {
    font-size: 0.622rem !important;
    margin-top: 32px;
}
.max-width-50p {
    max-width: 90%;
}
@media (min-width: 576px){
    .max-width-50p {
        max-width: 50%;
    }
}
.max-width-800 {
    max-width: 800px;
}
.font-size-small {
    font-size: 0.336917rem;
}
@media (min-width: 576px){
    .font-size-small {
        font-size: 0.5486rem;
    }
}
@media (min-width: 576px){
    .mobile-higher {
        height: 220px;
    }
}

@media (min-width: 576px){
    .app__life-style__div,
    .app__life-style__div-right {
        width: 50%;
    }
    .app__life-style__div-left-centerdown {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        text-align: left;
        padding: 0 0 0 4rem;
        left: 0;
        max-width: 400px;
        bottom: inherit;
    }
    .app__life-style__div-right-centerdown {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        text-align: right;
        padding: 0 4rem 0 0;
        right: 0;
        max-width: 400px;
        bottom: inherit;
    }
    .app__life-style__text-white,
    .app__life-style__text {
        font-size: 2.991rem;
    }
    .app__life-style__text-white-sub,
    .app__life-style__text-sub {
        font-size: 1.0972rem !important;
        margin-top: 24px;
    }
}
@media (min-width: 768px){
    .app__life-style__div,
    .app__life-style__div-right {
        width: 35%;
    }
}
.prod-feature img {
    max-width: 225px;
    margin: auto;
    margin-top: 32px;
    display: block;
}
.prod-feature p,
.prod-feature h3 {
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.gc__icon--large {
    height: 2.7em;
    width: 3.1em;
}
.app__video-banner {
    position: relative;
    background-color: #000
}

.app__video-banner--playing {
    margin-bottom: 2.7rem
}

@media screen and (min-width:768px) {
    .app__video-banner--playing {
        margin-bottom: 0
    }
}

.app__video-banner__video {
    background-color: #000;
    pointer-events: auto;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    z-index: 2
}

.app__video-banner__video__el {
    width: 100%;
    height: 100%
}

.app__video-banner__video__play-bt {
    font-size: 1.8rem;
    opacity: .5;
    transition: opacity .2s;
    cursor: pointer;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.app__video-banner__video__play-bt:hover {
    opacity: 1
}

.app__overview__intro__icons {
    gap: 3rem 1rem;
}

.app__column-layout {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 2rem 1rem;
}

@media screen and (min-width: 768px) {
    .app__column-layout {
        gap: 0 1rem;
    }
}

.app__column-layout__column {
        flex: 0 0 100%;
    }

@media screen and (min-width: 768px) {
    .app__column-layout__column {
        flex-basis: calc(100% / 3 - 1rem / 3 * 2);
    }
}

.black-box {
    background-color: white;
    padding: 3rem 2rem;
    width: 100%;
}
.black-box h2 {
    background-color: black;
    color: white;
    text-align: center;
    padding: 3rem 2rem;
    width: 100%;
    font-size: 3rem;
}
.icons-features {
    width: 80%;
    margin: 0 10%;
}
@media (min-width: 576px){
    .icons-features {
        width: 19%;
        margin: 0 .5%;
    }   
}
.container-fluid .row p { text-align: left; }
.icons-features p {
    text-align:center !important;
}