@charset "UTF-8";
/*
 * Web Fonts from colophon-foundry.org
 *
 * The fonts included in this stylesheet are subject to the End User License you purchased
 * from Colophon Foundry. The fonts are protected under domestic and international trademark and
 * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or
 * distributing this font software.
 *
 * (c) 2019 Colophon Foundry
 *
 * Licenced to Digital Media Playboy
 */
@font-face {
    font-family: 'PlayboyVisuelt';
    src: url("../fonts/PlayboyVisuelt-Light.eot");
    src: url("../fonts/PlayboyVisuelt-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/PlayboyVisuelt-Light.woff") format("woff"), url("../fonts/PlayboyVisuelt-Light.woff2") format("woff2"), url("../fonts/PlayboyVisuelt-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'PlayboyVisuelt';
    src: url("../fonts/PlayboyVisuelt-LightItalic.eot");
    src: url("../fonts/PlayboyVisuelt-LightItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/PlayboyVisuelt-LightItalic.woff") format("woff"), url("../fonts/PlayboyVisuelt-LightItalic.woff2") format("woff2"), url("../fonts/PlayboyVisuelt-LightItalic.ttf") format("truetype");
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'PlayboyVisuelt';
    src: url("../fonts/PlayboyVisuelt-Regular.eot");
    src: url("../fonts/PlayboyVisuelt-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/PlayboyVisuelt-Regular.woff") format("woff"), url("../fonts/PlayboyVisuelt-Regular.woff2") format("woff2"), url("../fonts/PlayboyVisuelt-Regular.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'PlayboyVisuelt';
    src: url("../fonts/PlayboyVisuelt-Medium.eot");
    src: url("../fonts/PlayboyVisuelt-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/PlayboyVisuelt-Medium.woff") format("woff"), url("../fonts/PlayboyVisuelt-Medium.woff2") format("woff2"), url("../fonts/PlayboyVisuelt-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'PlayboyVisuelt';
    src: url("../fonts/PlayboyVisuelt-Bold.eot");
    src: url("../fonts/PlayboyVisuelt-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/PlayboyVisuelt-Bold.woff") format("woff"), url("../fonts/PlayboyVisuelt-Bold.woff2") format("woff2"), url("../fonts/PlayboyVisuelt-Bold.ttf") format("truetype");
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'PlayboyVisuelt';
    src: url("../fonts/PlayboyVisuelt-Bold.eot");
    src: url("../fonts/PlayboyVisuelt-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/PlayboyVisuelt-Bold.woff") format("woff"), url("../fonts/PlayboyVisuelt-Bold.woff2") format("woff2"), url("../fonts/PlayboyVisuelt-Bold.ttf") format("truetype");
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'PlayboyVisueltOutline';
    src: url("../fonts/PlayboyVisuelt-BoldOutline.eot");
    src: url("../fonts/PlayboyVisuelt-BoldOutline.eot?#iefix") format("embedded-opentype"), url("../fonts/PlayboyVisuelt-BoldOutline.woff") format("woff"), url("../fonts/PlayboyVisuelt-BoldOutline.woff2") format("woff2"), url("../fonts/PlayboyVisuelt-BoldOutline.ttf") format("truetype");
    font-weight: bold;
    font-style: normal;
}

:root {
    --error-border: #c91c0c;
    --error-label: #c91c0c;
    --inner-margin: 5vw;
    --outer-margin: 3.5vw;
    --wide-inner-margin: 21.1vw;
    --middle-margin: calc(var(--inner-margin) - var(--outer-margin));
    --horizontal-margin: calc(var(--inner-margin) + var(--outer-margin));
    /* HorizontalScroll component */
    --horizontal-scroll-container-gap: 2px;
    --horizontal-scroll-item-gap: 2px;
    --horizontal-scroll-item-min-width: 280px;
    --horizontal-scroll-padding-left: 0px;
    --horizontal-scroll-padding-right: 0px;
    /* CardGrid component */
    --card-grid-item-gap: 3px;
    --card-grid-item-gap-lg: 6px;
    --card-grid-item-min-width: 100vw;
    /* CardsGridSmall component */
    --card-grid-small-row-count: 1;
    /* Card controller */
    --card-height-small: 355px;
    --card-height-medium: 248px;
    --card-height-large: 400px;
    --card-height-xlarge: 100vh;
    --card-height-hero: 100vh;
    /* Body Font Color */
    --body-font: #FFFFFF;
    /*Colors*/
    --playmate: #FF006C;
    --special-edition: #E7CB16;
    --international: #51710f;
    --newcomer: #E31DD6;
    --muse: #FF4600;
    --celebrity: #4532E8;
}

@media (min-width: 768px) {
    :root {
        --card-height-medium: 400px;
        --card-height-large: 478px;
        --card-grid-item-min-width: 75vw;
        --card-grid-small-row-count: 2;
        --card-height-xlarge: 478px;
    }
}

@media (min-width: 1024px) {
    :root {
        /* Card controller */
        --card-height-xsmall: 370px;
        --card-height-small: 382px;
        --card-height-medium: 344px;
        /* CardsGridSmall component */
        --card-grid-small-row-count: 3;
    }
}

@media (min-width: 1440px) {
    :root {
        /* Card controller */
        --card-height-medium: 480px;
        --card-height-large: 580px;
        --card-height-xlarge: 900px;
    }
}

/**
 * Set default box sizing for all elements
 */
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

/**
 * Default to black background
 */
body {
    background: #000;
}

/**
 * Reset margins and paddings
 */
body,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
figcaption,
p,
ul,
ol,
blockquote {
    margin: 0;
    padding: 0;
}

a {
    color: var(--body-font);
}

/**
 * Set base font-size to 10px to simplify rem calculations
 */
html {
    font-size: 10px;
}

/**
 * Global typography settings
 */
body {
    font-family: 'PlayboyVisuelt', -apple-system, BlinkMacSystemFont, 'Segoe UI',
    'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans',
    'Helvetica Neue', sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: 700;
}

/**
 * Images should never exceed the width of their containers.
 */
img {
    max-width: 100%;
}

/**
 * Picture elements don't need line-height.
 */
picture {
    line-height: 0;
}

/**
 * Hide tracking pixels that are children of <body>.
 */
body > img[height='1'][width='1'] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.01;
}

/**
 * Make everything inside body start from white background.
 */
:global(#__next) {
    background: #fff;
}

/**
 * Don't scroll when menu is open.
 */
.menu-open,
.search-open {
    position: fixed;
    width: 100vw;
}

/**
 * Hide main content when search is open.

:global(.search-open) :global(#__next) {
  display: none;
} */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
    position: absolute;
    left: 1rem;
    top: 1rem;
}

.cardXSmall {
    height: var(--card-height-small);
}

.cardSmall {
    height: var(--card-height-small);
}

.cardMedium {
    height: var(--card-height-medium);
}

.cardLarge {
    height: var(--card-height-large);
}

.cardHero {
    height: var(--card-height-hero);
}

.heroGroup {
    padding-bottom: var(--card-grid-item-gap);
}

/*Card Grid*/
.grid {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -3px;
}

@media (max-width: 767px) {
    .grid {
        margin-left: -15px;
        margin-right: -15px;
    }
}

.grid .item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 var(--card-grid-item-min-width);
    flex: 0 0 var(--card-grid-item-min-width);
    padding-bottom: var(--card-grid-item-gap);
    padding-right: 3px;
}


@media (min-width: 1024px) {
    .grid .item {
        --card-grid-item-min-width: 25%;
    }
}

@media (max-width: 767px) {
    .grid .item {
        max-width: 100%;
        padding-right: 0;
    }
}

@media (min-width: 768px) {
    .grid.gap-lg {
        margin-left: calc(var(--card-grid-item-gap) * -1);
        margin-right: calc(var(--card-grid-item-gap) * -1);
    }
}

.grid.gap-lg .item {
    padding-bottom: var(--card-grid-item-gap-lg);
    padding-right: 0;
}

@media (min-width: 768px) {
    .grid.gap-lg .item {
        padding-right: var(--card-grid-item-gap);
        padding-left: var(--card-grid-item-gap);
    }
}

@media (min-width: 1024px) {
    .grid {
        margin-right: -32px;
    }

    .grid .item {
        padding-right: 32px;
    }
}

