a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
main,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
    display: block
}

[hidden] {
    display: none
}

body {
    line-height: 1
}

menu,
ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

table {
    border-collapse: collapse;
    border-spacing: 0
}

html {
    font-size: 13px;
    -webkit-text-size-adjust: none
}

@media (min-width:330px) {
    html {
        font-size: 14px
    }
}

@media (min-width:544px) {
    html {
        font-size: 15px
    }
}

@media (min-width:768px) {
    html {
        font-size: 16px
    }
}

@media (min-width:1012px) {
    html {
        font-size: 17px
    }
}

@media (min-width:1556px) {
    html {
        font-size: 18px
    }
}

*,
:after,
:before {
    box-sizing: border-box
}

body {
    font-family: Lato, Helvetica Neue, Helvetica, Arial, sans-serif;
    color: #22262a;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased
}

.container {
    width: 100%;
    margin: 0 auto;
    padding: 0 1rem
}

@media (min-width:544px) {
    .container {
        max-width: 520px
    }
}

@media (min-width:768px) {
    .container {
        max-width: 740px
    }
}

@media (min-width:1012px) {
    .container {
        max-width: 960px
    }
}

@media (min-width:1556px) {
    .container {
        max-width: 1200px
    }
}

.row {
    margin-left: -1rem;
    margin-right: -1rem
}

img {
    max-width: 100%
}

a {
    color: #26c9c7
}

video {
    max-width: 100%;
    object-fit: cover
}

button {
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    padding: 0
}

