/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    margin: .67em 0;
    font-size: 2em
}

hr {
    overflow: visible;
    box-sizing: content-box;
    height: 0
}

pre {
    font-size: 1em;
    font-family: monospace, monospace
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-size: 1em;
    font-family: monospace, monospace
}

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-size: 100%;
    font-family: inherit;
    line-height: 1.15
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    padding: 0;
    border-style: none
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    display: table;
    box-sizing: border-box;
    padding: 0;
    max-width: 100%;
    color: inherit;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: textfield
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden],
template {
    display: none
}

th, td {
	text-align: center!important;
	border: none!important;
}

.font-white {
	color: white!important;
}

.font-black {
	color: black!important;
}

.intro,
.notes,
.outro,
.subscriptions,
.tab-intro {
    width: 100%
}

.intro .content,
.notes .content,
.outro .content,
.subscriptions .content,
.tab-intro .content {
    margin: 0 auto;
    padding: 4rem 2rem;
    max-width: 900px;
    text-align: center
}

.subscriptions__chart h1:before {
    position: relative;
    top: 0;
    display: block;
    margin: 0 auto;
    padding-top: 2rem;
    max-width: 85%;
    width: auto;
    height: .8em;
    background-image: url(../images/zigzag.svg);
    background-position: top;
    background-repeat: no-repeat;
    content: ""
}

main {
    overflow: hidden
}

.inline-block {
    display: inline-block
}

body {
    font-family: Roboto, sans-serif
}

.button,
.button:link,
.button:visited,
.tabs nav a,
.tabs nav a:link,
.tabs nav a:visited,
main h1,
main h2 {
    text-transform: uppercase;
    letter-spacing: .0625rem;
    font-weight: 400;
    font-family: Knockout\ 30, Roboto, sans-serif
}

html {
    font-size: 100%
}

body {
    line-height: 1.4em
}

main sup {
    top: .2em;
    vertical-align: super;
    font-size: 70%;
    line-height: 1
}

main h1,
main h2 {
    line-height: 100%
}

main h1 sup,
main h2 sup {
    top: .2em;
    vertical-align: super;
    font-size: 70%;
    line-height: 1
}

main h1 a,
main h1 a:link,
main h1 a:visited,
main h2 a,
main h2 a:link,
main h2 a:visited {
    color: #000;
    text-decoration: underline
}

main h1 a:active,
main h1 a:focus,
main h1 a:hover,
main h2 a:active,
main h2 a:focus,
main h2 a:hover {
    color: #757575;
    text-decoration: underline
}

main h1 {
    font-size: 1.625rem
}

@media screen and (min-width:1200px) {
    main h1 {
        font-size: 1.875rem
    }
}

main h2 {
    font-size: 1rem
}

@media screen and (min-width:1200px) {
    main h2 {
        font-size: 1.25rem
    }
}

main p,
main ul li {
    font-size: 1rem;
    line-height: 1.5rem
}

main p a,
main p a:link,
main p a:visited,
main ul li a,
main ul li a:link,
main ul li a:visited {
    color: #000;
    text-decoration: underline
}

main p a:active,
main p a:focus,
main p a:hover,
main ul li a:active,
main ul li a:focus,
main ul li a:hover {
    color: #757575;
    text-decoration: underline
}

main h1,
main h2,
main p {
    margin: 0 0 1rem
}

main h1:last-child,
main h2:last-child,
main p:last-child {
    margin: 0
}

.button,
.button:link,
.button:visited {
    display: inline-block;
    padding: 16px 38px;
    border: 1px solid #000;
    color: #000;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 16px;
    transition: all .2s ease
}

@media screen and (min-width:1200px) {

    .button,
    .button:link,
    .button:visited {
        padding: 20px 30px;
        font-size: 20px;
        line-height: 20px
    }
}

.inverse .button,
.inverse .button:link,
.inverse .button:visited {
    border: 1px solid #fff;
    color: #fff
}

.button:active,
.button:focus,
.button:hover {
    background: #000;
    color: #fff
}

.inverse .button:active,
.inverse .button:focus,
.inverse .button:hover {
    background: #fff;
    color: #000
}

.g__video {
    position: relative;
    padding-bottom: 60%;
    background: #000;
    cursor: pointer
}