@media (max-width: 767px) {
    /** Single Card in Grid */
    .oneUp .item {
        --card-grid-item-min-width: 100%;
    }

    /** TwoUp */
    .twoUp {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .twoUp .item {
        --card-grid-item-min-width: 100%;
        padding-right: 0;
    }

    .twoUpMobile .item {
        --card-grid-item-min-width: 50%;
    }

    .twoUpMobile .item:nth-child(2n + 2) {
        padding-right: 0;
    }

    .grid .item {
        margin-bottom: 3px;
    }
}

.grid {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media (min-width: 768px) {
    .grid .item {
        --card-grid-item-min-width: 50%;
    }

    /** Single Card in Grid */
    .oneUp .item {
        --card-grid-item-min-width: calc(100% / 3);
    }

    /** TwoUp */
    .twoUp .item {
        --card-grid-item-min-width: 50%;
    }

    .twoUp .item:nth-child(2n + 2) {
        padding-right: 0;
    }

    /** Grid with three medium cards */
    .gridThree .item {
        --card-grid-item-min-width: calc(100% / 3);
    }

    /** Even number grid items */
    .gridEven .item {
        --card-grid-item-min-width: 50%;
    }

    .gridEven .item:nth-child(2n + 2) {
        padding-right: 0;
    }

    /** Grid with five medium cards */
    .gridFive .item:nth-child(5n + 2),
    .gridFive .item:nth-child(5n + 5),
    .gridFiveFlipped .item:nth-child(5n + 2),
    .gridFiveFlipped .item:nth-child(5n + 5) {
        padding-right: 0;
    }

    /** Grid with five medium cards & not flipped */
    .gridFive .item:nth-child(5n + 2) {
        --card-grid-item-min-width: 75%;
    }

    .gridFive .item:nth-child(5n + 3) {
        --card-grid-item-min-width: 50%;
    }

    /** Grid with five medium cards & flipped */
    .gridFiveFlipped .item:nth-child(5n + 1) {
        --card-grid-item-min-width: 75%;
    }

    .gridFiveFlipped .item:nth-child(5n + 5) {
        --card-grid-item-min-width: 50%;
    }

    /** Grid with five medium cards and one large card */
    .gridFiveLarge .item:nth-child(5n + 5),
    .gridFiveLargeFlipped .item:nth-child(5n + 5) {
        padding-right: 0;
    }

    .gridFiveLarge .item:nth-child(5n + 2) {
        margin-right: 50%;
    }

    .gridFiveLargeFlipped .item:nth-child(5n + 1) {
        margin-left: 50%;
    }

    .gridFiveLarge .item:nth-child(5n + 3),
    .gridFiveLargeFlipped .item:nth-child(5n + 3) {
        --card-grid-item-min-width: 50%;
    }

    .gridFiveLarge .item:nth-child(5n + 3) {
        margin-right: 50%;
    }

    .gridFiveLargeFlipped .item:nth-child(5n + 3) {
        margin-left: 50%;
    }

    .gridFiveLarge .item:nth-child(5n + 4) {
        --card-grid-item-min-width: 75%;
    }

    .gridFiveLargeFlipped .item:nth-child(5n + 5) {
        --card-grid-item-min-width: 75%;
    }
}


.gridFour .cardMedium {
    padding-left: 14px;
    padding-right: 14px;
}

@media (max-width: 1023px) {
    .gridFour {
        margin-left: -32px;
        margin-right: -32px;
    }
}

.bg-white {
    background-color: #fff;
}

.bg-pm {
    background-color: var(--playmate);
}

.bg-se {
    background-color: var(--special-edition);
}

.bg-int {
    background-color: var(--international);
}

.bg-nc {
    background-color: var(--newcomer);
}

.bg-ms {
    background-color: var(--muse);
}

.bg-cb {
    background-color: var(--celebrity);
}

.bg-img {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
}

@media (min-width: 1024px) {
    .bg-img {
        background-size: 100% auto;
    }
}

.list-unstyled {
    list-style: none;
}

.uppercase {
    text-transform: uppercase;
}

.text-center {
    text-align: center;
}

.text-underline {
    text-decoration: underline;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: black;
    border: 0;
    border-radius: 35px;
    color: white;
    cursor: pointer;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-family: 'PlayboyVisuelt', -apple-system, BlinkMacSystemFont, 'Segoe UI',
    'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans',
    'Helvetica Neue', sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: 0.8px;
    line-height: 1;
    outline: none;
    padding: 0 32px;
    text-align: center;
    text-transform: uppercase;
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
}

.button-text-only {
    padding: 0;
    border-radius: 0;
    background: none;
}

.button-outline {
    background-color: transparent;
    border: 1px solid currentColor;
    padding-left: 35px;
    padding-right: 35px;
}

.button.isLight {
    background-color: #fff;
    color: #000;
}

.button.isPrimary {
    background-color: #D03A2B;
}

.button.size-default {
    height: 52px;
}

.button.size-small {
    height: 42px;
    padding: 0 44px;
}

@media (min-width: 768px) and (max-width: 1023px) {
    .button.size-small {
        padding: 0 22px;
    }
}

.button.padding-xtra {
    padding: 0 44px;
}

@media (min-width: 768px) and (max-width: 1023px) {
    .button.padding-xtra {
        padding: 0 22px;
    }
}

.button[disabled] {
    background-color: #d9d9d9;
    cursor: not-allowed;
    color: #7f7f7f;
}

a.button {
    text-decoration: none;
}

a.button[disabled] {
    pointer-events: none;
}

.button-separator {
    margin-top: 64px;
    margin-bottom: 64px;
}

.card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    overflow: hidden;
    padding: 30px 26px;
    position: relative;
    width: 100%;
    -webkit-transition: padding-bottom 0.75s ease;
    -o-transition: padding-bottom 0.75s ease;
    transition: padding-bottom 0.75s ease;
    -webkit-transition-delay: 0.15s;
    -o-transition-delay: 0.15s;
    transition-delay: 0.15s;
}

@media screen and (prefers-reduced-motion: reduce), (update: slow) {
    .card {
        -webkit-transition: none;
        -o-transition: none;
        transition: none;
    }
}

.card:before {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(#000000));
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%);
    background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
    bottom: 0;
    content: '';
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 55%;
    -webkit-transition: background-color 0.75s ease, opacity 0.75s ease;
    -o-transition: background-color 0.75s ease, opacity 0.75s ease;
    transition: background-color 0.75s ease, opacity 0.75s ease;
    -webkit-transition-delay: 0.15s;
    -o-transition-delay: 0.15s;
    transition-delay: 0.15s;
    z-index: 1;
}

@media screen and (prefers-reduced-motion: reduce), (update: slow) {
    .card:before {
        -webkit-transition: none;
        -o-transition: none;
        transition: none;
    }
}

@media (min-width: 768px) {
    .card:before {
        background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(80%, #000000));
        background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 80%);
        background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, #000000 80%);
        top: 58%;
    }
}

.card .image {
    -o-object-fit: cover;
    object-fit: cover;
    bottom: 0;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    -webkit-transition: -webkit-transform 1s ease;
    transition: -webkit-transform 1s ease;
    -o-transition: transform 1s ease;
    transition: transform 1s ease;
    transition: transform 1s ease, -webkit-transform 1s ease;
    -webkit-transition-delay: 0.15s;
    -o-transition-delay: 0.15s;
    transition-delay: 0.15s;
    top: 0;
    width: 100%;
}

@media screen and (prefers-reduced-motion: reduce), (update: slow) {
    .card .image {
        -webkit-transition: none;
        -o-transition: none;
        transition: none;
    }
}

.card .text {
    position: relative;
    z-index: 10;
}

.card .title {
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.333;
    margin: 15px 0 0 0;
}

.card .subtitle {
    color: #fff;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    display: block;
}

.card .tag {
    position: relative;
    z-index: 3;
}

.card .date {
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: .1rem;
    line-height: 1.357;
    margin-top: .3rem;
}

.card .favorite {
    margin-bottom: auto;
    z-index: 3;
}

.cardLink {
    display: block;
    text-decoration: none;
}

.cardLink:after {
    content: '';
    cursor: pointer;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}

@media screen and (hover: hover) and (prefers-reduced-motion: no-preference) {
    .card:hover {
        padding-bottom: 39px;
    }
}

@media (hover: hover) {
    .card:hover .image {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1);
    }
}