@font-face {
    font-family: opicons;
    src: url(../fonts/opicons.921918e2.woff2) format("woff2"), url(../fonts/opicons.c686f6e1.ttf) format("truetype"), url(../fonts/opicons.e14d0d97.woff) format("woff"), url(../fonts/opicons.f5fce260.svg#opicons) format("svg");
    font-weight: 400;
    font-style: normal
}

[class*=" opicon-"],
[class^=opicon-] {
    font-family: opicons !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.opicon-add-user:before {
    content: ""
}

.opicon-app-rules:before {
    content: ""
}

.opicon-block-texting:before {
    content: ""
}

.opicon-block-web:before {
    content: ""
}

.opicon-cancel:before {
    content: ""
}

.opicon-check-cancel:before {
    content: ""
}

.opicon-check-circle:before {
    content: ""
}

.opicon-clock:before {
    content: ""
}

.opicon-geo:before {
    content: ""
}

.opicon-hamburger:before {
    content: ""
}

.opicon-hourglass-paused:before {
    content: ""
}

.opicon-location:before {
    content: ""
}

.opicon-pause-no-circle:before {
    content: ""
}

.opicon-play-circle:before {
    content: ""
}

.opicon-play-no-circle:before {
    content: ""
}

.opicon-vew:before {
    content: ""
}

.opicon-web:before {
    content: ""
}

.opicon-x:before {
    content: ""
}

@font-face {
    font-family: Lato;
    font-style: normal;
    font-weight: 400;
    src: url(../images/Lato-Regular.80c07943.ttf) format("truetype")
}

@font-face {
    font-family: Lato;
    font-style: normal;
    font-weight: 700;
    src: url(../images/Lato-Semibold.d585c7df.ttf) format("truetype")
}

.flex-center {
    justify-content: center !important;
    align-items: center !important
}

.flex-row {
    flex-direction: row !important
}

.flex-row-reverse {
    flex-direction: row-reverse !important
}

.flex-column {
    flex-direction: column !important
}

.flex-column-reverse {
    flex-direction: column-reverse !important
}

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

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

.flex-justify-start {
    justify-content: flex-start !important
}

.flex-justify-end {
    justify-content: flex-end !important
}

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

.flex-justify-between {
    justify-content: space-between !important
}

.flex-justify-around {
    justify-content: space-around !important
}

.flex-items-start {
    align-items: flex-start !important
}

.flex-items-end {
    align-items: flex-end !important
}

.flex-items-center {
    align-items: center !important
}

.flex-items-baseline {
    align-items: baseline !important
}

.flex-items-stretch {
    align-items: stretch !important
}

.flex-content-start {
    align-content: flex-start !important
}

.flex-content-end {
    align-content: flex-end !important
}

.flex-content-center {
    align-content: center !important
}

.flex-content-between {
    align-content: space-between !important
}

.flex-content-around {
    align-content: space-around !important
}

.flex-content-stretch {
    align-content: stretch !important
}

.flex-auto {
    flex: 1 1 auto !important
}

.flex-shrink-0 {
    flex-shrink: 0 !important
}

.flex-self-auto {
    align-self: auto !important
}

.flex-self-start {
    align-self: flex-start !important
}

.flex-self-end {
    align-self: flex-end !important
}

.flex-self-center {
    align-self: center !important
}

.flex-self-baseline {
    align-self: baseline !important
}

.flex-self-stretch {
    align-self: stretch !important
}

.flex-item-equal {
    flex-grow: 1;
    flex-basis: 0
}

@media (min-width:544px) {
    .flex-sm-center {
        justify-content: center !important;
        align-items: center !important
    }
    .flex-sm-row {
        flex-direction: row !important
    }
    .flex-sm-row-reverse {
        flex-direction: row-reverse !important
    }
    .flex-sm-column {
        flex-direction: column !important
    }
    .flex-sm-column-reverse {
        flex-direction: column-reverse !important
    }
    .flex-sm-wrap {
        flex-wrap: wrap !important
    }
    .flex-sm-nowrap {
        flex-wrap: nowrap !important
    }
    .flex-sm-justify-start {
        justify-content: flex-start !important
    }
    .flex-sm-justify-end {
        justify-content: flex-end !important
    }
    .flex-sm-justify-center {
        justify-content: center !important
    }
    .flex-sm-justify-between {
        justify-content: space-between !important
    }
    .flex-sm-justify-around {
        justify-content: space-around !important
    }
    .flex-sm-items-start {
        align-items: flex-start !important
    }
    .flex-sm-items-end {
        align-items: flex-end !important
    }
    .flex-sm-items-center {
        align-items: center !important
    }
    .flex-sm-items-baseline {
        align-items: baseline !important
    }
    .flex-sm-items-stretch {
        align-items: stretch !important
    }
    .flex-sm-content-start {
        align-content: flex-start !important
    }
    .flex-sm-content-end {
        align-content: flex-end !important
    }
    .flex-sm-content-center {
        align-content: center !important
    }
    .flex-sm-content-between {
        align-content: space-between !important
    }
    .flex-sm-content-around {
        align-content: space-around !important
    }
    .flex-sm-content-stretch {
        align-content: stretch !important
    }
    .flex-sm-auto {
        flex: 1 1 auto !important
    }
    .flex-sm-shrink-0 {
        flex-shrink: 0 !important
    }
    .flex-sm-self-auto {
        align-self: auto !important
    }
    .flex-sm-self-start {
        align-self: flex-start !important
    }
    .flex-sm-self-end {
        align-self: flex-end !important
    }
    .flex-sm-self-center {
        align-self: center !important
    }
    .flex-sm-self-baseline {
        align-self: baseline !important
    }
    .flex-sm-self-stretch {
        align-self: stretch !important
    }
    .flex-sm-item-equal {
        flex-grow: 1;
        flex-basis: 0
    }
}

@media (min-width:768px) {
    .flex-md-center {
        justify-content: center !important;
        align-items: center !important
    }
    .flex-md-row {
        flex-direction: row !important
    }
    .flex-md-row-reverse {
        flex-direction: row-reverse !important
    }
    .flex-md-column {
        flex-direction: column !important
    }
    .flex-md-column-reverse {
        flex-direction: column-reverse !important
    }
    .flex-md-wrap {
        flex-wrap: wrap !important
    }
    .flex-md-nowrap {
        flex-wrap: nowrap !important
    }
    .flex-md-justify-start {
        justify-content: flex-start !important
    }
    .flex-md-justify-end {
        justify-content: flex-end !important
    }
    .flex-md-justify-center {
        justify-content: center !important
    }
    .flex-md-justify-between {
        justify-content: space-between !important
    }
    .flex-md-justify-around {
        justify-content: space-around !important
    }
    .flex-md-items-start {
        align-items: flex-start !important
    }
    .flex-md-items-end {
        align-items: flex-end !important
    }
    .flex-md-items-center {
        align-items: center !important
    }
    .flex-md-items-baseline {
        align-items: baseline !important
    }
    .flex-md-items-stretch {
        align-items: stretch !important
    }
    .flex-md-content-start {
        align-content: flex-start !important
    }
    .flex-md-content-end {
        align-content: flex-end !important
    }
    .flex-md-content-center {
        align-content: center !important
    }
    .flex-md-content-between {
        align-content: space-between !important
    }
    .flex-md-content-around {
        align-content: space-around !important
    }
    .flex-md-content-stretch {
        align-content: stretch !important
    }
    .flex-md-auto {
        flex: 1 1 auto !important
    }
    .flex-md-shrink-0 {
        flex-shrink: 0 !important
    }
    .flex-md-self-auto {
        align-self: auto !important
    }
    .flex-md-self-start {
        align-self: flex-start !important
    }
    .flex-md-self-end {
        align-self: flex-end !important
    }
    .flex-md-self-center {
        align-self: center !important
    }
    .flex-md-self-baseline {
        align-self: baseline !important
    }
    .flex-md-self-stretch {
        align-self: stretch !important
    }
    .flex-md-item-equal {
        flex-grow: 1;
        flex-basis: 0
    }
}

@media (min-width:1012px) {
    .flex-lg-center {
        justify-content: center !important;
        align-items: center !important
    }
    .flex-lg-row {
        flex-direction: row !important
    }
    .flex-lg-row-reverse {
        flex-direction: row-reverse !important
    }
    .flex-lg-column {
        flex-direction: column !important
    }
    .flex-lg-column-reverse {
        flex-direction: column-reverse !important
    }
    .flex-lg-wrap {
        flex-wrap: wrap !important
    }
    .flex-lg-nowrap {
        flex-wrap: nowrap !important
    }
    .flex-lg-justify-start {
        justify-content: flex-start !important
    }
    .flex-lg-justify-end {
        justify-content: flex-end !important
    }
    .flex-lg-justify-center {
        justify-content: center !important
    }
    .flex-lg-justify-between {
        justify-content: space-between !important
    }
    .flex-lg-justify-around {
        justify-content: space-around !important
    }
    .flex-lg-items-start {
        align-items: flex-start !important
    }
    .flex-lg-items-end {
        align-items: flex-end !important
    }
    .flex-lg-items-center {
        align-items: center !important
    }
    .flex-lg-items-baseline {
        align-items: baseline !important
    }
    .flex-lg-items-stretch {
        align-items: stretch !important
    }
    .flex-lg-content-start {
        align-content: flex-start !important
    }
    .flex-lg-content-end {
        align-content: flex-end !important
    }
    .flex-lg-content-center {
        align-content: center !important
    }
    .flex-lg-content-between {
        align-content: space-between !important
    }
    .flex-lg-content-around {
        align-content: space-around !important
    }
    .flex-lg-content-stretch {
        align-content: stretch !important
    }
    .flex-lg-auto {
        flex: 1 1 auto !important
    }
    .flex-lg-shrink-0 {
        flex-shrink: 0 !important
    }
    .flex-lg-self-auto {
        align-self: auto !important
    }
    .flex-lg-self-start {
        align-self: flex-start !important
    }
    .flex-lg-self-end {
        align-self: flex-end !important
    }
    .flex-lg-self-center {
        align-self: center !important
    }
    .flex-lg-self-baseline {
        align-self: baseline !important
    }
    .flex-lg-self-stretch {
        align-self: stretch !important
    }
    .flex-lg-item-equal {
        flex-grow: 1;
        flex-basis: 0
    }
}

@media (min-width:1556px) {
    .flex-xl-center {
        justify-content: center !important;
        align-items: center !important
    }
    .flex-xl-row {
        flex-direction: row !important
    }
    .flex-xl-row-reverse {
        flex-direction: row-reverse !important
    }
    .flex-xl-column {
        flex-direction: column !important
    }
    .flex-xl-column-reverse {
        flex-direction: column-reverse !important
    }
    .flex-xl-wrap {
        flex-wrap: wrap !important
    }
    .flex-xl-nowrap {
        flex-wrap: nowrap !important
    }
    .flex-xl-justify-start {
        justify-content: flex-start !important
    }
    .flex-xl-justify-end {
        justify-content: flex-end !important
    }
    .flex-xl-justify-center {
        justify-content: center !important
    }
    .flex-xl-justify-between {
        justify-content: space-between !important
    }
    .flex-xl-justify-around {
        justify-content: space-around !important
    }
    .flex-xl-items-start {
        align-items: flex-start !important
    }
    .flex-xl-items-end {
        align-items: flex-end !important
    }
    .flex-xl-items-center {
        align-items: center !important
    }
    .flex-xl-items-baseline {
        align-items: baseline !important
    }
    .flex-xl-items-stretch {
        align-items: stretch !important
    }
    .flex-xl-content-start {
        align-content: flex-start !important
    }
    .flex-xl-content-end {
        align-content: flex-end !important
    }
    .flex-xl-content-center {
        align-content: center !important
    }
    .flex-xl-content-between {
        align-content: space-between !important
    }
    .flex-xl-content-around {
        align-content: space-around !important
    }
    .flex-xl-content-stretch {
        align-content: stretch !important
    }
    .flex-xl-auto {
        flex: 1 1 auto !important
    }
    .flex-xl-shrink-0 {
        flex-shrink: 0 !important
    }
    .flex-xl-self-auto {
        align-self: auto !important
    }
    .flex-xl-self-start {
        align-self: flex-start !important
    }
    .flex-xl-self-end {
        align-self: flex-end !important
    }
    .flex-xl-self-center {
        align-self: center !important
    }
    .flex-xl-self-baseline {
        align-self: baseline !important
    }
    .flex-xl-self-stretch {
        align-self: stretch !important
    }
    .flex-xl-item-equal {
        flex-grow: 1;
        flex-basis: 0
    }
}

.flex-column,
.flex-column-reverse,
.flex-row,
.flex-row-reverse {
    display: flex !important
}

.d-block {
    display: block !important
}

.d-inline-block {
    display: inline-block !important
}

.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

.d-none {
    display: none !important
}

@media (min-width:544px) {
    .d-sm-block {
        display: block !important
    }
    .d-sm-inline-block {
        display: inline-block !important
    }
    .d-sm-flex {
        display: flex !important
    }
    .d-sm-inline-flex {
        display: inline-flex !important
    }
    .d-sm-none {
        display: none !important
    }
}

@media (min-width:768px) {
    .d-md-block {
        display: block !important
    }
    .d-md-inline-block {
        display: inline-block !important
    }
    .d-md-flex {
        display: flex !important
    }
    .d-md-inline-flex {
        display: inline-flex !important
    }
    .d-md-none {
        display: none !important
    }
}

@media (min-width:1012px) {
    .d-lg-block {
        display: block !important
    }
    .d-lg-inline-block {
        display: inline-block !important
    }
    .d-lg-flex {
        display: flex !important
    }
    .d-lg-inline-flex {
        display: inline-flex !important
    }
    .d-lg-none {
        display: none !important
    }
}

@media (min-width:1556px) {
    .d-xl-block {
        display: block !important
    }
    .d-xl-inline-block {
        display: inline-block !important
    }
    .d-xl-flex {
        display: flex !important
    }
    .d-xl-inline-flex {
        display: inline-flex !important
    }
    .d-xl-none {
        display: none !important
    }
}

@media (max-width:544px) {
    .hide-sm {
        display: none !important
    }
}

@media (min-width:544px) and (max-width:768px) {
    .hide-md {
        display: none !important
    }
}

@media (min-width:768px) and (max-width:1012px) {
    .hide-lg {
        display: none !important
    }
}

@media (min-width:1012px) {
    .hide-xl {
        display: none !important
    }
}

@media (min-width:2036px) {
    .hide-xxl {
        display: none !important
    }
}

.sr-only {
    padding: 0;
    clip: rect(0, 0, 0, 0);
    word-wrap: normal;
    border: 0
}

.show-on-focus,
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden
}

.show-on-focus {
    margin: 0;
    clip: rect(1px, 1px, 1px, 1px)
}

.show-on-focus:focus {
    z-index: 20;
    width: auto;
    height: auto;
    clip: auto
}

.schedule-color {
    color: #c5305a
}

.schedule-color.inverted {
    color: #fff;
    background-color: #c5305a
}

.manage-color {
    color: #2b6fe3
}

.manage-color.inverted {
    color: #fff;
    background-color: #2b6fe3
}

.block-grant-color {
    color: #852ad5
}

.block-grant-color.inverted {
    color: #fff;
    background-color: #852ad5
}

.app-rules-color {
    color: #14bfe1
}

.app-rules-color.inverted {
    color: #fff;
    background-color: #14bfe1
}

.block-texting-color {
    color: #f0c000
}

.block-texting-color.inverted {
    color: #fff;
    background-color: #f0c000
}

.allowance-color {
    color: #009e32
}

.allowance-color.inverted {
    color: #fff;
    background-color: #009e32
}

.locator-color {
    color: #6ec733
}

.locator-color.inverted {
    color: #fff;
    background-color: #6ec733
}

.places-color {
    color: #b2d232
}

.places-color.inverted {
    color: #fff;
    background-color: #b2d232
}

.vew-color {
    color: #a53196
}

.vew-color.inverted {
    color: #fff;
    background-color: #a53196
}

.web-filter-color {
    color: #f28b31
}

.web-filter-color.inverted {
    color: #fff;
    background-color: #f28b31
}

@keyframes throb {
    0% {
        transform: scale(1)
    }
    50% {
        transform: scale(1.025)
    }
    to {
        transform: scale(1)
    }
}

.android-logo,
.apple-logo,
.img-bg,
.ourpact-jr {
    background: 50% no-repeat;
    background-size: contain
}

.android-logo {
    background-image: url(../images/appewm1.png)
}

.apple-logo {
    background-image: url(../images/xcxewm1.png)
}

.ourpact-jr {
    background-image: url(../images/ourpact-jr.02514b22.svg)
}

.curve-bg,
.curve-bg-gray {
    background: #eef9f9;
    position: relative;
    margin: 7.5vw 0;
    padding: 2rem 0
}

.curve-bg-gray:after,
.curve-bg-gray:before,
.curve-bg:after,
.curve-bg:before {
    content: "";
    position: absolute;
    height: 7.5vw;
    width: 100%;
    background: url(../images/curve-bg.0a37662d.svg) 50% no-repeat;
    background-size: cover;
    bottom: calc(100% - 1px);
    z-index: -1
}

.curve-bg-gray:after,
.curve-bg:after {
    top: calc(100% - 1px);
    bottom: auto;
    transform: scale(-1)
}

.curve-bg-gray {
    background: #f7f7f7
}

.curve-bg-gray:after,
.curve-bg-gray:before {
    background-image: url(../images/curve-bg-gray.1d37620a.svg)
}

.content {
    line-height: 1.5
}

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
    font-weight: 700
}

