body {
    color: #000;
}

h1,h2 {
    font-weight: 800;
}

.h3 {
    font-size: 22px;
    line-height: 1.5;
}

.text-weight-heavy {
    font-weight: 800;
}

.text-weight-light {
    font-weight: 300;
}

.text-weight-normal {
    font-weight: 500 !important;
}

.text-medium,
.text-large {
    margin: 6% 0;
}

.text-medium {
    font-size: 30px;
}

.text-xl {
    font-size: 95px;
}

.fg-white {
    color: #fff;
}

.fg-text-light {
    color: #d8d8d8;
}

.fg-black {
    color: #000;
}

.fg-blue {
    color: #1277c9;
}

.fg-purple {
    color: #6441ff;
}

.fg-text-dark {
    color: #444343;
}

.bg-black {
    background: #000;
}

.bg-gray {
    background: #f2f3f8;
}

.bg-purple {
    background: #6441ff;
}

.bg-blue {
    background: #42a7ff;
}

.bg-white {
    background: #fff;
}

.bg-pink {
    background: #DF3AFF;
}

.fg-pink {
    color: #DF3AFF;
}

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

.no-margin-all {
    margin: 0 !important;
}

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

.no-margin-bottom {
    margin-bottom: 0 !important;
}

.no-padding-all {
    padding: 0 !important;
}

.no-padding-top {
    padding-top: 0 !important;
}

.no-padding-bottom {
    padding-bottom: 0 !important;
}