@media screen and (hover: hover) and (prefers-reduced-motion: reduce), (hover: hover) and (update: slow) {
    .card:hover .image {
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }
}

/* isCarouselItem */
.card.isCarouselItem {
    padding-bottom: 10rem;
}

@media (min-width: 1024px) {
    .card.isCarouselItem {
        padding-bottom: 12.8rem;
    }
}

/* CardStyle.Medium */
@media (min-width: 1024px) {
    .cardMedium {
        padding: 26px 42px 27px 32px;
    }
}

.cardMedium .title {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
    margin-top: 1rem;
}

@media (min-width: 768px) and (max-width: 1023px) {
    .cardMedium .title {
        font-size: 3rem;
    }
}

.cardMedium .button {
    margin-top: 2rem;
}

/* CardStyle.Hero */
.cardHero {
    padding-left: calc(var(--outer-margin, 3.5vw) + var(--inner-margin, 5vw));
    padding-right: calc(var(--outer-margin, 3.5vw) + var(--inner-margin, 5vw));
}

.cardHero .title {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.1;
    margin: 11px 0 0 0;
}

.cardHero .title.short {
    max-width: 284px;
}

@media (min-width: 768px) {
    .cardHero .title.short {
        max-width: 412px;
    }
}

.cardHero .button {
    margin-top: 3rem;
}

.cardHero .subtitle {
    line-height: 1.43;
}

@media (min-width: 768px) {
    .cardHero {
        padding-top: 109px;
        padding-bottom: 109px;
    }
}

@media screen and (min-width: 768px) and (prefers-reduced-motion: no-preference) {
    .cardHero:hover {
        padding-top: 109px;
        padding-bottom: 109px;
    }
}

@media (min-width: 768px) {
    .cardHero .title {
        font-size: 8rem;
        line-height: 1;
        margin-top: 16px;
        margin-bottom: 6px;
    }

    .cardHero .subtitle {
        font-size: 1.8rem;
        line-height: 1.56;
    }
}

@media (min-width: 1440px) {
    .cardHero {
        padding-top: 204px;
        padding-bottom: 204px;
    }
}

@media screen and (min-width: 1440px) and (prefers-reduced-motion: no-preference) {
    .cardHero:hover {
        padding-left: calc(var(--outer-margin, 3.5vw) + var(--inner-margin, 5vw));
        padding-right: calc(var(--outer-margin, 3.5vw) + var(--inner-margin, 5vw));
        padding-top: 204px;
        padding-bottom: 204px;
    }
}

@media (min-width: 1440px) {
    .cardHero .title {
        margin-top: 2rem;
    }

    .cardHero .subtitle {
        font-size: 2.4rem;
        line-height: 1.417;
        margin-top: 1rem;
    }
}

.card.cardXLarge .tag {
    font-size: 1.1rem;
}

@media (min-width: 1440px) {
    .card.cardXLarge .subtitle {
        margin-top: .8rem;
    }

    .card.cardXLarge .title {
        font-size: 10rem;
        line-height: 1;
        margin-top: 3.1rem;
    }
}

@media (max-width: 767px) {
    .card.cardXLarge:before {
        top: 30%;
    }
}

.card.cardCentered {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.card-cta {
    font-size: 1.6rem;
    margin-bottom: 64px;
}

@media (min-width: 1024px) {
    .card-cta {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-bottom: 80px;
    }
}

.card-cta.full-bg {
    margin-right: 40px;
    color: white;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 442px;
    margin-bottom: 12.2rem;
}

@media (min-width: 1024px) {
    .display-mobile {
        display: none;
    }
}

@media (max-width: 767px) {
    .hide-mobile {
        display: none;
    }
}

@media (max-width: 767px) {
    .card-cta.full-bg {
        margin-left: -15px;
        margin-right: -15px;
        width: calc(100% + 30px);
        position: relative;
        font-weight: 500;
        height: 210px;
        margin-bottom: 3rem;
    }
}

.card-cta.full-width {
    height: var(--card-height-xlarge);
    margin-bottom: 0;
    margin-top: 80px;
}

.card-cta.full-width .title {
    font-size: 7rem;
}

@media (min-width: 768px) {
    .card-cta.full-width .title {
        font-size: 10rem;
    }
}

.card-cta.full-width .content {
    max-width: 80%;
}

@media (min-width: 768px) {
    .card-cta.full-width .content {
        max-width: 72rem;
    }
}

@media (max-width: 1023px) {
    .card-cta.full-bg img {
        margin-left: -32px;
        margin-right: -32px;
        max-width: calc(100% + 64px);
    }
}

.card-cta .image {
    height: 192px;
    height: 50vw;
    max-height: 320px;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.card-cta .content {
    width: 100%;
    position: relative;
    z-index: 1;
}

.card-cta dl {
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4;
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
    font-size: 1.2rem;
    display: inline-block;
    margin: 0 auto;
    max-width: 100%;
    font-weight: 400;
}

.card-cta dt, .card-cta dd {
    padding-left: 1.7rem;
    padding-right: 1.7rem;
    margin: 0;
    max-width: 25.9rem;
}

@media (min-width: 1200px) {
    .card-cta dt, .card-cta dd {
        padding-left: 8rem;
        padding-right: 8rem;
    }
}

.card-cta dt {
    position: relative;
    font-size: 1.6rem;
    margin-bottom: .4rem;
    font-weight: 700;
}

.card-cta dt::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 1.6rem;
    border-left: 1px solid #fff;
}

@media (min-width: 768px) {
    .card-cta dt {
        font-size: 3rem;
        margin-bottom: 1.2rem;
    }

    .card-cta dl {
        color: rgba(255, 255, 255, .8);
        font-size: 1.6rem;
        font-weight: 700;
    }

    .card-cta dt::before {
        border-width: 2px;
        height: 5.8rem;
    }
}

.card-cta dt:first-child::before {
    border: 0;
}

@media (min-width: 1024px) {
    .card-cta .image {
        height: 650px;
        max-height: none;
    }

    .card-cta .title {
        margin-top: 1.6rem;
        margin-bottom: 1.6rem;
    }

    .card-cta .button {
        margin-top: 2rem;
    }
}

.grid-small {
    overflow: hidden;
    width: 100%;
    /* --card-grid-small-row-count is declared in global CSS rules */
    --card-grid-small-item-width: calc(
            (100% / var(--card-grid-small-row-count, 3)) - var(--card-grid-item-gap)
    );
}

.grid-small .col {
    height: var(--card-height-small);
    margin-bottom: 3px;
    margin-right: var(--card-grid-item-gap);
    position: relative;
    width: 33.33%;
    width: var(--card-grid-small-item-width);
    min-width: var(--card-grid-small-item-width);
    max-width: var(--card-grid-small-item-width);
}

@media (min-width: 768px) {
    .grid-small .col {
        -webkit-box-flex: 1;
        -ms-flex: 1 0;
        flex: 1 0;
    }
}

@media (min-width: 1440px) {
    .grid-small .col {
        height: 451px;
    }
}

.grid-small .cardBackground::before {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, rgba(0, 0, 0, 0)), color-stop(110%, #000000));
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0) 30%, #000000 110%);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 30%, #000000 110%);
    content: '';
    display: block;
    height: 100%;
    left: 0;
    opacity: 0.5;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}

.grid-small .cardBackground {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 9px 8px 35px 8px;
    max-height: 100%;
    width: 100%;
}

.grid-small .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    margin-right: calc(var(--card-grid-item-gap) * -1);
}