.content h1:first-child,
.content h2:first-child,
.content h3:first-child,
.content h4:first-child,
.content h5:first-child,
.content h6:first-child {
    margin-top: 0
}

.content footer,
.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6,
.content header,
.content p {
    line-height: inherit;
    margin: 1.25rem 0
}

.content strong {
    font-weight: 700
}

.content h1 {
    font-size: 2rem
}

.content h2 {
    font-size: 1.75rem
}

.content h3 {
    font-size: 1.375rem
}

.content h4 {
    font-size: 1.125rem
}

.App {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow-x: hidden
}

.app-logo a {
    width: 50px;
    height: 50px
}

.bottom-wave {
    background: #26c9c7;
    margin-top: 8vw;
    position: relative
}

.bottom-wave:before {
    background: url(../images/bottom-wave.5fe71ffb.svg) 50%/cover no-repeat;
    bottom: calc(100% - 1px);
    content: "";
    height: 8vw;
    position: absolute;
    width: 100%;
    z-index: -1
}

.opm-footer {
    padding-top: 2rem;
    text-align: left
}

.opm-footer a {
    text-decoration: none;
    color: unset;
    white-space: nowrap
}

.opm-footer h4 {
    color: #fff;
    font-weight: 400;
    letter-spacing: .15625rem;
    font-size: 1.5rem
}

.opm-footer ul {
    padding-left: 1.875rem
}

.opm-footer li {
    margin-bottom: .25rem
}

.opm-footer li:last-of-type {
    margin-bottom: 0
}

.opm-footer img {
    max-width: 100%;
    height: auto;
    vertical-align: middle
}

.opm-footer .footer-item {
    color: #fff;
    font-size: 1.0625rem;
    line-height: 1.5
}

.opm-footer .copyright {
    text-align: center;
    font-size: .8125rem;
    color: #fff;
    padding-top: .625rem;
    padding-bottom: 1.25rem
}

.opm-footer .social-media-icon {
    background: #fff;
    border-radius: 50%;
    width: 3.125rem;
    height: 3.125rem;
    margin: .625rem;
    padding: .9375rem
}

.footer-menu-item {
    padding: 0 .9375rem
}

.footer-menu-item ul {
    margin: 1.5rem 0
}

@media (min-width:768px) {
    .footer-menu-item ul {
        margin-bottom: 0
    }
}

.footer-menu-item .footer-sub-menu-wrap {
    _height: 0;
    _opacity: 0;
    _overflow: hidden;
    display: none;
    _transition: height .3s ease-in-out, opacity .3s ease
}

@media (min-width:768px) {
    .footer-menu-item .footer-sub-menu-wrap {
        _height: auto;
        _opacity: 1;
        display: block;
    }
}

.footer-menu-item.open .footer-sub-menu-wrap {
    _opacity: 1
}

.footer-menu-item>h4 {
    text-transform: uppercase;
    border-bottom: 2px solid hsla(0, 0%, 100%, .25);
    padding: .5rem 1.25rem
}

.app-footer-menu {
    margin-bottom: 1.5rem
}

.app-footer-menu .footer-menu-item:first-child h4 {
    border-top: 2px solid hsla(0, 0%, 100%, .25)
}

@media (min-width:768px) {
    .app-footer-menu .footer-menu-item:first-child h4 {
        border-top: none
    }
}

.expand-icon {
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.expand-icon .x,
.expand-icon .y {
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    position: absolute
}

.expand-icon .y {
    transform: rotate(90deg);
    transition: transform .18s linear
}

@media (min-width:768px) {
    .expand-icon {
        display: none
    }
}

.footer-menu-item.open .expand-icon .y {
    transform: rotate(0)
}

.app-logo {
    height: 3.25rem;
    width: 3.25rem
}

.app-header {
    background: #26c9c7;
    height: 100px;
    padding: 0 1rem;
    position: relative;
    z-index: 999
}

.app-header-nav {
    display: flex;
    flex-direction: row;
    align-items: center
}

.app-store-btn {
    display: block;
    height: 27px
}

@media (min-width:380px) {
    .app-store-btn {
        height: 32px
    }
}

@media (min-width:544px) {
    .app-store-btn {
        height: 34px
    }
}

@media (min-width:1012px) {
    .app-store-btn {
        height: 40px
    }
}

.app-store-btn>img {
    height: 100%
}

.app-store-btn:first-of-type {
    margin-right: .5rem
}

@media (min-width:1012px) {
    .app-store-btn:first-of-type {
        margin-right: .75rem
    }
}

.app-store-btn:last-of-type {
    margin-right: .75rem
}

@media (min-width:768px) {
    .app-store-btn:last-of-type {
        margin-right: .25rem
    }
}

@media (min-width:1012px) {
    .app-store-btn:last-of-type {
        margin-right: 1.25rem
    }
}

.app-menu {
    height: 100%;
    font-size: 1.125rem
}

.app-menu a {
    text-decoration: none
}

.app-menu>.menu-item {
    cursor: pointer;
    height: 65%;
    position: relative
}

@media (min-width:1012px) {
    .app-menu>.menu-item {
        margin-right: .5rem
    }
    .app-menu>.menu-item:first-of-type {
        margin-left: 0
    }
    .app-menu>.menu-item:last-of-type {
        margin-right: 0
    }
}

.app-menu>.menu-item>a {
    display: inline-flex;
    padding: .75rem;
    text-transform: uppercase;
    color: #fff;
    white-space: nowrap
}

@media (min-width:1012px) {
    .app-menu>.menu-item>a {
        padding: .75rem 1.25rem
    }
}

.app-menu>.menu-item.has-btn-link {
    margin: 0 0 0 .625rem;
    display: none !important;
}

@media (min-width:1012px) {
    .app-menu>.menu-item.has-btn-link {
        margin-left: 1.25rem;
        display: none !important;
    }
}

.app-menu>.menu-item.has-btn-link>a {
    background: #fff;
    border-radius: 50px;
    color: #26c9c7;
    font-size: .875rem;
    padding: .75rem 2rem
}

.app-sub-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0
}