.g__video--full {
    padding-bottom: 32.875%
}

.g__video__cover a {
    position: absolute;
    visibility: visible;
    width: 100%;
    height: 100%;
    opacity: 1
}

.g__video__cover a:active:before,
.g__video__cover a:focus:before,
.g__video__cover a:hover:before {
    opacity: 1
}

.g__video__cover a img {
    width: 100%
}

.g__video__cover a:before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    display: block;
    width: 100px;
    height: 100px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQgMTQ0Ij48cGF0aCBkPSJNMTIxLjUgNzJsLTc5IDQ1LjJWMjYuOHoiIGZpbGw9IiNmZmYiLz48Y2lyY2xlIGN4PSI3MiIgY3k9IjcyIiByPSI2Ni4zIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMTAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPjwvc3ZnPg==");
    background-repeat: no-repeat;
    content: "";
    opacity: .67;
    transition: opacity .2s;
    transform: translate(-50%, -50%);
    pointer-events: none
}

@media screen and (min-width:992px) {
    .g__video__cover a:before {
        width: 6.5vw;
        height: 6.5vw
    }
}

.g__video__player {
    position: absolute;
    visibility: visible;
    width: 100%;
    height: 100%;
    opacity: 1
}

.g__video__player--transition {
    transition: opacity 1s ease-in
}

.g__video__cover.hidden,
.g__video__player.hidden {
    visibility: hidden;
    opacity: 0
}

.hero {
    position: relative
}

.hero__image {
    display: block;
    overflow: hidden;
    width: 100%
}

.tabs nav {
    position: relative;
    display: table;
    width: 100%
}