.grid-small .card {
    color: white;
    font-weight: bold;
    height: 100%;
    letter-spacing: 0.4px;
    line-height: 1.2;
    overflow: hidden;
    text-decoration: none;
    text-transform: uppercase;
    width: 100%;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.grid-small .card span {
    position: relative;
    z-index: 2;
}

@media (max-width: 1023px) {
    .has_margin_on_mobile {
        margin-left: var(--outer-margin, 3.5vw);
        margin-right: var(--outer-margin, 3.5vw);
    }

    .has_padding_on_mobile {
        padding-left: var(--inner-margin, 5vw);
        padding-right: var(--inner-margin, 5vw);
    }
}

@media (min-width: 1024px) {
    .has_margin_on_desktop {
        margin-left: var(--outer-margin, 3.5vw);
        margin-right: var(--outer-margin, 3.5vw);
    }

    .has_padding_on_desktop {
        padding-left: var(--inner-margin, 5vw);
        padding-right: var(--inner-margin, 5vw);
    }

    .has_large_padding_on_desktop {
        padding-left: var(--wide-inner-margin, 21.1vw);
        padding-right: var(--wide-inner-margin, 21.1vw);
    }

    .has_top_margin_desktop {
        margin-top: 120px;
    }
}


.dropdown-menu {
    --text-color: #000;
    --background-color: #fff;
    color: var(--text-color);
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.5px;
    line-height: 1.2;
    position: relative;
    text-transform: uppercase;
}

@media (min-width: 1024px) {
    .dropdown-menu {
        letter-spacing: 1px;
        font-weight: 500;
    }
}

.dropdown-menu.isLight {
    --text-color: #fff;
    --background-color: #000;
}

.dropdown-menu.isLight .options {
    border-color: rgba(255, 255, 255, 0.2);
}

.dropdown-menu[data-alignment='left'] .options {
    left: 0px;
}

.dropdown-menu[data-alignment='right'] {
    text-align: right;
}

.has_dropdown .dropdown-menu[data-alignment='right'] {
    margin-left: auto;
}

.dropdown-menu[data-alignment='right'] .options {
    right: 0px;
}

.dropdown-menu .selected {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.dropdown-menu .selectedLabel {
    margin-right: 5px;
}

@media (min-width: 1024px) {
    .dropdown-menu .selectedLabel {
        font-size: 1.2rem;
    }
}

.dropdown-menu .options {
    background-color: var(--background-color);
    color: var(--text-color);
    border: solid 1px rgba(151, 151, 151, 0.2);
    margin-top: 5px;
    min-width: 152px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    text-align: left;
    top: 100%;
    -webkit-transition: opacity 0.2s ease-out;
    -o-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
    visibility: hidden;
    z-index: 3;
}

.dropdown-menu .options[data-is-open="true"] {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.dropdown-menu .option {
    cursor: pointer;
    padding: 12px 20px 10px;
    white-space: nowrap;
    letter-spacing: .5px;
    font-weight: bold;
}

.dropdown-menu .option:hover {
    background-color: var(--text-color);
    color: var(--background-color);
}

.has_dropdown {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}

.footer {
    color: #fff;
    padding-top: 60px;
    padding-bottom: 80px;
    position: relative;
    z-index: 5;
}

.footer .header {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 20px;
}

.footer .menu {
    list-style: none;
    padding: 70px 30px 20px;
}

.footer .menuItem {
    padding-bottom: 40px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: normal;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.footer .menuLink {
    color: #fff;
    text-decoration: none;
}

.footer .buttons {
    text-align: center;
    padding: 0 30px 50px;
}

.footer .buttons button,
.footer .buttons > a {
    width: 100%;
    margin-bottom: 22px;
}

.footer .copyright {
    margin-top: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    list-style: none;
}

.footer .copyrightLink {
    font-size: 1.2rem;
    letter-spacing: 0.5px;
    color: #fff;
    text-decoration: none;
}

@media (min-width: 1024px) {
    .footer {
        padding-top: 80px;
        padding-bottom: 64px;
    }

    .footer .header {
        line-height: 1.33;
    }

    .footer .row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .footer .newsletter {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 335px;
        flex: 0 0 335px;
    }

    .footer .links {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .footer .menu {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        padding: 0;
        margin-right: 100px;
    }

    .footer .menuItem {
        font-size: 1.4rem;
        letter-spacing: normal;
        line-height: 1.43;
        padding-bottom: 24px;
        text-align: left;
    }

    .footer .menuItem:last-child {
        padding-bottom: 0;
    }

    .footer .buttons {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 210px;
        flex: 0 0 210px;
        padding: 0;
    }

    .footer .additionalLinks {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding-top: 60px;
    }

    .footer .copyright {
        margin-top: 30px;
    }

    .footer .copyrightLink {
        margin-right: 96px;
        letter-spacing: normal;
    }
}


@media (max-width: 767px) {
    .footer {
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 26px;
        padding-right: 32px;
    }
}

.checkbox input[type='checkbox'] {
    position: absolute;
    height: 0;
    margin: 0;
    opacity: 0;
    outline: none;
    width: 0;
}

.boldLabel label {
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.9px;
    line-height: 1.33;
    padding-bottom: 12px;
    text-transform: uppercase;
}

.checkbox label {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.33;
    padding-left: 29px;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.checkbox label::before,
.checkbox label::after {
    content: '';
    display: inline-block;
    height: 14px;
    left: 0;
    position: absolute;
    top: 0;
    width: 14px;
}

.checkbox label::before {
    border: 1px solid #b2b2b2;
    border-radius: 2px;
}

.checkbox label::after {
    background: url("../img/checkboxChecked.svg") center no-repeat;
    background-size: 8px;
}

/* hidden */
.checkbox input[type='checkbox'] + label::after {
    content: none;
}

/* checked */
.checkbox input[type='checkbox']:checked + label::after {
    content: '';
}

/* focus */
.checkbox input[type='checkbox']:focus + label::before {
    border-color: black;
}

/* isLight: when rendered on dark backgrounds */
.checkbox.isLight {
    border-color: white;
}

.checkbox.isLight label::after {
    border-color: white;
    -webkit-filter: invert(100%);
    filter: invert(100%);
}

.checkbox.checkbox.isLight input[type='checkbox']:focus + label::before {
    border-color: white;
}

.formContainer {
    max-width: 735px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 768px) {
    .formContainer {
        margin-top: 40px;
        padding-left: 32px;
        padding-right: 32px;
    }
}

.formContainer form .content {
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 768px) {

    .formContainer .columns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .formContainer .columns .column {
        max-width: 50%;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    }

    .formContainer form .content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -2.1rem;
        margin-right: -2.1rem;
    }

    .formContainer form .content .column {
        padding-left: 2.1rem;
        padding-right: 2.1rem;
        max-width: 50%;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    }
}

.formContainer .footer {
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 1.5;
    margin-top: 6rem;
    padding-top: 4rem;
}

.formContainer.paymentForm .footer {
    margin-top: 0;
}

.formContainer .footer h3 {
    color: white;
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 16px;
    text-transform: uppercase;
}

@media (min-width: 1024px) {
    .formContainer .footer {
        text-align: center;
    }

    .formContainer .footer br {
        display: none;
    }
}

.field select {
    font-size: 1.4rem;
    font-weight: normal;
    display: block;
    line-height: 1.43;
    padding: 17px 16px;
    width: 100%;
    max-width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #d9d9d9;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0px;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-repeat: no-repeat;
    background-position: right .7em top 50%;
    background-size: .65em auto;
    background-color: transparent;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    color: white;
}

.field select:focus {
    background-color: black;
}

.field select::-ms-expand {
    display: none;
}

.field {
    position: relative;
    width: 100%;
}

.field .label {
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.33;
    padding-bottom: 8px;
    text-transform: uppercase;
}

.field .required .label::after {
    content: ' *';
}

.field .errorLabel {
    color: var(--error-label);
    display: block;
    font-size: 1.2rem;
    line-height: 1.33;
    margin-top: 8px;
}

.field input {
    border: 1px solid rgba(255, 255, 255, 0.6);
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1.43;
    outline: none;
    padding: 17px 16px;
    width: 100%;
    -webkit-transition: 300ms background;
    -o-transition: 300ms background;
    transition: 300ms background;
    color: white;
    background: transparent;
}

.field input:focus {
    background: black;
}

.field .input.isLight:not(.error) {
    border-color: white;
}

.field .input.isLight:-webkit-autofill {
    -webkit-text-fill-color: #fff;
    -webkit-box-shadow: 0 0 0 100px #000 inset;
    box-shadow: 0 0 0 100px #000 inset;
}

.field input::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.field input::-moz-placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.field input:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.field input:-moz-placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.field .error {
    display: inline-block;
    font-size: 14px;
    position: relative;
    z-index: 5;
    margin-top: 5px;
    padding: 10px;
    background: #fdd;
    color: #f33;
    text-align: center;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -moz-user-select: initial;
    -ms-user-select: initial;
    -webkit-user-select: initial;
    user-select: initial;
}

.field .error:after {
    content: '\0020';
    display: inline-block;
    border: solid transparent;
    border-bottom-color: #fdd;
    border-width: 10px;
    margin-left: -10px;
    position: absolute;
    bottom: 100%;
    left: 50%;
    pointer-events: none;
    width: 0;
    height: 0;
}

.paymentForm, .formConfirmation {
    color: #fff;
    max-width: 1151px;
    margin-top: 117px;
    padding-bottom: 6rem;
}

@media (min-width: 768px) {
    .paymentForm, .formConfirmation {
        margin-top: 15%;
    }
}

@media (min-width: 1280px) {
    .paymentForm {
        padding-left: 0;
        padding-right: 0;
    }
}

.paymentForm .content {
    background: transparent;
    padding: 0;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
}

@media (min-width: 768px) {
    .paymentForm .content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -20px;
        margin-right: -20px;
    }
}

.paymentForm .content p {
    font-size: 1.2rem;
    line-height: 1.33;
}

.paymentForm .title, .formConfirmation .title {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.1;
    margin-bottom: 3rem;
}

.paymentForm .title:before {
    content: "";
    display: block;
    height: 61px;
    width: 61px;
    margin-bottom: 20px;
    border: 1px solid #fff;
    border-radius: 50%;
    background: url(../img/lock.svg) no-repeat center center;
    background-size: 18px 24px;
}

@media (min-width: 1024px) {
    .paymentForm .title, .formConfirmation .title {
        font-size: 7rem;
        line-height: 1.43;
    }
}

.paymentForm .subtitle {
    color: #fff;
    font-size: 2.4rem;
    line-height: 1.45;
}

@media (min-width: 768px) {
    .paymentForm .subtitle {
        font-size: 3.2rem;
    }
}

.formConfirmation .title {
    margin-bottom: 2.4rem;
}

.formConfirmation .subtitle {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .18rem;
    padding-bottom: 2rem;
    margin-bottom: 2.4rem;
    margin-top: 4.2rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

@media (min-width: 768px) {
    .formConfirmation .subtitle {
        font-size: 2.4rem;
        letter-spacing: .24rem;
        padding-bottom: 3rem;
        margin-bottom: 4rem;
        margin-top: 6rem;
    }
}

@media (max-width: 767px) {
    .formConfirmation .subtitle {
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
    }
}

.paymentForm .formHeader {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    margin-bottom: 1.4rem;
}

.paymentForm .formHeader .translation_flags {
    padding-left: 2rem;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.paymentForm .intro {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.545;
}

.formConfirmation .intro {
    margin-bottom: 3rem;
    font-size: 1.8rem;
    line-height: 1.6667;
}

@media (min-width: 768px) {
    .paymentForm .intro, .formConfirmation .intro {
        font-size: 2.0rem;
    }
}

@media (max-width: 767px) {
    .paymentForm .intro {
        margin-bottom: 1rem;
    }
}


.paymentForm .form-copy > * {
    max-width: 45.9rem;
}

.paymentForm .field {
    margin-bottom: 2.4rem;
}

@media (min-width: 768px) {
    .paymentForm .field {
        padding-left: 20px;
        padding-right: 20px;
        margin-bottom: 4rem;
    }
}

@media (min-width: 768px) {
    .paymentForm .inputCC {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        max-width: 40%;
        padding-right: 10px;
    }
}

@media (min-width: 768px) {
    .paymentForm .inputCheck {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 10%;
        flex: 0 0 10%;
        max-width: 10%;
        padding-left: 10px;
    }
}

.paymentForm .inputRadio {
    border: 1px solid #d9d9d9;
    line-height: 1.43;
    padding: 17px 16px 17px 5px;
    width: 100%;
}

.paymentForm .buttons {
    margin-top: 48px;
}

@media (min-width: 1024px) {
    .paymentForm .buttons {
        margin-top: 16px;
    }
}

@media (max-width: 767px) {
    .paymentForm .buttons {
        text-align: center;
    }
}

.paymentForm .list-cc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    right: 40px;
    top: 4rem;
}

.paymentForm .list-cc li + li {
    margin-left: 10px;
}

.paymentForm .list-cc img {
    max-height: 20px;
}

.paymentForm .footer {
    text-align: left;
    background: none;
    border: 0;
    padding: 0 20px;
}

.paymentForm .footer p {
    margin-bottom: 0;
}

.signInForm .title {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.1;
    margin-bottom: 46px;
}

.signInForm .email {
    margin-bottom: 28px;
}

.signInForm .password {
    margin-bottom: 25px;
}

.signInForm .password a {
    color: rgba(255, 255, 255, 0.5);
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.9px;
    margin-top: 13px;
    text-transform: uppercase;
}

.signInForm .buttons {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 50px;
    text-align: center;
}

.signInForm .secondaryLink {
    color: white;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.8px;
    margin-top: 23px;
    text-decoration: none;
    text-transform: uppercase;
}

@media (min-width: 1024px) {
    .signInForm .title {
        font-size: 10rem;
        line-height: 1;
    }
}

.signUpForm {
    color: #fff;
    width: 100%;
    max-width: 1260px;
    margin-top: 60px;
    padding: 30px 20px;
    background: rgb(0, 0, 0, .6);
    border-radius: 7px;
}

@media (min-width: 768px) {
    .signUpForm {
        margin-top: 162px;
    }
}

@media (min-width: 1280px) {
    .signUpForm {
        margin-top: 40px;
    }
}

.signUpForm .subscriptions {
    margin-bottom: 30px;
}

@media (min-width: 768px) {
    .signUpForm .subscriptions {
        margin-bottom: 64px;
    }
}

.signUpForm .subscriptions ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-evenly;
    align-items: normal;
    list-style: none;
    padding: 0;
    margin: 0 -7px;
}

@media (max-width: 1023px) {
    .signUpForm .subscriptions ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

@media (min-width: 768px) {
    .signUpForm .subscriptions ul {
        margin: 0 -13px;
    }
}

.signUpForm .plan label {
    background-color: #fff;
    border: 0;
}

.signUpForm > .title {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.1;
    margin-bottom: 2.2rem;
}

.signUpForm .subtitle {
    color: #fff;
    font-size: 1.8rem;
    margin-bottom: 2rem;
}

@media (min-width: 1024px) {
    .signUpForm .subtitle {
        font-size: 2.4rem;
        margin-bottom: 4rem;
    }

    .signUpForm .content .subtitle {
        margin-bottom: 3rem;
    }
}

.signUpForm .intro {
    margin-bottom: 24px;
}

.field label {
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.33;
    padding-bottom: 8px;
    text-transform: uppercase;
}

.field .required label::after {
    content: ' *';
}

.field .errorLabel {
    color: var(--error-label);
    display: block;
    font-size: 1.2rem;
    line-height: 1.33;
    margin-top: 8px;
}

.signUpForm .email {
    margin-bottom: 28px;
}

.signUpForm .password {
    margin-bottom: 2.4rem;
}

.signUpForm .password span {
    color: #B2B2B2;
    display: block;
    font-size: 1.2rem;
    line-height: 1.33;
    margin-top: 8px;
}

.signUpForm .confirmAge {
    margin-bottom: 16px;
}

.signUpForm .terms,
.paymentForm .terms {
    font-size: 1.4rem;
    line-height: 2;
}

.signUpForm .terms a,
.paymentForm .terms a {
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: underline;
    color: currentColor;
}

.paymentForm .checkbox {
    margin-bottom: 2.4rem;
}

.checkbox.checkbox-addons {
    margin-bottom: 1.6rem;
}

.checkbox-addons label {
    font-size: 1.4rem;
    line-height: 2;
}

@media (min-width: 768px) {
    .paymentForm .checkbox {
        padding-left: 20px;
        padding-right: 20px;
        margin-bottom: 3rem;
    }

    .checkbox.checkbox-addons {
        margin-bottom: 1.9rem;
    }

    .checkbox.checkbox-last {
        margin-bottom: 3.8rem;
    }
}

.signUpForm .checkbox label::before,
.paymentForm .checkbox label::before {
    border-color: rgba(255, 255, 255, 0.6);
    border-radius: 0;
    width: 1.7rem;
    height: 1.7rem;
    top: .4rem;
}

.signUpForm .checkbox input[type='checkbox']:focus + label::before,
.paymentForm .checkbox input[type='checkbox']:focus + label::before {
    border-color: #fff;
}

.signUpForm .checkbox label::after,
.paymentForm .checkbox label::after {
    background-size: 1.2rem;
    left: .2rem;
    top: .4rem;
}

.signUpForm .buttons {
    margin-top: 48px;
}

@media (min-width: 1024px) {
    .signUpForm .buttons {
        margin-top: 2.4rem;
    }
}

@media (max-width: 767px) {
    .signUpForm .buttons {
        text-align: center;
    }
}

.signUpForm .secure {
    margin-top: 2rem;
}

.signUpForm .secondaryLink {
    color: white;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.8px;
    margin-top: 23px;
    text-decoration: none;
    text-transform: uppercase;
}

.signUpForm .footer {
    text-align: left;
}

.signUpForm .footer p {
    margin-bottom: 15px;
    max-width: 68.9rem;
}

@media (min-width: 1024px) {
    .signUpForm > .title {
        font-size: 10rem;
        line-height: 1;
        margin-bottom: 4rem;
    }
}


/*
This media query will help with responsive table layouts, the table headers will appear above in the :before to achieve this.
NOTE: td elements require the data-label attribute for this to work
*/
@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) {
    /* Force table to not be like tables anymore */
    .markup table,
    thead,
    tbody,
    th,
    td,
    tr {
        display: block;
    }

    .markup th {
        display: none;
    }

    /* Hide table headers (but not display: none;, for accessibility) */
    .markup thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .markup tr {
        border: 1px solid #ccc;
        border-top: 0;
    }

    .markup td {
        /* Behave  like a "row" */
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-top: 50px;
    }

    .markup td:before {
        /* Now like a table header */
        position: absolute;
        /* Top/left values mimic padding */
        top: 6px;
        left: 6px;
        padding-left: 10px;
        white-space: nowrap;
        content: attr(data-label);
        font-weight: bold;
    }
}

.menu-modal {
    background: #000;
    bottom: 0;
    color: #fff;
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    left: 0;
    opacity: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 30px 20px;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    width: 100vw;
    z-index: 300;
    -webkit-overflow-scrolling: touch;
}

.menu-open .menu-modal {
    opacity: 1;
    -webkit-transform: translateX(0%) translateZ(0px);
    transform: translateX(0%) translateZ(0px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media (max-height: 500px) {
    .menu-modal {
        padding-top: 85px;
    }
}

@media (min-width: 1024px) and (min-height: 768px) {
    .menu-modal {
        padding-top: 0;
    }
}

.menu-modal .menu {
    list-style: none;
    padding: 85px 30px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-height: 446px;
    min-height: 400px;
}

@media (min-width: 1024px) and (min-height: 768px) {
    .menu-modal .menu {
        padding: 20px 30px;
        display: block;
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none;
        max-height: none;
        min-height: auto;
    }
}

.menu-modal .menuItem {
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: normal;
    letter-spacing: 1px;
    text-transform: uppercase;
}

@media (min-width: 1024px) and (min-height: 768px) {
    .menu-modal .menuItem {
        font-size: 3em;
        margin-bottom: 58px;
        margin-top: 58px;
    }

    .menu-modal .menuItemBtn {
        margin-top: 0;
        margin-bottom: 0;
    }
}

.menu-modal .menuLink {
    color: #fff;
    text-decoration: none;
    -webkit-transition: opacity 0.125s linear;
    -o-transition: opacity 0.125s linear;
    transition: opacity 0.125s linear;
}

.menu-modal .menuLink:hover {
    opacity: 0.67;
}

.menu-modal .button {
    max-width: 255px;
    width: 100%;
    margin-bottom: 12px;
    margin-top: 12px;
}

.menu-horiz {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem;
    font-weight: 500;
    margin-bottom: 60px;
    margin-top: 48px;
    overflow-x: auto;
}

.menu-horiz::-webkit-scrollbar {
    display: none;
}

@media (min-width: 1024px) {
    .menu-horiz {
        margin-bottom: 30px;
        margin-top: 0;
    }
}

.menu-horiz a {
    color: #7F7F7F;
    text-decoration: none;
    display: block;
}

.menu-horiz li {
    padding-bottom: 12px;
    border-bottom: 1px solid transparent;
    white-space: nowrap;
}

.menu-horiz li.active {
    border-bottom-color: #000;
}

.menu-horiz li.active > a {
    color: #000;
}

.menu-horiz li + li {
    margin-left: 3.4rem;
}

@media (min-width: 768px) {
    .menu-horiz li + li {
        margin-left: 8rem;
    }
}

.subMenuContainer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 350;
    padding-top: 85px;
    height: 100vh;
    max-width: 100vw;
    overflow-y: auto;
    background: black;
    color: white;
    -webkit-overflow-scrolling: touch;
}

.modal .headerWrapper {
    height: 85px;
}

.modal .header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 301;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 20px 0 30px;
    height: 85px;
}

.modal .header:after {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 85px;
    background-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0)));
    background-image: -o-linear-gradient(top, black, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to bottom, black, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
    z-index: 302;
}

.modal .onlyBack {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.modal .onlyClose {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.modal button {
    display: block;
    z-index: 303;
    line-height: 0;
    color: #fff;
}

/* Render empty block with the same height as navigation bar
 This way it doesn't hide the initial content at the top of a page */
.container:not(.isOverlay) {
    height: 85px;
}

.navigation {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff;
    color: #000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    height: 85px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    left: 0;
    padding: 0 20px 0 24px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 200;
    /* isSticky */
    /* isActive */
    /* isDark */
    /* isOverlay and isDark */
}

.navigation:after {
    background: #fff;
    bottom: 0;
    content: '';
    display: block;
    left: 0;
    opacity: 0.000000001;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: opacity 0.21s ease-in-out, -webkit-transform 0.21s ease-in-out;
    transition: opacity 0.21s ease-in-out, -webkit-transform 0.21s ease-in-out;
    -o-transition: transform 0.21s ease-in-out, opacity 0.21s ease-in-out;
    transition: transform 0.21s ease-in-out, opacity 0.21s ease-in-out;
    transition: transform 0.21s ease-in-out, opacity 0.21s ease-in-out, -webkit-transform 0.21s ease-in-out;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    z-index: -1;
}

.navigation.isSticky:not(.isDark) {
    color: black;
    -webkit-transition: color 0.55s cubic-bezier(0.075, 0.82, 0.165, 1);
    -o-transition: color 0.55s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: color 0.55s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.navigation.isSticky:not(.isDark)::after {
    opacity: 0.999999999;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: opacity 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    transition: opacity 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
    -o-transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out;
    transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out;
    transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out, -webkit-transform 0.35s ease-in-out;
}

.navigation.isActive {
    color: #fff;
}

.navigation.isActive .logo {
    border-right: none;
}

.navigation a {
    color: inherit;
}

.navigation .logo {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    height: 40px;
    opacity: 1;
    position: relative;
    -webkit-transition: opacity 0.3s ease-out;
    -o-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
    z-index: 210;
}

@media (min-width: 768px) {
    .navigation .logo {
        padding-right: 34px;
    }

    .navigation .logo svg {
        width: 26px;
        height: 40px;
    }
}

@media (min-width: 768px) {
    .navigation .logo.hasBorder {
        border-right: 1px currentColor solid;
    }
}

.navigation .logo.isHidden {
    opacity: 0;
    visibility: hidden;
}

.navigation .center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.navigation .header {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.8px;
    line-height: 1.35;
    padding-left: 20px;
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .navigation .header {
        letter-spacing: 0.2px;
    }
}

.navigation .toggleMenu {
    height: 24px;
    width: 24px;
    position: relative;
    display: block;
}

.navigation .toggleMenu > * {
    position: absolute;
    top: 0;
    left: 0;
}

.navigation .icons {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 210;
}

.navigation .icons a {
    width: 24px;
    height: 24px;
    padding: 4px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.navigation .icons > * {
    margin-left: 8px;
}

.navigation .icons svg {
    display: block;
    /* Hide dot indicator if cart is empty */
}

.navigation .icons svg[data-is-empty='true'] circle {
    opacity: 0;
}

.navigation.isDark {
    position: absolute;
}

.navigation.isDark.isSticky {
    position: fixed;
}

.isOverlay .navigation, .navigation.isDark {
    color: #fff;
    background-color: transparent;
}

.navigation.isDark {
    background-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0)));
    background-image: -o-linear-gradient(top, black, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to bottom, black, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}

.isOverlay .navigation:before {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.43)), to(rgba(0, 0, 0, 0)));
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.43), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.43), rgba(0, 0, 0, 0));
    bottom: 0;
    content: '';
    display: block;
    left: 0;
    opacity: 1;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: opacity, background 0.3s ease-out;
    -o-transition: opacity, background 0.3s ease-out;
    transition: opacity, background 0.3s ease-out;
    z-index: -2;
}