.app-sub-menu__bottom,
.app-sub-menu__top {
    border-radius: 10px;
    width: 100%
}

.app-sub-menu__bottom {
    display: flex;
    flex-wrap: wrap;
    background: #ededed;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding: .625rem 1.25rem
}

.app-sub-menu__bottom>.menu-item {
    flex: 1 0 50%;
    margin: .375rem 0
}

.app-sub-menu__bottom>.menu-item>a {
    align-items: center;
    color: #878787;
    display: flex;
    font-size: .8125rem
}

.app-sub-menu__bottom>.menu-item i {
    height: 1.75rem;
    margin-right: .375rem;
    width: 1.75rem
}

.app-sub-menu__top {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding: 1rem 1.25rem
}

.app-sub-menu__top>.menu-item>a {
    color: inherit;
    align-items: center;
    display: flex;
    padding: .375rem;
    text-transform: uppercase;
    font-size: 1.055rem;
    color: #7d7d7d;
}

.app-sub-menu__top>.menu-item i {
    font-size: 1.875rem;
    margin-right: .75rem
}

.app-sub-menu__wrap {
    align-items: center;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 16rem;
    opacity: 0;
    position: absolute;
    top: 100%;
    transition: opacity .25s, visibility .25s, box-shadow .25s;
    visibility: hidden
}

.app-sub-menu__wrap.visible {
    box-shadow: 3px 4px 12px rgba(0, 0, 0, .22), 6px 8px 20px rgba(0, 0, 0, .1);
    opacity: 1;
    transition: opacity .5s, visibility .5s, box-shadow .5s;
    visibility: visible
}

.app-menu li:hover .app-sub-menu__wrap {
    box-shadow: 3px 4px 12px rgba(0, 0, 0, .22), 6px 8px 20px rgba(0, 0, 0, .1);
    opacity: 1;
    transition: opacity .5s, visibility .5s, box-shadow .5s;
    visibility: visible
}

.app-sub-menu .menu-item>a {
    white-space: nowrap
}

.app-sub-menu .triangle-top {
    background: #fff;
    height: 15px;
    position: absolute;
    top: -8px;
    transform: rotate(45deg);
    width: 15px
}

.mobile-menu {
    background-color: #fff;
    bottom: 0;
    max-width: 280px;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0;
    transform: translate3d(100%, 0, 1px);
    transition: transform .18s ease-in-out;
    z-index: 999;
    -webkit-overflow-scrolling: touch
}

.mobile-menu.is-open {
    transform: translateZ(1px);
    box-shadow: -5px 0 20px rgba(0, 0, 0, .12), -5px 0 5px rgba(0, 0, 0, .04)
}

.mobile-menu .app-sub-menu__bottom {
    align-items: flex-start;
    background-color: #fff;
    border-bottom: 1px solid #e8e8e8;
    border-radius: 0;
    border-top: 1px solid #e8e8e8;
    flex-direction: column;
    flex-wrap: nowrap;
    padding: .375rem .625rem
}

.mobile-menu .app-sub-menu__bottom .o-1 {
    order: 1
}

.mobile-menu .app-sub-menu__bottom .o-2 {
    order: 2
}

.mobile-menu .app-sub-menu__bottom .o-3 {
    order: 3
}

.mobile-menu .app-sub-menu__bottom .o-4 {
    order: 4
}

.mobile-menu .app-sub-menu__bottom>.menu-item {
    flex: auto
}

.mobile-menu .app-sub-menu__bottom>.menu-item>a {
    font-size: .875rem
}

@media (min-width:544px) {
    .mobile-menu .app-sub-menu__bottom>.menu-item>a {
        font-size: 100%
    }
}

@media (min-width:544px) {
    .mobile-menu {
        max-width: none
    }
}

.mobile-menu .app-sub-menu__top {
    padding: .375rem .75rem
}

.mobile-menu .app-sub-menu__top>.menu-item,
.mobile-menu .app-sub-menu__top>.menu-item i {
    font-size: 1.125rem
}

.mobile-menu-header {
    padding: .625rem;
    min-height: 1.875rem;
    position: relative;
    color: #ababab
}

.mobile-menu-header a {
    font-size: 1.125rem;
}

.mobile-menu-header .menu-close {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.375rem;
    cursor: pointer;
    width: 38px;
    height: 38px
}

.mobile-menu-links {
    padding: .375rem .75rem
}

.mobile-menu-links>.menu-item>a {
    font-size: .875rem;
    padding: .375rem 0
}

@media (min-width:544px) {
    .mobile-menu-links {
        padding: .625rem 1.25rem
    }
    .mobile-menu-links>.menu-item>a {
        padding: .625rem 0;
        font-size: 100%
    }
}

.app-mobile-menu-button {
    color: #fff;
    cursor: pointer;
    font-size: 1.75rem;
    height: 48px;
    width: 48px
}

.cookie-notice {
    bottom: 0;
    position: fixed;
    right: 0;
    z-index: 1001;
    width: 100%;
    min-width: 320px;
    max-width: 480px;
    border: 1px solid #9ed9e0;
    font-size: .875rem;
    transform: translateZ(1px)
}

.cookie-notice__btn {
    float: right;
    margin-left: .75rem;
    margin-right: -.25rem
}

.cookie-notice__content {
    background-color: #fff;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, .15), 12px 15px 40px rgba(0, 0, 0, .08);
    color: #000;
    padding: 1rem 1.25rem;
    overflow: hidden
}

.cookie-notice__btn {
    background-color: #26c9c7;
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
    padding: .5rem 1rem;
    cursor: pointer
}

.cookie-notice__btn>i {
    color: #fff;
    font-size: 1.125rem;
    height: 100%;
    width: 100%
}

.feature-page.ourpact-jr {
    background-image: none
}

.feature-page.web-filter .feature-page-header {
    padding-bottom: 3rem
}

.feature-page.ipad-app .feature-page-header,
.feature-page.iphone-app .feature-page-header {
    padding-bottom: 6rem
}

.feature-page.android-app .signup-btn-wrap {
    padding-top: 4rem
}

.feature-page.ourpact-jr .single-phone-image {
    margin: auto 25%
}

.feature-page .header-icon {
    height: 260px
}

.feature-page .header-icon h2 {
    font-weight: 400
}

.feature-page>.page-content {
    padding-bottom: 2rem
}

.feature-page .page-content {
    font-size: 1.125rem;
    line-height: 1.5
}

.feature-page .page-content h1,
.feature-page .page-content h2,
.feature-page .page-content h3 {
    margin: 2.5rem auto 2rem;
    text-align: center
}

.feature-page .page-content p {
    margin-bottom: 1rem
}

.feature-page .page-content .signup-btn-wrap {
    padding-bottom: 1rem
}

.feature-page .page-content .video-section {
    padding: 2rem 0
}

.feature-page .page-content ol,
.feature-page .page-content ul {
    margin-bottom: 1rem;
    padding-left: 2rem
}

.feature-page .page-content ul {
    list-style-type: disc
}

.feature-page .page-content ol {
    list-style-type: decimal
}

.ourpact-features-block {
    padding: 1rem
}

.ourpact-features-block .feature-item-wrap {
    flex: 1 1 33.33333%
}

.ourpact-features-block .feature-item h3.feature-header {
    margin: 1.5rem auto;
    font-size: 1.25rem
}

.feature-item .feature-icon {
    height: auto
}

.feature-item .feature-icon>i {
    display: flex;
    align-items: center;
    justify-content: center
}

.feature-item a {
    color: #22262a;
    text-decoration: none
}

.feature-item h3.feature-header {
    font-size: 1.5rem;
    text-align: center;
    margin: 1rem auto;
    line-height: 1.125
}

.feature-item .feature-description {
    font-size: 1.125rem;
    line-height: 1.125
}

.feature-item .feature-description p {
    font-size: 1rem;
    line-height: 1.5
}

a {
    text-decoration: none
}