.no-padding-vertical {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.no-padding-horizontal {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.no-padding-top {
    padding-top: 0 !important;
}

.margin-vertical-medium {
    margin: 5% 0;
}

.margin-vertical-large {
    margin: 8% 0;
}

.margin-top-large {
    margin-top: 8%;
}


.margin-bottom-small {
    margin-bottom: 7.5% !important;
}

.cp-wrap {
    display: block;
    position: relative;
    margin-top: 70px;
    background: #f2f3f8;
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
}

.cp-wrap .content-block h2 {
    font-size: 25px;
    line-height: 32px;
}

.cp-wrap .content-block .cp-graphic-wrap h2 {
    font-size: 20px;
    line-height: 28px;
}

.cp-wrap .cp-branding .content-block h2.subtitle {
    font-size: 20px;
    line-height: 28px;
}

.cp-wrap h2,
.cp-wrap p {
    font-family: 'Varela Round', sans-serif;
}

.content-block {
    margin: 0 auto;
    max-width: 1300px;
    padding: 7.5%;
    overflow: hidden;
}

.inner-content-block {
    margin: 0 auto 15%;
    padding: 0;
    max-width: 760px;
}

.content-block.header {
    max-width: 1300px;
}

.content-block p {
    font-size: 18px;
    line-height: 36px;
}

.content-block p small {
    line-height: 26px;
}

.content-block p.info {
    font-size: 27px;
    line-height: 38px;
}

.content-block.fg-text-light p a {
    text-decoration: underline;
    color: #d8d8d8;
}

.content-block.fg-text-light p a:hover {
    color: #d8d8d8;
}

.content-block-graphic {
    margin: 0 auto;
}

.content-block-graphic.timer {
    max-width: 175px;
}


.content-block-graphic.mobile-device {
    max-width: 200px;
}


.content-block-graphic img {
    max-width: 100%;
    height: auto;
}

.cp-graphic-wrap + .cp-graphic-wrap {
    margin-top: 15%;
}

.content-block-graphic + .content-block-graphic {
    margin-top: 50px;
}

.cp-icon-wrap {
    padding-bottom: 7.5%;
}

section.cp-header .container {
    background: url(../images/pricing-header-bg-icons.svg) no-repeat;
}

.cp-header h2 span {
    padding-top: 10px;
    text-transform: uppercase;
    font-size: 15px;
    font-style: italic;
}

section.cp-header .container:after {
    content: '';
    display:block;
    width: 100%;
    height: 95px;
    background: #6441ff;
    margin-top: -85px;
}

.button-wrap a.btn:active,
.button-wrap a.btn:focus,
.button-wrap a.btn:hover {
    text-decoration: none;
    color: #fff;
    background: #0096C0;
}

.cp-intro .btn-wrap,
.cp-branding .btn-wrap {
    margin: 7.5% auto;
    width: 300px;
}

.cp-intro .btn-wrap .btn,
.cp-branding .btn-wrap .btn {
    display: block;
    padding: 18px 0;
    border: 5px solid #fff;
    color: #fff;
    width: 100%;
    border-radius: 9999px;
    font-weight: 600;
    font-size: 18px;
}

.cp-intro .btn-wrap .btn,
.cp-branding .btn-wrap .btn {
    background: #7151ff;
}

.cp-intro .btn-wrap .btn:hover,
.cp-branding .btn-wrap .btn:hover {
    background: #5838E6;
    text-decoration: none;
}


section.pricing-features {
    padding-top: 30px;
}

ul.list-features {
    display: flex;
    margin: 45px 0;
    padding: 0;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style-type: none;
}


ul.cp-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.cp-list li {
    margin-bottom: 18%;
    width: 100%;
}

ul.cp-list li img {
    width: 40%;
}

ul.cp-list li h2 {
    font-family: 'Varela Round', sans-serif;
    font-size: 30px;
    font-weight: 500;
    margin: 30px 0;
}

ul.cp-list li p a,
.list-faqs p a {
    color: #000;
    text-decoration: underline;
}

ul.cp-list .btn-wrap {
    margin: 30px 0;
}

ul.cp-list .btn-wrap a.btn {
    display: block;
    margin: 0 auto;
    padding: 15px 0;
    width: 100%;
    max-width: 50%;
    font-size: 15px;
    color: #fff;
    border: 4px solid #fff;
    border-radius: 9999px;
}

ul.cp-list .btn-wrap a.btn:hover {
    text-decoration: none;
    cursor: pointer;
}

.more-icon-wrap {
    margin: 0 auto;
    max-width: 25%;
}

.icp-more-wrap h2 {
    font-size: 2rem;
    font-weight: 400;
}

.icp-more-wrap ul.more-items {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    margin: 45px 0 0;
    padding: 0;
    list-style-type: none;
    text-align: left;
}

.icp-more-wrap ul.more-items li {
    position: relative;
    margin-bottom: 20px;
    padding-left: 40px;
    width: 100%;
}

.icp-more-wrap ul.more-items li:before {
    content: '';
    background: url(../images/pricing-blue-checkmark.svg) no-repeat 0 0/cover;
    position: absolute;
    top: 8px;
    left: 0;
    width: 19px;
    height: 14px;
}

.content-block p.smaller {
    font-size: 14px;
    line-height: 24px;
}

section.parties-pricing,
section.pricing-payroll {
    position: relative;
    padding-top: 0;
    overflow: hidden;
    border-bottom: 12px solid #fff;
    color: #fff;
}

section.parties-pricing {
    background: linear-gradient(to right, #b10097 0%, #7a00b7 100%);
}

section.pricing-payroll {
    background: linear-gradient(to right, #00af00 -10%, #007eae 100%);
}

.party-text-wrap,
.payroll-text-wrap {
    display: block;
    width: 100%;
    margin-bottom: 50px;
}

.party-text-wrap h2,
.payroll-text-wrap h2 {
    font-size: 7vw;
    margin-bottom: 20px;
}

.party-text-wrap,
.payroll-text-wrap  {
    text-align: center;
}

section.pricing-vip {
    border-bottom: 12px solid #fff;
}

section.pricing-vip .content-block {
    padding-bottom: 0;
}

section.pricing-vip .text-wrap h1 {
    font-size: 7vw;
    margin-bottom: 20px;
}

section.pricing-vip .vip-image-wrap {
    margin-bottom: -9px;
    max-width: 100%
}

section.pricing-vip .vip-image-wrap img {
    width: 100%;
    height: auto;
}

ul.list-faqs {
    padding: 0;
    list-style-type: none;
}

ul.list-faqs li {
    margin-bottom: 90px;
}

ul.list-faqs li h2 {
    margin-bottom: 20px;
    font-size: 5vw;
}

ul.list-faqs li ul {
    list-style-type: disc;
}

ul.list-faqs li ul li {
    margin-bottom: 15px;
    font-size: 18px;
    line-height: 36px;
}

.subtitle + p {
    margin-top: 5%;
}

.mobile-screens {
    margin: 0 auto;
    max-width: 1393px;
}

.kiosk-screen-bg {
    background: url(../../images/plus/gradient-bg.jpg) repeat-x;
    width: 100%;
    height: 100%;
}

.kiosk-screen {
    margin: 0 auto;
    max-width: 1046px;
}

ul.features,
ul.questions,
ul.roadmap-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.features li {
    display: block;
    margin-bottom: 18%;
}

ul.features li:nth-child(1) h2 {
    color: #f6d87e;
}

ul.features li:nth-child(2) h2 {
    color: #02b8cd;
}

ul.features li:nth-child(3) h2 {
    color: #f2b73f;
}

ul.features li:nth-child(3) .image-wrap {
    width: 50%;
}

ul.features li:last-child {
    margin-bottom: 0;
}

.image-wrap {
    margin: 0 auto;
    width: 75%;
}

.image-wrap img {
    width: 100%;
    height: auto;
}

.image-wrap.has-max-width {
    max-width: 20%;
}

.image-wrap + .image-wrap {
    padding-top: 45px;
}

.image-wrap.device {
    margin: 8% auto;
}

@media only screen and (max-width: 767px) {
    .hidden-xs {
        display: none !important;
    }
}

@media only screen and (min-width: 768px) {
    .has-max-width-45 {
        max-width: 45%;
    }

    section.cp-header .container:after {
        height: 225px;
        margin-top: -150px;
    }

    .cp-header h2 span {
        padding-top: 0;
        font-size: 22px;
    }

    .content-block-graphic.mobile-device {
        max-width: 400px;
    }

    ul.cp-list {
        display: flex;
        justify-content: space-around;
        flex-direction: row;
        flex-wrap: wrap;
    }

    ul.cp-list li {
        margin: 0 0 7.5%;
        padding: 0;
        width: 40%;
    }

    ul.cp-list li img {
        width: 50%;
    }

    ul.cp-list li img.has-min-height {
        min-height: 222px;
    }

    section.cp-timer ul.cp-list {
        margin-bottom: 7.5%;
    }

    ul.list-features {
        margin: 90px 0;
    }

    ul.list-features li {
        width: 47%;
    }

    ul.list-features li:last-child {
        margin: 0 auto;
    }

    .icp-more-wrap ul.more-items {
        margin: 90px 0 0;
    }

    .icp-more-wrap ul.more-items li {
        width: 50%;
    }

    .more-icon-wrap {
        max-width: 15%;
    }

    section.pricing-features .button-wrap,
    section.pricing-faqs .button-wrap {
        margin: 10% auto 0;
        max-width: 40%;
    }

    section.parties-pricing,
    section.pricing-payroll {
        padding-top: 25%;
    }

    .party-text-wrap {
        position: absolute;
        top: 50%;
        left: 10%;
        width: 40%;
        transform: translateY(-50%);
        text-align: left;
    }

    .party-image-wrap {
        position: absolute;
        bottom: -54px;
        right: 10%;
        width: 36%;
    }

    .payroll-text-wrap {
        position: absolute;
        top: 50%;
        right: 10%;
        width: 42%;
        transform: translateY(-50%);
        text-align: left;
    }

    .party-text-wrap h2,
    .payroll-text-wrap h2,
    .pricing-vip .text-wrap h1 {
        font-size: 5vw;
    }

    .party-text-wrap p,
    .payroll-text-wrap p {
        font-size: 18px;
        line-height: 36px;
    }

    .payroll-image-wrap {
        position: absolute;
        bottom: 0;
        left: -130px;
        width: 50%;
        height: auto;
    }

    ul.list-faqs li h2 {
        font-size: 4vw;
    }

    .text-medium {
        font-size: 39px;
    }

    .text-large {
        font-size: 52px !important;
        line-height: 65px !important;
    }

    .text-xl {
        font-size: 40px !important;
    }

    .banner-content .content-block p.larger {
        font-size: 32px;
        line-height: 40px;
    }

    .hidden-sm-up {
        display: none !important;
    }

    .btn-wrap.ui-large .btn {
        font-size: 28px;
        padding: 25px 75px;
    }

    ul.features li {
        padding: 0 7.5%;
    }

    ul.features li .image-wrap {
        width: 360px;
    }

    ul.features li:nth-child(3) .image-wrap {
        width: 220px;
    }
}

@media only screen and (min-width: 1099px) {
    .content-block  {
        padding: 7.5% 0;
    }

    section.pricing-vip .content-block {
        padding: 7.5% 0 0;
        max-width: 1443px;
    }
}

@media only screen and (min-width: 1024px) {
    section.cp-header .container:after {
        margin-top: -220px;
        height: 230px;
    }

    .content-block-graphic.avatar {
        max-width: 322px;
    }

    .content-block-graphic.timer {
        max-width: 556px;
    }

    .cp-wrap .content-block h2 {
        font-size: 40px;
        line-height: 55px;
    }

    .cp-wrap .content-block .cp-graphic-wrap h2 {
        font-size: 30px;
        line-height: 42px;
    }

    .cp-wrap .cp-branding .content-block h2.subtitle {
        font-size: 25px;
        line-height: 38px;
    }

    .cp-wrap {
        margin-top: 80px;
    }

    ul.list-features li {
        width: 31%;
    }

    .icp-more-wrap ul.more-items li {
        width: 33%;
        font-size: 14px;
        line-height: 28px;
        white-space: nowrap;
    }

    ul.list-features li:last-child {
        margin: 0 0 40px;
    }

    .party-image-wrap {
        width: 35%;
    }

    .payroll-image-wrap {
        width: 45%;
    }

    #footer {
        padding-top: 30px;
    }
}

@media only screen and (min-width: 1300px) {
    section.cp-header .container:after {
        margin-top: -250px;
        height: 375px;
    }

    .text-xl {
        font-size: 70px !important;
    }

    .content-block-graphic.mobile-device {
        max-width: 650px;
    }
}

@media only screen and (max-width: 1599px) {
    span.display-block-xl-down {
        display: block;
    }
}

@media only screen and (min-width: 1600px) {
    h2.no-wrap {
        white-space: nowrap;
    }
}