.loadMoreButton {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 46px auto 48px;
}

#main {
    outline: none;
}

#main:focus-visible {
    outline: auto;
}

.form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 18px 20px 18px 16px;
    border: 1px #d9d9d9 solid;
}

.form .input,
.form .button {
    background: transparent;
    border: 0;
    padding: 0;
    outline: none;
    color: #fff;
    line-height: 18px;
}

.form .input {
    width: 100%;
    padding-right: 10px;
    font-size: 1.4rem;
}

.form .input::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.form .input::-moz-placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.form .input:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.form .input::-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.form .input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.form .button {
    cursor: pointer;
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
}

.section-title {
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    padding-top: 3rem;
    margin-top: 4rem;
    margin-bottom: 2rem;
    font-size: 2.4rem;
    line-height: 1.2;
    font-weight: 700;
}

@media (min-width: 768px) {
    .section-title {
        font-size: 3.6rem;
        padding-top: 8rem;
        margin-bottom: 6rem;
        margin-top: 10rem;
    }
}

@media (max-width: 767px) {
    .section-title {
        margin-left: -15px;
        margin-right: -15px;
    }
}

.section-subtitle {
    margin-top: 4rem;
    margin-bottom: 2.4rem;
    font-size: 1.6rem;
    font-weight: 500;
}