.btn-link {
    color: #26c9c7;
    background: #fff;
    border-radius: 50px;
    padding: .75rem 2.5rem;
    font-size: 1.2rem;
    margin: 0 auto
}

.btn-link.btn-brand {
    color: #22262a;
    border: 1px solid #26c9c7
}

.btn-link.btn-brand:hover {
    background: #26c9c7;
    border-color: #26c9c7;
    color: #fff
}

.page-header {
    color: #fff;
    margin-bottom: 2rem;
    margin-top: -1px;
    min-height: 510px;
    overflow-x: hidden;
    padding-bottom: 1rem;
    padding-top: 1rem;
    position: relative
}

.page-header:before {
    background: url(../images/header.40a1b369.svg) bottom no-repeat;
    background-size: cover;
    content: "";
    height: 100%;
    left: -5px;
    position: absolute;
    right: -5px;
    top: -3px;
    z-index: -1
}

.page-header .header-wrap {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding: 0 1rem
}

@media (min-width:1556px) {
    .page-header .header-wrap {
        padding: 0
    }
}

.page-header .header-wrap h3.feature-header {
    font-size: 1.6rem;
    margin: 0 0 .75rem;
    line-height: 1.125
}

@media (min-width:1012px) {
    .page-header .header-wrap h3.feature-header {
        font-size: 1.8rem;
        text-align: left
    }
}

.page-header .header-wrap .feature-description {
    line-height: 1.5
}

.page-header .header-wrap .feature-description>p {
    margin: .75rem 0
}

.page-header .btn-link {
    margin: 0 auto
}

.page-header .feature-item-wrap {
    margin-bottom: 2.5rem
}

@media (min-width:1012px) {
    .page-header .feature-item-wrap {
        padding-right: 2rem;
        flex-basis: 55%;
        padding-top: 2rem;
        margin: -2vw 0 0
    }
}

@media (min-width:2036px) {
    .page-header .feature-item-wrap {
        margin-top: -1.75vw
    }
}

.page-header .phone-item-wrap {
    text-align: center
}

.page-header .phone-item-wrap>img {
    max-height: 285px
}

@media (min-width:544px) {
    .page-header .phone-item-wrap>img {
        max-height: 385px
    }
}

@media (min-width:1012px) {
    .page-header .phone-item-wrap>img {
        max-height: 485px
    }
}

@media (min-width:1556px) {
    .page-header .phone-item-wrap>img {
        max-height: 550px
    }
}

@media (min-width:2036px) {
    .page-header .phone-item-wrap>img {
        max-height: 600px
    }
}

.page-header .feature-item p {
    text-align: center
}

.page-header .action-buttons>* {
    margin: .5rem auto
}

@media (min-width:768px) {
    .page-header .action-buttons>* {
        margin: 0 1rem 0 0
    }
    .page-header .action-buttons>:last-child {
        margin-right: 0
    }
}

@media (min-width:1012px) {
    .page-header .header-wrap {
        flex-flow: row
    }
    .page-header .phone-item-wrap {
        flex-basis: 45%;
        text-align: right
    }
    .page-header .feature-header,
    .page-header .feature-item p {
        text-align: left
    }
}

@media (min-width:1556px) {
    .page-header {
        min-height: 585px
    }
}

@media (min-width:2036px) {
    .page-header {
        min-height: 635px
    }
}

.controls-apps .feature-item-wrap {
    margin: 0 0 auto;
    flex: 1 1 50%;
    max-width: 50%
}

.controls-apps .feature-item {
    padding: 0 1rem;
    text-align: center
}

.controls-apps .feature-item .feature-header {
    font-size: 1.25rem
}

.controls-apps .feature-item .feature-description {
    line-height: 1.5
}

.controls-apps .feature-item .feature-description>p {
    text-align: left
}

.video-section-component {
    display: flex;
    min-height: 400px;
    background: 50%/cover no-repeat;
    margin: 1.875rem 0
}

.video-section-component .video-container {
    color: #fff
}

.video-section-component .video-container>h3 {
    font-size: 2.75rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.video-section-button {
    text-align: center;
    font-size: 4.5rem
}

.video-section-button>span {
    cursor: pointer
}

.allowance-schedules-background {
    background-image: url(../images/allowance-schedules.bfee573d.jpg)
}

.app-blocker-background {
    background-image: url(../images/app-blocker.ad97b339.jpg)
}

.app-rules-background {
    background-image: url(../images/app-rules.8638036c.jpg)
}

.block-texting-background {
    background-image: url(../images/block-texting.3d1ddfb6.jpg)
}

.locator-background {
    background-image: url(../images/locator.961436d4.jpg)
}

.places-background {
    background-image: url(../images/places.b5d76892.jpg)
}

.modal-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1000;
    background-color: rgba(0, 0, 0, .65);
    text-align: center;
    padding: .375rem;
    display: flex;
    align-items: center;
    justify-content: center
}

.modal-dialog {
    position: relative;
    outline: 0;
    vertical-align: middle;
    box-sizing: border-box;
    cursor: default;
    border-radius: 4px;
    background-color: #2aaabb;
    padding: 2rem;
    margin: 0 auto;
    max-width: 760px;
    width: 100%
}

button.modal-close {
    z-index: 1001;
    position: absolute;
    right: 1rem;
    top: 2rem;
    left: auto;
    width: 2.5rem;
    height: 2.5rem;
    cursor: pointer;
    background: #26c9c7;
    border-radius: 50%;
    box-shadow: -2px 5px 8px rgba(0, 0, 0, .2), -1px 2px 4px rgba(0, 0, 0, .1)
}

button.modal-close>i {
    color: #fff;
    font-size: 1.5rem;
    height: 100%;
    width: 100%
}

@media (max-width:838px) {
    button.modal-close {
        top: .5rem;
        right: 0;
        background: none;
        box-shadow: none
    }
}

.images-section {
    padding: 2rem 0
}

.images-section>.phone-graphic-wrap {
    max-width: 440px
}

.images-section>.phone-graphic-wrap:not(:last-of-type) {
    margin-right: 1.25rem
}

.phone-graphic {
    background: url(../images/frame.c31270ea.png) 50% no-repeat;
    background-size: contain;
    padding: 0;
    position: relative
}

.phone-graphic img {
    max-height: 650px
}

.phone-graphic>p {
    background: 50%/contain no-repeat;
    position: absolute;
    width: 100%;
    z-index: -1;
    height: 87%;
    top: 0;
    left: 0;
    margin: 13.5% 0 0 !important;
    border-radius: 6%/10%
}

.phone-graphic img {
    visibility: hidden;
    position: relative;
    z-index: -1
}

.phone-graphic.pixel-frame {
    background-image: url(../images/pixel-frame.a3b4271d.png)
}

.phone-graphic.pixel-frame>p {
    margin: 4.25% 0 0 !important;
    height: 95%
}

.phone-graphic.pixel-frame>img {
    max-height: 590px
}

.policy-page {
    display: flex;
    flex-direction: column;
    margin: 1rem auto 0;
    width: 94%
}

@media (min-width:544px) {
    .policy-page {
        width: 90%
    }
}

@media (min-width:1012px) {
    .policy-page {
        flex-direction: row;
        width: 95%;
        max-width: 1556px
    }
}

.policy-page .content {
    border-radius: 1rem;
    border: 1px solid #e0e0e0;
    padding: 1.125rem
}

.policy-page .content h1:first-of-type {
    margin-top: 0
}

@media (min-width:544px) {
    .policy-page .content {
        box-shadow: 3px 5px 12px rgba(0, 0, 0, .25), 4px 6px 20px rgba(0, 0, 0, .12)
    }
}

@media (min-width:1012px) {
    .policy-page .content {
        margin-left: 1rem
    }
}

.op-static h2,
.op-static h3 {
    font-weight: 700
}

.op-static ol>ul {
    padding-left: 2.25rem
}

.op-static ol>li>ul,
.op-static ul {
    list-style: square
}

.op-static .is-bold {
    font-weight: 700
}

.op-static .is-text-center {
    text-align: center
}

.op-static .is-underline {
    text-decoration: underline
}

.op-static ol.no-list {
    list-style: none;
    padding-left: 3.5rem
}

.op-static ol.no-list ol.no-list {
    padding-left: 2.75rem
}

.op-static ol.no-list>li>ul {
    padding-left: 1.25rem
}