.tabs nav a,
.tabs nav a:link,
.tabs nav a:visited {
    display: table-cell;
    padding: 1rem .5rem;
    width: 50%;
    height: 100%;
    border: 1px solid transparent;
    border-bottom: none;
    background-color: #fff;
    background-image: linear-gradient(#000, hsla(0, 0%, 100%, 0) .1%, #fff);
    color: #000;
    vertical-align: middle;
    text-align: center;
    text-decoration: none;
    font-size: 1.375rem;
    transition: all .2s ease-in-out
}

@media screen and (min-width:769px) {

    .tabs nav a,
    .tabs nav a:link,
    .tabs nav a:visited {
        padding: 2rem
    }
}

.tabs nav a:link h2,
.tabs nav a:visited h2,
.tabs nav a h2 {
    margin: 0 auto;
    padding: 0;
    font-size: 1.125rem
}

@media screen and (min-width:769px) {

    .tabs nav a:link h2,
    .tabs nav a:visited h2,
    .tabs nav a h2 {
        font-size: 1.375rem
    }
}

.tabs nav a:active,
.tabs nav a:focus,
.tabs nav a:hover {
    border-color: #000
}

.tabs nav a:active:first-child,
.tabs nav a:focus:first-child,
.tabs nav a:hover:first-child {
    border-left-color: transparent
}

.tabs nav a:active:last-child,
.tabs nav a:focus:last-child,
.tabs nav a:hover:last-child {
    border-right-color: transparent
}

.tabs nav a.selected {
    background-image: linear-gradient(#000, transparent 100%, #fff);
    color: #fff
}

.tab-intro,
.tabs nav a.selected {
    background-color: #000
}

.tab-intro .content {
    max-width: 1200px;
    color: #fff
}

.tab-intro .icons {
    display: flex;
    align-content: stretch;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 10% 5% 5%
}

@media screen and (min-width:660px) {
    .tab-intro .icons {
        flex-wrap: nowrap;
        justify-content: center;
        padding: 3.5% 0
    }
}

.tab-intro .icons .item {
    margin: 0 0 2em;
    width: 50%;
    text-align: center
}

@media screen and (min-width:660px) {
    .tab-intro .icons .item {
        margin: 0 1vw;
        width: 45%
    }
}

@media screen and (min-width:992px) {
    .tab-intro .icons .item {
        margin: 0 2vw;
        max-width: 160px
    }
}

.tab-intro .icons svg {
    margin-bottom: 1em;
    height: 50px
}

.tab-intro .icons h3 {
    margin: 0 1rem;
    padding: 0;
    color: #fff;
    font-weight: 400;
    font-size: .875rem;
    line-height: 1.2em
}

@media screen and (min-width:660px) {
    .tab-intro .icons h3 {
        margin: 0
    }
}

@media screen and (min-width:992px) {
    .tab-intro .icons h3 {
        font-size: 1rem;
        line-height: 1.4em
    }
}

.tab-intro .buttons {
    display: flex;
    align-content: stretch;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    padding: 1.5% 0 0
}

@media screen and (min-width:992px) {
    .tab-intro .buttons {
        flex-wrap: nowrap
    }

    .tab-intro .buttons .button {
        margin: 0 1rem
    }
}

.tab-intro .buttons .button {
    margin: 1rem;
    width: 300px
}

.features {
    position: relative
}

.features__lifestyle {
    display: block;
    overflow: hidden;
    width: 100%
}

.features__block {
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    padding: 4em 5vw 0;
    background: #000;
    color: #fff
}

@media screen and (min-width:769px) {
    .features__block {
        flex-direction: row;
        padding: 4em 3vw 0
    }
}

.features__block .item {
    box-sizing: border-box;
    padding-bottom: 4rem;
    width: 100%
}

@media screen and (min-width:769px) {
    .features__block .item {
        margin: 0 2%;
        width: 33.33333%
    }
}

.features__block .item h2 {
    margin-bottom: 1.5rem
}

.spotlights {
    padding: 1vw 0 1vmin
}

.spotlights .spotlight {
    display: block;
    width: 100%
}

@media screen and (min-width:992px) {
    .spotlights .spotlight {
        display: flex;
        align-content: stretch;
        align-items: center;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center
    }
}

.spotlights .spotlight .heading,
.spotlights .spotlight__image {
    box-sizing: border-box
}

.spotlights .spotlight__image {
    position: relative;
    width: 100%
}

@media screen and (min-width:992px) {
    .spotlights .spotlight__image {
        margin: .5vmin 1vw 1.75vmin;
        width: calc(50% - 2vw)
    }
}

.spotlights .spotlight__image img {
    display: block;
    width: 100%
}

.spotlights .spotlight__block {
    padding: 2em 5vw 3em
}

@media screen and (min-width:992px) {
    .spotlights .spotlight__block {
        padding: 0;
        width: 50%
    }
}

.spotlights .spotlight__block .heading {
    padding: 0
}

@media screen and (min-width:992px) {
    .spotlights .spotlight__block .heading {
        padding: 0 4vw
    }
}

.spotlights .spotlight__block p a.cta {
    display: block;
    padding-top: 1em;
    text-transform: uppercase
}

.subscriptions>.content {
    padding: 4rem 2rem 0
}

.subscriptions__banner {
    padding: 35px 1em;
    background: #000;
    color: #fff;
    text-align: center
}

.subscriptions__block {
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    padding: 3rem 5vw 1.5rem
}

@media screen and (min-width:769px) {
    .subscriptions__block {
        flex-direction: row;
        flex-wrap: nowrap;
        padding: 3rem 10vw 1.5rem
    }
}

.subscriptions__block .item {
    box-sizing: border-box;
    padding: 0 2rem 1rem;
    max-width: 900px
}

.subscriptions__block .item:only-child {
    width: 100%
}

.subscriptions__block .item ul {
    padding-left: 1rem
}

.subscriptions__chart .content {
    padding: 0 2rem
}

.subscriptions__disclaimers .content {
    box-sizing: border-box;
    max-width: 1000px;
    width: 90%;
    border-top: 2px solid #000;
    text-align: left
}

.subscriptions__disclaimers .content p {
    font-style: italic;
    font-size: .875rem
}

.g__compare {
    overflow-x: auto;
    margin: 2rem auto;
    padding: 2rem 0;
    max-width: 724px;
    background: #f8f8f8
}

@media screen and (min-width:769px) {
    .g__compare {
        margin: 0 auto;
        padding: 2rem 1rem;
        background: #fff
    }
}

.g__compare table {
    margin-bottom: 1rem;
    width: 100%;
    border-spacing: 40px 0;
    border-collapse: separate
}

@media screen and (min-width:769px) {
    .g__compare table {
        border-spacing: 0;
        border-collapse: collapse
    }
}

.g__compare table th {
    box-sizing: border-box;
    padding: 1.25rem .25rem;
    border-top: 1px solid #d8d8d8!important;
    font-weight: 400;
    font-size: 14px;
    line-height: 14px
}

@media screen and (min-width:769px) {
    .g__compare table th {
        padding: .85rem .25rem;
        font-size: 16px;
        line-height: 16px
    }
}

thead .g__compare table th {
    padding: .65em 2em;
    background-color: #000;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 16px;
    line-height: 16px
}

.g__compare table th:first-child {
    border: 0;
    background-color: transparent
}

@media screen and (min-width:769px) {
    .g__compare table th:first-child {
        border-top: 1px solid #d8d8d8!important;
    }
}

.g__compare table th:nth-child(2),
.g__compare table th:nth-child(3),
.g__compare table th:nth-child(4) {
    min-width: 135px;
    max-width: 135px;
    width: 135px
}

@media screen and (min-width:769px) {

    .g__compare table th:nth-child(2),
    .g__compare table th:nth-child(3),
    .g__compare table th:nth-child(4) {
        min-width: 160px;
        max-width: 160px;
        width: 160px
    }
}

.g__compare table th.row-label {
    padding: 1.25em 0;
    text-align: right;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 16px;
    line-height: 16px
}

@media screen and (min-width:769px) {
    .g__compare table th.row-label {
        padding: 1.25em 2em;
        text-align: left
    }
}

.g__compare table tr.row-header th {
    padding: .65em 2em;
    background-color: #000;
    color: #fff;
    text-align: left;
    text-transform: uppercase;
    font-weight: 700;
    vertical-align: middle;
}

@media screen and (min-width:769px) {
    .g__compare table tr.row-header th {
        text-align: center
    }
}

/* .g__compare table tr.row-header th:first-child {
    background-color: transparent
} */

@media screen and (min-width:769px) {
    .g__compare table tr.row-header th:first-child {
        background-color: #000
    }
}

.g__compare table tr.row-header th.column-header {
    text-align: center
}

.g__compare table tr:nth-child(odd):not(.row-header) th {
    background-color: #efefef
}

@media screen and (min-width:769px) {
    .g__compare table tr:nth-child(odd):not(.row-header) th {
        background-color: #f5f5f5
    }
}

/* .g__compare table tr:nth-child(odd):not(.row-header) th.row-label {
    background-color: transparent
} */

/* @media screen and (min-width:769px) {
    .g__compare table tr:nth-child(odd):not(.row-header) th.row-label {
        background-color: #f5f5f5
    }
} */

.g__compare table tr:nth-child(2n):not(.row-header) th {
    background-color: #fff
}

.g__compare table tr:nth-child(2n):not(.row-header) th.row-label {
    background-color: #fff;
}

.g__compare table tr.data-row.pricing__secondary th.row-label {
    text-align: right;
    text-transform: capitalize;
    font-weight: 400;
    font-style: italic
}

.g__compare p {
    padding-left: 150px;
    text-align: left
}

@media screen and (min-width:769px) {
    .g__compare p {
        padding: 0
    }
}

.g__compare p small {
    display: block;
    font-style: italic;
    font-size: .875rem
}

.bottomvideo {
    position: relative
}

.bottomvideo__lifestyle {
    display: block;
    overflow: hidden;
    width: 100%
}

.outro {
    background-color: #000
}

.outro .content {
    color: #fff
}

.outro .content p a,
.outro .content p a:link,
.outro .content p a:visited {
    color: #fff;
    text-decoration: underline
}

.outro .content p a:active,
.outro .content p a:focus,
.outro .content p a:hover {
    color: #fff;
    text-decoration: none
}

.outro .buttons {
    margin-top: 1.75rem
}

.outro .buttons .button {
    padding: 9px 24px;
    font-size: 14px;
    line-height: 14px
}

.outro .contact {
    margin-top: 2.5rem
}

.outro .signup {
    margin-top: 1.75rem
}

.notes {
    background-color: #eee
}

.notes .content p {
    text-align: left;
    font-size: .875rem
}