@media (min-width: 768px) {
    .section-subtitle {
        margin-top: 6rem;
    }
}

.searchInput {
    width: 100%;
    height: auto;
    padding: 0;
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
    border: none;
    outline: none;
    font-size: 6rem;
    font-weight: bold;
    color: white;
    background: transparent;
    font-family: 'PlayboyVisuelt', -apple-system, BlinkMacSystemFont, 'Segoe UI',
    'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans',
    'Helvetica Neue', sans-serif;
}

@media (min-width: 1024px) {
    .searchInput {
        font-size: 10rem;
    }
}

.searchInput:-webkit-autofill {
    -webkit-text-fill-color: #fff;
    -webkit-box-shadow: 0 0 0 100px #000 inset;
    box-shadow: 0 0 0 100px #000 inset;
}

@media (max-width: 1024px) {
    .smallInputText {
        font-size: 2.5rem;
        padding-top: 30px;
    }

    .mediumInputText {
        font-size: 3.7rem;
        padding-top: 20px;
    }

    .largeInputText {
        font-size: 6rem;
        padding-top: 5px;
    }
}

.share {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 24px;
    bottom: 0;
    color: #4c4c4c;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 48px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    overflow: hidden;
    text-align: center;
    -webkit-transition: height 0.25s ease;
    -o-transition: height 0.25s ease;
    transition: height 0.25s ease;
    width: 48px;
    /* Toggle */
}