.op-static table {
    border: 1px solid;
    margin: auto;
    border-collapse: collapse;
    border-spacing: 0
}

.op-static td {
    text-align: left
}

.op-static td,
.op-static th {
    border-bottom: 1px solid;
    border-right: 1px solid;
    padding: .5rem 1rem;
    vertical-align: top
}

.op-static table,
.op-static table p {
    text-align: left
}

.op-static th {
    text-align: center;
    background: rgba(0, 0, 0, .15)
}

.op-static table p {
    margin-top: 0;
    margin-bottom: .5rem
}

.op-static table p:last-child {
    margin-bottom: 0
}

.op-static tbody>tr:last-of-type>td {
    border-bottom: none
}

.op-static span.num {
    display: inline-block;
    min-width: 2.5rem;
    margin-left: -2.75rem
}

.op-static .is-full-width {
    width: 100%
}

.op-static .ca-table td,
.op-static .ca-table th {
    width: 25%
}

.op-static .table-wrap {
    overflow-x: auto
}

.op-static ul.policy-page-links {
    padding-left: 0
}

.policy-link-button {
    margin-bottom: .625rem
}

.policy-link-button>a {
    align-items: center;
    background: #fff;
    border-radius: 100px;
    border: 1px solid #e0e0e0;
    color: #22262a;
    display: flex;
    flex: auto;
    font-weight: 700;
    height: 3rem;
    justify-content: center;
    padding: 0 1.75rem;
    transition: background-color .18s;
    white-space: nowrap
}

.policy-link-button>a.active,
.policy-link-button>a:hover {
    color: #fff;
    background-color: #26c9c7
}

.policy-link-button>a.active {
    pointer-events: none
}

.floating-page {
    position: relative;
    overflow-x: hidden;
    flex: auto
}

.floating-page:before {
    content: "";
    position: absolute;
    top: -2px;
    left: -5px;
    right: -5px;
    background: url(../images/top-wave.b20e60aa.svg) 50%/cover no-repeat;
    height: 17.5vw;
    z-index: -1
}

.floating-page .floating-block {
    background: #fff;
    margin: 2rem auto;
    padding: 1rem 1.75rem 1.75rem;
    border-radius: 1.5rem;
    box-shadow: -.25rem .5rem 1.125rem rgba(0, 0, 0, .3)
}

.btn {
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    line-height: 1.5;
    border: 1px solid #fff;
    border-radius: 50px;
    color: #fff;
    padding: .5rem .9375rem;
    min-width: 200px;
    font-size: .875rem;
    max-width: 250px;
    margin: 0 auto;
    cursor: pointer;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.btn-green {
    background-color: #26c9c7;
    color: #fff
}

.btn-green:hover {
    background-color: #fff;
    color: #26c9c7;
    border: 1px solid #26c9c7
}

.companies-logos {
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    max-width: 1556px;
    padding: 1.5rem 1rem;
    width: 100%
}

@media (max-width:767px) {
    .modal-dialog {
        max-width: 90%;
    }
    .companies-logos {
        flex-wrap: wrap;
        justify-content: center
    }
    .companies-logos .company-logo {
        flex: 0 1 33.33333%
    }
}

.family-tailored-block {
    margin-top: 2rem;
    margin-bottom: 2rem
}

.advantages {
    display: flex;
    flex-direction: column
}

.advantage {
    margin-bottom: 2rem
}

@media (min-width:1012px) {
    .advantage {
        padding: 0 .75rem;
        margin: 0
    }
}

.advantage .circle {
    width: 480px;
    height: 480px;
    position: relative
}

@media (min-width:1012px) {
    .advantage .circle {
        width: auto;
        height: auto
    }
}

.advantage .circle:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background: rgba(59, 187, 196, .25);
    z-index: -1;
    border-radius: 50%
}

@media (min-width:1012px) {
    .advantage .circle:before {
        width: 440px;
        height: 440px
    }
}

@media (min-width:1556px) {
    .advantage .circle:before {
        width: 520px;
        height: 520px
    }
}

.advantage .feature-item-wrap {
    flex: auto;
    max-height: -webkit-max-content;
    max-height: max-content
}

@media (min-width:1012px) {
    .advantage .feature-item-wrap {
        height: 135px;
        max-height: 135px
    }
}

@media (min-width:1556px) {
    .advantage .feature-item-wrap {
        height: 160px;
        max-height: 160px
    }
}

.advantage .feature-item {
    margin: 1rem 0
}

.advantage .feature-icon {
    margin-right: 1rem
}

@media (min-width:1012px) {
    .advantage .feature-icon>i {
        width: 75px;
        height: 75px
    }
}

.advantage .feature-description {
    max-width: 280px
}

.advantage .feature-description>p {
    margin: 0;
    line-height: 1.25;
    font-size: .9375rem
}

@media (min-width:1012px) {
    .advantage .feature-description>p {
        font-size: .875rem
    }
}

.advantage h3.feature-header {
    text-align: left;
    font-size: 1.125rem;
    margin-top: 0;
    margin-bottom: .5rem
}

@media (min-width:1012px) {
    .advantage-header {
        margin-bottom: 1rem
    }
}

@media (min-width:1556px) {
    .advantage-header {
        margin-bottom: 2rem
    }
}

.apps-controls {
    margin: 0 -.625rem 2rem
}

.apps-controls>.feature-item {
    padding: 0 .625rem
}

@media (min-width:768px) {
    .apps-controls {
        margin: 0 -1rem 2rem
    }
    .apps-controls>.feature-item {
        padding: 0 1rem
    }
}

.apps-controls .feature-description {
    line-height: 1.5
}

.apps-controls>.feature-item .feature-header {
    font-size: 1.25rem;
    font-weight: 400;
    margin: 1.125rem auto .5rem
}

.apps-controls>.feature-item p {
    margin: 0 auto
}

.free-to-use .feature-header {
    text-align: center
}

.free-to-use .items-wrap {
    flex-flow: row wrap
}

.free-to-use .item-wrap {
    display: flex;
    flex: 1 0 50%;
    padding: 0 1rem 1rem;
    align-items: center
}

.free-to-use .item-wrap:first-child {
    order: 2
}

.free-to-use .item-wrap:nth-child(2) {
    order: 1;
    margin: 0 25%;
    padding: 0 2.375rem 2.375rem
}

.free-to-use .item-wrap:nth-child(3) {
    order: 3
}

@media (min-width:768px) {
    .free-to-use .item-wrap {
        flex: 1 0 33.33333%
    }
    .free-to-use .item-wrap:nth-child(n) {
        order: 1;
        margin: 0
    }
}

.features-block {
    margin-top: 3.25rem;
    margin-bottom: 3.25rem
}

.features-block .feature-header {
    text-align: center
}

.features-block .col {
    padding: 0 1rem
}

.features-block .feature-item {
    max-width: 520px
}

@media (min-width:1012px) {
    .features-block .feature-item {
        max-width: 600px
    }
}

.features-block .feature-item-wrap.col {
    padding-bottom: 1.5rem;
    margin-bottom: -.75rem
}

@media (min-width:1012px) {
    .features-block .feature-item-wrap {
        border-bottom: 2px solid #e0e0e0
    }
}

.features-block .dummy-block {
    display: none !important
}

@media (min-width:1012px) {
    .features-block .dummy-block {
        display: block !important
    }
}

.feature-wrapper,
.feature-wrapper h1.feature-header {
    position: relative
}

.feature-wrapper h1.feature-header:before {
    background: url(../images/new-feature.3cf0056e.svg) 0 0/contain no-repeat;
    position: absolute;
    content: "";
    top: -5rem;
    left: 0;
    width: 5rem;
    height: 5rem
}

@media (min-width:544px) {
    .feature-wrapper h1.feature-header:before {
        top: -3rem;
        width: 6rem;
        height: 6rem
    }
}

@media (min-width:768px) {
    .feature-wrapper h1.feature-header:before {
        left: 10%;
        top: -3.75rem;
        width: 7.5rem;
        height: 7.5rem
    }
}

.feature-wrapper:after {
    background: url(../images/confetti.d51c7287.svg) 100% 0/contain no-repeat;
    position: absolute;
    content: "";
    top: -7.5vw;
    right: 0;
    width: 17.5%;
    height: 100%;
    z-index: -1
}

@media (max-width:767px) {
    .feature-wrapper:after {
        display: none
    }
}

.phone-item-wrap {
    flex: 1 1 33.33333%
}

@media (min-width:1012px) {
    .phone-item-wrap {
        flex: 1 1 25%
    }
}

.feature-item-wrap {
    flex: 1 1 50%
}

.feature-block {
    margin-bottom: 1.5rem
}

.feature-block:last-of-type .feature-item-wrap {
    border-bottom: none
}

.feature-graphic {
    width: 100%
}

.feature-graphic ul {
    color: #22262a;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    padding: 0
}

.feature-graphic ul>li {
    margin: 0;
    padding: 0;
    flex-direction: column;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 1 30%
}

.feature-graphic ul p {
    margin: .5rem auto;
    line-height: 1.25;
    text-align: center
}

.feature-graphic ul .title {
    font-size: .875rem;
    line-height: 1.125;
    height: 1.96875rem;
    margin-top: .5rem
}

.feature-graphic ul i {
    font-size: 3rem
}

@media (min-width:1012px) {
    .feature-graphic ul i {
        font-size: 4.5rem
    }
}

.feature-graphic.app-rules i.opicon-check-circle {
    color: #6dd85a
}

.feature-graphic.app-rules i.opicon-clock {
    color: #2aaabb
}

.feature-graphic.app-rules i.opicon-cancel {
    color: #fe014d
}

.feature-graphic.allowance i.opicon-play-no-circle {
    color: #6dd85a
}

.feature-graphic.allowance i.opicon-pause-no-circle {
    color: #ababab
}

.feature-graphic.allowance i.opicon-cancel {
    color: #fe014d
}

.pricing {
    margin-top: -20px;
    position: relative;
    text-align: center;
    z-index: 1
}

.pricing>h2 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 1.5rem
}

.pricing .feature-icon {
    height: 160px
}

@media (min-width:768px) {
    .pricing .feature-icon {
        height: 210px
    }
}

.pricing .feature-icon>i {
    font-size: 2.625rem;
    height: 76px;
    width: 76px
}

@media (min-width:768px) {
    .pricing .feature-icon>i {
        font-size: 3.25rem;
        height: 96px;
        width: 96px
    }
}

.plus-tiers,
.premium-tiers,
.pricing-tiers {
    position: relative
}

.plus-tiers,
.pricing-tiers {
    max-width: 665px
}

.pricing-tiers {
    max-width: 560px
}

.pricing-tiers {
    margin: 1rem auto
}

.pricing-tiers .tier {
    background: #fff;
    color: #ccc;
    min-height: 130px;
    border: 1px solid #ccc;
    cursor: pointer;
    flex: 0 0 45%;
    transition: border-color .18s, box-shadow .18s, color .3s;
    padding: 1rem .5rem;
    border-radius: 15px
}

@media (min-width:544px) {
    .pricing-tiers .tier {
        padding: 1.25rem;
        border-radius: 25px
    }
}

@media (min-width:768px) {
    .pricing-tiers .tier {
        min-height: 180px
    }
}

.pricing-tiers .tier.active,
.pricing-tiers .tier.all-active,
.pricing-tiers .tier:hover {
    color: #22262a
}

.pricing-tiers .tier.active,
.pricing-tiers .tier.all-active {
    border: 1px solid #26c9c7;
    box-shadow: inset 0 0 0 2px #26c9c7
}

@media (min-width:768px) {
    .pricing-tiers .tier.active:after,
    .pricing-tiers .tier.all-active:after {
        width: 70%;
        transition: width .5s linear .5s
    }
    .pricing-tiers .tier.active:before,
    .pricing-tiers .tier.all-active:before {
        height: 141px;
        transition: height .5s linear
    }
}

@media (min-width:768px) and (min-width:1012px) {
    .pricing-tiers .tier.active:before,
    .pricing-tiers .tier.all-active:before {
        height: 143px
    }
}

@media (min-width:768px) and (min-width:1556px) {
    .pricing-tiers .tier.active:before,
    .pricing-tiers .tier.all-active:before {
        height: 145px
    }
}

.pricing-tiers .tier.active .tier-name,
.pricing-tiers .tier.all-active .tier-name {
    font-size: 1.125rem
}

@media (min-width:544px) {
    .pricing-tiers .tier.active .tier-name,
    .pricing-tiers .tier.all-active .tier-name {
        font-size: 1.25rem
    }
}

@media (min-width:768px) {
    .pricing-tiers .tier.active .tier-name,
    .pricing-tiers .tier.all-active .tier-name {
        font-size: 1.5rem
    }
}

.pricing-tiers .tier:nth-of-type(2) {
    margin: 0 1.66667%
}

.pricing-tiers .tier:nth-of-type(2):before {
    left: 66%
}

.pricing-tiers .tier:nth-of-type(2):after {
    left: 20%
}

.pricing-tiers .tier:nth-of-type(2).active:after,
.pricing-tiers .tier:nth-of-type(2).all-active:after {
    width: 60%
}

.pricing-tiers .tier:nth-of-type(3):before {
    left: auto;
    right: 10%
}

.pricing-tiers .tier:nth-of-type(3).active:after,
.pricing-tiers .tier:nth-of-type(3).all-active:after {
    width: 0
}

@media (min-width:768px) {
    .pricing-tiers .tier:after {
        content: "";
        width: 0;
        height: 2px;
        background: #26c9c7;
        top: 178%;
        left: 10%;
        position: absolute;
        transition: width 0s linear
    }
}

@media (min-width:768px) and (min-width:1012px) {
    .pricing-tiers .tier:after {
        top: 179%
    }
}

@media (min-width:768px) and (min-width:1556px) {
    .pricing-tiers .tier:after {
        top: 180%
    }
}

@media (min-width:768px) {
    .pricing-tiers .tier:before {
        content: "";
        width: 2px;
        height: 0;
        background: #26c9c7;
        top: 100%;
        left: 33%;
        position: absolute;
        transition: height 0s linear
    }
}

.pricing-tiers .price {
    font-size: 1.625rem
}

@media (min-width:544px) {
    .pricing-tiers .price {
        font-size: 2rem
    }
}

@media (min-width:768px) {
    .pricing-tiers .price {
        font-size: 2.75rem
    }
}

.pricing-tiers .tier-name {
    color: #22262a;
    font-size: .9375rem;
    height: 40%;
    text-transform: uppercase;
    transition: font-size .18s
}

@media (min-width:544px) {
    .pricing-tiers .tier-name {
        font-size: 1.125rem
    }
}

.pricing-tiers .sub-text {
    font-size: .8125rem
}

@media (min-width:544px) {
    .pricing-tiers .sub-text {
        font-size: .9375rem
    }
}

.plus-tiers {
    top: 20px;
    margin: 0 auto 50px
}

.plus-tiers .tier {
    flex: 0 0 25%
}

.plus-tiers .tier:nth-of-type(2) {
    margin: 0 3%
}

.premium-tiers i {
    filter: grayscale(100%)
}

.premium-tiers.active i {
    filter: grayscale(0)
}

.premium-tiers.active .opicon-vew {
    filter: grayscale(100%)
}

.premium-tiers.active.all .opicon-vew {
    filter: grayscale(0)
}

.premium-tiers.active li:first-of-type i {
    animation: throb .9s 0s;
    transition: filter .25s linear 0s
}

.premium-tiers.active li:nth-of-type(2) i {
    animation: throb .9s .15s;
    transition: filter .25s linear .15s
}

.premium-tiers.active li:nth-of-type(3) i {
    animation: throb .9s .3s;
    transition: filter .25s linear .3s
}

.premium-tiers.active li:nth-of-type(4) i {
    animation: throb .9s .45s;
    transition: filter .25s linear .45s
}

.premium-tiers.active li:nth-of-type(5) i {
    animation: throb .9s .6s;
    transition: filter .25s linear .6s
}

.premium-tiers.active li:nth-of-type(6) i {
    animation: throb .9s .75s;
    transition: filter .25s linear .75s
}

.premium-tiers.active li:nth-of-type(7) i {
    animation: throb .9s .9s;
    transition: filter .25s linear .9s
}