.share .services {
    display: none;
    width: 24px;
}

.share a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: white;
    border-radius: 3px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    height: 24px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.share a:first-child {
    margin-bottom: 24px;
}

.share.isOpen {
    background-color: #b2b2b2;
    border: solid 1px #b2b2b2;
    color: white;
    height: 138px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    opacity: 1;
    padding-top: 17px;
}

.share.isOpen .services {
    display: block;
}

.share.isOpen svg {
    fill: #b2b2b2;
}

.share .toggle {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 48px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.share .closed {
    font-size: 3rem;
    height: 100%;
    letter-spacing: -1px;
    line-height: 100%;
    padding-bottom: 44px;
    width: 100%;
}

.shareBorder {
    stroke-width: 1.5px;
    fill: transparent;
}

.shareDot {
    fill: currentColor;
}

.shareLight {
    color: #fff;
}

.slideshow {
    position: relative;
    z-index: 0;
}

.social-icons {
    background: #000;
    text-align: center;
}

.social-icons a {
    display: inline-block;
    margin-left: 24px;
}

.social-icons a:first-child {
    margin-left: 0;
}

@media (min-width: 1024px) {
    .social-icons a {
        margin-left: 32px;
    }
}

.subscriptions .plan {
    min-height: 280px;
    padding: 0 2px 0;
    position: relative;
    flex: 0 0 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

@media (min-width: 768px) {
    .subscriptions .plan {
        padding: 0 13px 0;
    }
}

/* Change this to 25% when there are 4 options available */
@media (min-width: 1024px) {
    .subscriptions .plan {
        flex: 0 0 25%;
    }
}

.subscriptions .plan label {
    border: solid 1px #d9d9d9;
    border-radius: 4px;
    color: #2A2A2A;
    display: block;
    margin-bottom: 15px;
    min-height: 84px;
    padding: 40px 15px 63px;
    position: relative;
    text-decoration: none;
    height: 100%;
    width: 100%;
    transition: 400ms;
}

@media (min-width: 768px) {
    .subscriptions .plan label {
        padding: 59px 45px 82px;
        margin-bottom: 40px;
    }
}

@media (min-width: 1024px) and (max-width: 1199px) {
    .subscriptions .plan label {
        padding: 59px 20px 82px;
    }
}

@media (min-width: 1200px) {
    .subscriptions .plan label {
        padding: 59px 45px 82px;
    }
}

@media (max-width: 360px) {
    .subscriptions .plan label {
        padding: 20px 15px 92px;
    }
}

.subscriptions .plan.input-checked label {
    color: #fff;
    background-color: rgba(0, 0, 0, 0.5);
    border: 2px solid rgba(255, 255, 255, 0.31);
    position: relative;
}

@media (min-width: 1024px) {
    .subscriptions .plan.input-checked label {
        top: -2.7rem;
        bottom: -3.3rem;
        height: auto;
        min-height: 100%;
        position: absolute;
        width: 92% !important;
        padding-top: 7.4rem;
    }
}

#mainheader.active {
    background: #FFFFFF;
    opacity: 0.5;
}

.subscriptions li.best label:after {
    background: #c53800;
    color: #fff;
    content: "Best Value";
    position: absolute;
    display: block;
    top: 40px;
    right: 10px;
    padding: 4px 5px 1px;
    font-weight: 500;
    font-size: 1rem;
    text-transform: uppercase;
    line-height: 1.2rem;
    transform: scale(1);
    animation: pulse 2s infinite;
}

.subscriptions .plan.input-checked label:after {
    top: 40px;
}

@media (max-width: 400px) {
    .subscriptions li.best label:after {
        top: 30px;
        right: 15px;
    }

    .subscriptions .plan.input-checked label:after {
        top: 15px;
    }
}

@media (min-width: 768px) {
    .subscriptions li.best label:after {
        top: 68px;
        right: 20px;
    }

    .subscriptions .plan.input-checked label:after {
        top: 50px;
    }
}

@media (min-width: 1024px) and (max-width: 1199px) {
    .subscriptions li.best label:after {
        top: 40px;
        left: 20px;
        right: auto;
    }
}

@media (min-width: 1200px) {
    .subscriptions .plan.input-checked label:after {
        top: 55px;
    }
}

.subscriptions .plan.input-checked label:after {
    background: #ffde00;
    color: #000;
    transform: scale(1);
    animation: pulse-light 2s infinite;
}


.subscriptions .plan input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.subscriptions var {
    font-style: normal;
}

.subscriptions .plan.input-checked .button {
    background-color: #fff;
    color: #000;
}

.subscriptions .title {
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.333;
    margin-bottom: 1.8rem;
}

@media (min-width: 768px) {
    .subscriptions .title {
        font-size: 3rem;
        margin-bottom: 5.7rem;
    }
}

.subscriptions .plan.input-checked .title {
    margin-bottom: 3rem;
}

.subscriptions .title .line3 {
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .86px;
}

.subscriptions .price {
    display: block;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 15px;
}

.subscriptions .price .term {
    font-size: 1.2rem;
    font-weight: 300;
    letter-spacing: .86px;
    padding-left: 5px;
}

@media (max-width: 767px) {
    .subscriptions .price .term {
        display: block;
    }
}

@media (min-width: 768px) {
    .subscriptions .price {
        font-size: 3.6rem;
        margin-bottom: 10px;
    }
}

.subscriptions .description {
    display: block;
    font-size: 1.2rem;
    letter-spacing: .86px;
    line-height: 1.33;
    max-width: 187px;
    margin: 0 0 28px;
}

@media (max-width: 767px) {
    .subscriptions .description-sm {
        font-size: 1rem;
    }
}

.subscriptions .description strong {
    text-transform: uppercase;
    color: #FF0000;
    display: block;
    margin-bottom: .8rem;
}

.subscriptions .button {
    position: absolute;
    bottom: 27px;
    left: 19px;
    width: 127px;
}

@media (min-width: 768px) {
    .subscriptions .button {
        left: 50%;
        bottom: 30px;
        width: 164px;
        margin-left: -82px;
    }
}

@media (max-width: 767px) {
    .subscriptions .button {
        font-size: 1rem;
        height: 36px;
        padding-left: 0;
        padding-right: 0;
    }
}

@media (max-width: 400px) {
    .subscriptions .button {
        left: 15px;
        right: 15px;
        width: 100px;
    }
}

.disclaimer-plans {
    color: rgba(255, 255, 255, .8);
    font-size: 1.4rem;
    font-weight: 300;
    line-height: 2;
    letter-spacing: .86px;
    padding-bottom: 1rem;
}

.signUpForm .disclaimer-plans {
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    margin-top: 3rem;
}

@media (max-width: 767px) {
    .signUpForm .disclaimer-plans {
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.disclaimer-plans p {
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .disclaimer-plans {
        padding-bottom: 3.7rem;
        margin-top: 3rem;
    }

    .signUpForm .disclaimer-plans {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        -webkit-column-gap: 40px;
        -moz-column-gap: 40px;
        column-gap: 40px;
    }
}

@media (min-width: 1200px) {
    .no-break {
        -webkit-column-break-inside: avoid;
        page-break-inside: avoid;
        break-inside: avoid;
        display: inline-block;
    }
}

.disclaimer-plans strong {
    color: rgba(255, 255, 255, 1);
}

.tag {
    -ms-flex-item-align: start;
    align-self: flex-start;
    color: #fff;
    display: inline-block;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.8px;
    line-height: 1.2;
    padding: 4px 9px 2px;
    text-transform: uppercase;
    text-decoration: none;
}

.tag:not([class*='bg-']) {
    background: #000;
}

.tag.isLight {
    background: #fff;
    color: #000;
}

.payment {
    margin: 10px 0 0;
}

.payment ul > li {
    display: block;
    margin: 0 0 25px;
}

.payment ul > li > label input {
    margin: 0 3rem 0 0;
    vertical-align: middle;
}

.payment .label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.payment label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.payment label:after {
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
}

.credit-card label:after {
    background-image: url(../img/credit-cards.png);
    height: 30px;
    width: 116px;
}

.echeck label:after {
    background-image: url(../img/check.png);
    height: 27px;
    width: 40px;
}

.paypal label:after {
    background-image: url(../img/paypal.png);
    height: 30px;
    width: 116px;
}

.other-payment label:after {
    background-image: url(../img/epoch.png);
    height: 30px;
    width: 116px;
}

.paymentForm-title {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: .18rem;
    padding-left: 3.3rem;
    position: relative;
    margin-bottom: 3rem;
}

.paymentForm-title::before {
    content: "";
    background: url(../img/lock-v2.svg);
    background-size: contain;
    position: absolute;
    left: 0;
    top: 0;
    width: 13px;
    height: 16px;
}

@media (min-width: 768px) {
    .paymentForm-title {
        padding-left: 5.3rem;
        margin-bottom: 3.5rem;
    }

    .paymentForm-title::before {
        left: 20px;
    }
}

.field.exp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -ms-grid-row-align: flex-start;
    align-items: flex-start;
    position: relative;
    padding-top: 2.3rem;
}

.field.exp label {
    position: absolute;
    top: 0;
    left: 20px;
}

.field.exp #enddate_month {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 43%;
    flex: 0 0 43%;
}

.field.exp #enddate_year, .field.exp .cvv {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 24%;
    flex: 0 0 24%;
}