@media (min-width:768px) {
    .premium-tiers.active li:first-of-type i {
        animation: throb .6s 1.5s;
        transition: filter .25s linear 1.5s
    }
    .premium-tiers.active li:nth-of-type(2) i,
    .premium-tiers.active li:nth-of-type(5) i {
        animation: throb .6s 1.66667s;
        transition: filter .25s linear 1.66667s
    }
    .premium-tiers.active li:nth-of-type(3) i,
    .premium-tiers.active li:nth-of-type(4) i {
        animation: throb .6s 1.83333s;
        transition: filter .25s linear 1.83333s
    }
}

.premium-tiers.all-active i {
    filter: grayscale(0) !important
}

.premium-tiers.all-active li:first-of-type i {
    animation: throb .6s .75s;
    transition: filter .25s linear .75s
}

.premium-tiers.all-active li:nth-of-type(2) i {
    animation: throb .6s .9s;
    transition: filter .25s linear .9s
}

.premium-tiers.all-active li:nth-of-type(3) i {
    animation: throb .6s 1.05s;
    transition: filter .25s linear 1.05s
}

.premium-tiers.all-active li:nth-of-type(4) i {
    animation: throb .6s 1.2s;
    transition: filter .25s linear 1.2s
}

.premium-tiers.all-active li:nth-of-type(5) i {
    animation: throb .6s 1.35s;
    transition: filter .25s linear 1.35s
}

.premium-tiers.all-active li:nth-of-type(6) i {
    animation: throb .6s 1.5s;
    transition: filter .25s linear 1.5s
}

@media (min-width:768px) {
    .premium-tiers.all-active li:first-of-type i,
    .premium-tiers.all-active li:nth-of-type(6) i {
        animation: throb .6s 1.5s;
        transition: filter .25s linear 1.5s
    }
}

@media (min-width:768px) {
    .premium-tiers:before {
        content: "";
        position: absolute;
        height: 262px;
        width: 0;
        z-index: -2;
        bottom: 100px;
        left: 52.5%
    }
    .premium-tiers.active:before,
    .premium-tiers.all-active:before {
        width: 105%;
        border: 2px solid #26c9c7;
        transition: left .75s linear, width .75s linear;
        left: -2.5%
    }
    .premium-tiers:after {
        content: "";
        position: absolute;
        width: 105%;
        height: 260px;
        bottom: 100px;
        left: -2.5%;
        background: #f7f7f7;
        z-index: -2;
        transition: height 0s, width 0s, margin 0s
    }
    .premium-tiers.active:after,
    .premium-tiers.all-active:after {
        height: 20px;
        width: 0;
        margin-left: 52.5%;
        transition: height .75s linear .75s, width .5s linear 1.5s, margin .5s linear 1.5s
    }
}

@media (max-width:767px) {
    .premium-tiers .tier {
        flex: 1 0 33.33333%
    }
    .premium-tiers .tier:nth-of-type(n-4) {
        margin-top: -.5rem
    }
    .premium-tiers .tier:nth-of-type(n+4) {
        margin-top: -3.25rem
    }
}

@media (min-width:1012px) {
    .premium-tiers-wrap {
        padding: 0 2rem
    }
}

.premium-tiers-wrap>h4 {
    position: relative;
    bottom: -25px
}

.premium-tiers-wrap>h4:before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 20px;
    border: 1px solid #ccc;
    border-bottom: none;
    z-index: -1
}

.premium-tiers-wrap>h4>span {
    background: #f7f7f7;
    padding: 0 10px
}

.feature-icon {
    height: 210px;
    font-size: .9375rem
}

.feature-icon i {
    width: 200px;
    height: 200px;
    font-size: 3rem;
    border-radius: 50%
}

.feature-icon i.shadow {
    background-color: #fff;
    box-shadow: 0 .1rem 2rem rgba(0, 0, 0, .22)
}

.feature-icon i.img-icon {
    background-size: auto 70%;
    background-color: #fff
}

.feature-icon i.icon-small {
    font-size: 2.5rem
}

.feature-icon i.icon-large {
    width: 150px;
    height: 150px;
    min-height: 150px;
    font-size: 4rem
}

@media (max-width:1011px) {
    .feature-icon i {
        width: 65px;
        height: 65px;
        font-size: 2.5rem
    }
}

.feature-icon .bottom,
.feature-icon .top {
    line-height: 1.2;
    height: 2.25rem
}

.trusted-everywhere .feature-header {
    text-align: center
}

.trusted-everywhere .items-wrap {
    flex-direction: column
}

@media (min-width:768px) {
    .trusted-everywhere .items-wrap {
        flex-direction: row
    }
}

.trusted-everywhere .item-wrap {
    padding: 0 1rem
}

@media (min-width:768px) {
    .trusted-everywhere .item-wrap {
        flex-basis: 50%
    }
}

.trusted-everywhere .img-wrap {
    width: 100%;
    max-width: 400px;
    padding: 0 2rem;
    margin-bottom: 1rem
}

@media (min-width:768px) {
    .trusted-everywhere .img-wrap {
        max-width: 500px;
        margin: 1rem auto
    }
}

.trusted-everywhere .description {
    margin: 1rem 0
}

.feature-page .locator-page .feature-page__section p {
    margin-bottom: .5rem
}

.feature-page .locator-page ul {
    padding-left: 1.25rem
}

.feature-page .locator-page li:before {
    content: "";
    display: inline-block;
    width: 1rem
}

.wap-ewm {
    display: none;
}

@media (min-width:768px) and (max-width:1023px) {
    .opm-footer h4 {
        font-size: 1.3rem;
    }
    .opm-footer .footer-item {
        font-size: 1rem;
    }
    .opm-footer ul {
        padding-left: 0rem;
    }
    .footer-menu-item>h4 {
        padding: .5rem 0rem;
    }
}

@media (max-width:1023px) {
    .family-tailored-block .ewm-row {
        display: block !important;
        width: 100%;
        margin: 0 0 2rem 0;
    }
    .apps-controls>.feature-item {
        padding: 0;
    }
    .apps-controls>.feature-item:first-child {
        margin-bottom: 30px;
    }
    .pc-ewm {
        display: none;
    }
    .wap-ewm {
        display: block;
        text-align: center;
    }
    .wap-ewm img {
        display: block;
        margin: 0 auto;
        width: 150px;
    }
}

.app-sub-menu__top>.menu-item>a.color1 {
    color: #852ad5;
}

.app-sub-menu__top>.menu-item>a.color2 {
    color: #6ec733;
}

.app-sub-menu__top>.menu-item>a.color3 {
    color: #f28b31;
}

.app-sub-menu__top>.menu-item>a.color4 {
    color: #14bfe1;
}

.app-sub-menu__top>.menu-item>a.color5 {
    color: #009e32;
}

.app-sub-menu__top>.menu-item>a.color6 {
    color: #6ec733;
}

.app-sub-menu__top>.menu-item>a.color7 {
    color: #f0c000;
}

.app-sub-menu__top>.menu-item>a.color8 {
    color: #f28b31;
}

.wxewm {
    text-align: center;
}

.wxewm p img {
    margin-bottom: 0.6rem;
}

.wxewm p.wxh {
    color: #fff;
    font-size: 1.0625rem;
    line-height: 1.5;
}

.opm-footer ul.social-media-icons {
    padding-left: 0px;
}

.list-item ul li {
    line-height: 1.5;
    border-bottom: 1px solid #efeded;
    padding: 15px 0;
}

.list-item ul li a {
    color: #0abbb9;
    font-size: 1.0625rem;
}

.list-page {
    text-align: center;
    padding-top: 1.75rem;
}

.list-page a {
    color: #848282;
    padding: 6px 12px;
    display: inline-block;
    border: 1px solid #d6d5d5;
    margin: 0 3px 8px 0;
    line-height: 20px;
}

.list-page span {
    color: #ffffff;
    border: 1px solid #0abbb9;
    background: #0abbb9;
    padding: 6px 12px;
    display: inline-block;
    margin: 0 3px 8px 0;
    line-height: 20px;
}

.showtit {
    font-size: 1.2rem;
    text-align: center;
    color: #0abbb9;
    margin-bottom: 0.6rem;
}

.showtime {
    text-align: center;
    font-size: 0.9rem;
    margin-bottom: 0.6rem;
}

.showtime span.editor {
    padding-right: 20px;
}

.showcon {
    font-size: 1.0625rem;
    color: #545353;
    line-height: 1.6;
}

.showcon img {
    max-width: 100% !important;
    height: auto !important;
}

/*# sourceMappingURL=main.d57633ff.chunk.css.map */