.field.exp .cvv {
    margin-bottom: 0;
    padding: 0;
}

.field.exp .cvv label {
    margin-top: -20px;
}

.field.exp .sep {
    display: none;
}

.field .popup-link {
    color: #B2B2B2;
    display: block;
    font-size: 1.2rem;
    line-height: 1.33;
    margin-top: 8px;
}

.account-details {
    font-size: 1.6rem;
    color: #B3B3B3;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .account-details {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .account-details .column {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (max-width: 767px) {
    .account-details .column + .column {
        margin-top: 3rem;
    }
}

.account-details dl {
    margin: 0;
}

.account-details dt, .account-details h3 {
    color: #fff;
    margin-bottom: .6rem;
    text-transform: uppercase;
    letter-spacing: .13rem;
    font-size: 1.3rem;
    line-height: 1.23;
    font-weight: 500;
}

@media (min-width: 768px) {
    .account-details dt, .account-details h3 {
        font-size: 1.4rem;
        letter-spacing: .15rem;
        margin-bottom: 1.5rem;
    }
}

.account-details dd {
    margin: 0;
}

.account-details dd + dt {
    margin-top: 3rem;
}

@media (min-width: 768px) {
    .account-details dd + dt {
        margin-top: 4rem;
    }
}

.account-details p {
    line-height: 1.625;
}

@media (max-width: 767px) {
    .account-details p {
        font-size: 1.4rem;
    }
}

.account-details .list-details {
    padding: .9rem 0 .9rem 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 2.2rem;
}

.list-details dt {
    color: #B3B3B3;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
}

.list-details dd {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.account-details .list-details dt, .account-details .list-details dd {
    line-height: 1.385;
    font-size: 1.3rem;
    margin-top: 2.2rem;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .account-details .list-details dt, .account-details .list-details dd {
        margin-top: 2.5rem;
    }

    .list-details dd div:first-child {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 66.6667%;
        flex: 0 0 66.6667%;
        max-width: 66.6667%;
    }
}


@media (min-width: 1024px) {
    .list-details dt {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6667%;
        flex: 0 0 16.6667%;
        max-width: 16.6667%;
    }

    .list-details dd {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 83.3333%;
        flex: 0 0 83.3333%;
        max-width: 83.3333%;
    }
}


.list-details dt.active, .list-details dd.active {
    color: #fff;
    font-weight: 500;
}

.list-details dt {
    font-weight: 400;
}

.list-details dt.active {
    position: relative;
}

.list-details dt.active::before {
    content: "";
    position: absolute;
    left: -2.1rem;
    top: .2rem;
    background: url(../img/red-arrow-right.svg) no-repeat;
    background-size: contain;
    height: 1.2rem;
    width: 1.2rem;
}

@keyframes pulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}

@keyframes pulse-light {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

.read-more-state {
    display: none;
}

@media (max-width: 1023px) {
    .read-more-target {
        opacity: 0;
        max-height: 0;
        font-size: 0;
        transition: .25s ease;
    }

    .read-more-state:checked ~ .read-more-wrap .read-more-target {
        opacity: 1;
        font-size: inherit;
        max-height: 999em;
    }

    .read-more-state ~ .read-more-trigger:before {
        content: 'show more';
    }

    .read-more-state:checked ~ .read-more-trigger:before {
        content: 'show less';
    }

    .read-more-trigger {
        cursor: pointer;
        display: inline-block;
        padding: .1em .8em;
        color: #CCC;
        font-size: .8em;
        line-height: 2;
        border: 1px solid #ddd;
        border-radius: .25em;
        min-width: 75px;
    }
}