/* Members area styling */

/* gemsatwork styles */
@font-face {
    font-family: 'Interstate';
    src: url('/assets/font-awesome/fonts/interstate-webfont.woff2') format('woff2'),
         url('/assets/font-awesome/fonts/Interstate.woff') format('woff'),
         url('/assets/font-awesome/fonts/interstate.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Product';
    src: url('/assets/font-awesome/fonts/productsans-light-webfont.woff2') format('woff2'),
         url('/assets/font-awesome/fonts/productsans-light-webfont.woff') format('woff'),
         url('/assets/font-awesome/fonts/ProductSans-Light.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
body, html, #sidebar {
    height: 100%;
    color: #26484f;
    font-family: 'Product', Arial, sans-serif;
}
body {
    background-color: #fcfcfc;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Interstate', Arial, sans-serif;
}
a {
    color: #22c7d3;
    transition: color 0.4s;
}
a:hover {
    color: #f0ae31;
    text-decoration: none;
}
p {
    margin: 0;
}
.medium {
    font-size: 14px;
}
.medium-large {
    font-size: 18px;
}
.large {
    font-size: 20px;
}
.btn {
    font-weight: bold;
}
.break-word {
    word-wrap: break-word;
}
.color-default {
    color: #26484f;
}
.back-to {
    color: #4d4f5c;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 14px;
}
.back-to:hover {
    text-decoration: none;
    color: #22c7d3;
}
.back-to:before {
    content: '‹';
    font-size: 25px;
    position: relative;
    top: 1px;
    margin-right: 10px;
}
.expand-style,
.expand {
    font-weight: bold;
    font-style: 'Product';
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
}
.expand {
    margin: 20px 0;
}
.expand-style.expand-style-large,
.expand.expand-large {
    font-size: 16px;
}
.expand-style:before,
.expand:before {
    content: '+ ';
}
.expand.expanded:before {
    content: '- ';
}
.expandable {
    display: none;
}
.expandable.expanded {
    display: block;
}
.boxout.boxout-star.boxout-star-silver h2 {
    color: #22c7d3;
}
.color-blue {
    color: #22c7d3
}
.bg-blue {
    background-color: #22c7d3;
}
.color-black {
    color: #000;
}
.color-yellow {
    color: #f0ae31 !important;
}
.bg-yellow {
    background-color: #f0ae31;
}
.svg-yellow svg path {
    fill: #f0ae31;
}
.color-purple {
    color: #6a49b1;
}
.bg-purple {
    background-color: #6a49b1;
}
.svg-purple svg path {
    fill: #6a49b1;
}
.color-purple-dark {
    color: #3c0443 !important;
}
.bg-purple-dark {
    background-color: #3c0443;
}
.boxout.boxout-star.boxout-star-bronze h2,
.color-red {
    color: #de4352 !important;
}
.bg-red {
    background-color: #de4352;
}
.boxout.boxout-star.boxout-star-gold h2,
.color-gold {
    color: #ffb840;
}
.color-grey {
    color: #444a55;
}
.bg-grey {
    background-color: #444a55;
}
.spacer {
    margin-top: 20px;
}
.spacer-5 {
    margin-top: 5px;
}
.spacer-10 {
    margin-top: 10px;
}
.spacer-15 {
    margin-top: 15px;
}
.spacer-40 {
    margin-top: 40px;
}
.center-vertical {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.massive {
    font-size: 200px;
}
.bold,
strong {
    font-weight: bold;
}
.underline {
    text-decoration: underline;
}
.no-underline,
.no-underline * {
    text-decoration: none !important;
}
.no-decoration,
.no-decoration * {
    text-decoration: none !important;
}
h3 {
    font-weight: bold;
    margin: 20px 0;
}
.heading {
    font-weight: bold;
    font-size: 20px;
}
.highlight {
    font-weight: bold;
    color: #00b9c8;
}
.response-gauge {
    width: 100%;
}
.general-content p:not(:last-child) {
    margin-bottom: 1rem;
}

@media (min-width: 990px) {
    .col-align-bottom {
        position: absolute;
        width: 100%;
        bottom: 0;
        left: 0;
    }
}

/* Sidebar */
#sidebar {
    background-color: #444a55;
    width: 220px;
    position: fixed;
    top: 0;
    left: 0;
    box-sizing: border-box;
    padding-top: 40px;
    z-index: 500;
    overflow: hidden;
    border-bottom: 5px solid #00bac6;
}
#sidebar > div {
    scrollbar-width: none;
    -ms-overflow-style: none;
}
#sidebar > div::-webkit-scrollbar {
    width: 0;
}
#sidebar > div:not(.sidebar-company-logo) {
    padding-top: 40px;
    box-sizing: border-box;
    position: absolute;
    width: 220px;
    top: 0;
    left: 0;
    height: 100%;
    overflow-y: scroll;
}
#sidebar ul {
    height: calc(100vh - 60px);
    margin: 0;
    padding: 0;
    position: relative;
}
#sidebar.sidebar-has-logo ul {
    height: calc(100vh - 180px);
}
#sidebar #logo {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 5px);
    height: 60px;
    text-align: center;
}
#sidebar #logo img {
    width: 85%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#sidebar-user {
    text-align: center;
    font-size: 20px;
    width: calc(100% - 5px);
}
#sidebar-user .user-name {
    color: #fff;
    font-weight: 700;
}
#sidebar-user .avatar {
    margin-bottom: 10px;
}
#sidebar-user .user-settings li {
    display: inline;
    color: #2d444e;
    font-size: 16px;
    font-weight: 600;
    text-transform: lowercase;
}
#sidebar-user .user-settings a {
    color: #2d444e;
    text-decoration: none;
}
#sidebar-user .user-settings a:hover {
    text-decoration: underline;
}
#sidebar-user .user-settings li:not(:last-child):after {
    content: '|';
    margin-left: 5px;
}
#sidebar-user .avatar {
    width: 110px;
    height: 110px;
}
#sidebar nav {
    margin-top: 20px;
}
#sidebar nav li {
    display: block;
    -webkit-transition: background 0.3s;
    -moz-transition: background 0.3s;
    -ms-transition: background 0.3s;
    -o-transition: background 0.3s;
    transition: background 0.3s;
}
#sidebar nav li.active {
    background-color: #3d424c;
}
#sidebar nav li:not(.active):hover {
    background-color: #4b505a;
}
#sidebar nav li a {
    display: block;
    box-sizing: border-box;
    padding: 18px 20px 18px 55px;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    position: relative;
}
#sidebar nav li a svg {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}
#sidebar nav li:not(.active) a svg#Path_404 path,
#sidebar nav li:not(.active) a svg rect,
#sidebar nav li:not(.active) a svg line {
    stroke: #a5a4bf;
}
#sidebar nav li:not(.active) a svg#Path_404 path {
    stroke: #a5a4bf;
}
#sidebar nav li:not(.active) a svg path {
    fill: #a5a4bf;
}
#sidebar nav li.nav-log-out {
    position: absolute;
    width: 100%;
    bottom: 5px;
    background: url('/assets/img/icon_logout.svg') right 20px center / 21px auto no-repeat;
}
#sidebar p.complete {
    padding: 22px 22px 10px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    font-size: 0.9rem;
}
#sidebar p.complete + nav {
    margin-top: 0;
}
#sidebar nav li.active a:after {
    content: ' ';
    position: absolute;
    left: 0;
    height: 100%;
    width: 5px;
    background-color: #ffb840;
    top: 0;
}
body.campaign-progress #sidebar nav li.active a:after {
    border-right-color: #dde4e5;
}
#sidebar .sidebar-company-logo {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #3f4650;
    padding: 10px 0;
    text-align: center;
    height: 120px;
}
#sidebar .sidebar-company-logo img {
    max-width: 90%;
    max-height: 100%;
}

@media (max-height: 600px) {
    #sidebar .sidebar-company-logo {
        display: none;
    }
    #sidebar ul {
        height: calc(100vh - 60px);
    }
}

#header-bar {
    background-color: #fff;
    color: #4c4e5c;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    z-index: 200;
    -webkit-box-shadow: 1px 1px 3px 2px rgba(0,0,0,0.03);
    -moz-box-shadow: 1px 1px 3px 2px rgba(0,0,0,0.03);
    box-shadow: 1px 1px 3px 2px rgba(0,0,0,0.03);
}
#user-controls {
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    list-style: none;
}
#user-controls .avatar {
    width: 43px;
    height: 43px;
    position: relative;
    top: 4px;
}
#user-controls > li {
    vertical-align: middle;
    display: inline-block;
    margin-left: 15px;
    padding-bottom: 5px;
    position: relative;
}
#user-controls > li > ul {
    position: absolute;
    top: 100%;
    text-align: center;
    display: none;
    background-color: #fff;
    width: 190px;
    right: -30px;
    padding: 10px 25px;
    -webkit-box-shadow: 1px 1px 3px 2px rgba(0,0,0,0.03);
    -moz-box-shadow: 1px 1px 3px 2px rgba(0,0,0,0.03);
    box-shadow: 1px 1px 3px 2px rgba(0,0,0,0.03);
}
#user-controls > li:hover > ul {
    display: block;
}
#user-controls > li > ul > li {
    list-style: none;
}
#user-controls > li > ul a {
    display: block;
    color: #4c4e5c;
}
#user-controls i {
    font-size: 14px;
    color: #a4afb7;
    position: relative;
    top: 3px;
    margin-left: 5px;
}
#breadcrumb {
    padding: 19px 0 0 240px;
    list-style: none;
    margin: 0;
    font-size: 0.9rem;
}
#breadcrumb li {
    display: inline;
}
#breadcrumb li:not(:last-child):after {
    content: '>';
    margin: 0 8px 0 10px;
}
#breadcrumb li:first-child:before {
    content: 'You are here: ';
    font-weight: bold;
    margin-right: 10px;
}
#breadcrumb a {
    color: #4c4e5c;
    text-decoration: none;
}
#breadcrumb a:hover {
    text-decoration: underline;
}

/* Slider */
.gems-slider {
    border-radius: .25rem;
    border: 1px solid #ced4da;
    background-color: #fffffd;
    height: 38px;
    padding: 0 22px;
    position: relative;
}
.gems-slider > div {
    position: absolute;
    height: 5px;
    width: 50%;
    border-radius: 3px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.gems-slider-explain {
    font-size: 15px;
    padding: 7px;
    text-align: center;
}
.gems-slider > .gems-slider-left {
    left: 8px;
    background-color: #454955;
    border: 1px solid #63636b;
    z-index: 2;
}
.gems-slider > .gems-slider-right {
    background-color: #21c7d5;
    border: 1px solid #379ea5;
    z-index: 4;
    right: 8px;
}
.gems-slider .ui-slider-handle {
    display: inline-block;
    cursor: grab;
    z-index: 5;
    background-color: #ededed;
    border: 1px solid #ebeaf0;
    width: 29px;
    border-radius: .25rem;
    height: 28px;
    position: relative;
    top: 4px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
.gems-slider .ui-slider-handle:before,
.gems-slider .ui-slider-handle:after {
    position: absolute;
    color: #9e9fa1;
    font-size: 12px;
    font-weight: bold;
    top: 2px;
}
.gems-slider .ui-slider-handle:before {
    content: '<';
    left: 6px;
}
.gems-slider .ui-slider-handle:after {
    content: '>';
    right: 6px;
}

input[type=range] {
    -webkit-appearance: none;
    width: 100%;
    margin: 9px 0;
}
input[type=range]:focus {
    outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 0px;
    cursor: pointer;
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
    background: #ffffff;
    border-radius: 0px;
    border: 0px solid #010101;
}
input[type=range]::-webkit-slider-thumb {
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
    border: 1px solid rgba(0, 0, 0, 0.01);
    height: 18px;
    width: 24px;
    border-radius: 3px;
    background: #f0efef;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -9px;
    position: relative;
    z-index: 2;
}
input[type=range]:focus::-webkit-slider-runnable-track {
    background: #ffffff;
}
input[type=range]::-moz-range-track {
    width: 100%;
    height: 0px;
    cursor: pointer;
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
    background: #ffffff;
    border-radius: 0px;
    border: 0px solid #010101;
}
input[type=range]::-moz-range-thumb {
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
    border: 1px solid rgba(0, 0, 0, 0.01);
    height: 18px;
    width: 24px;
    border-radius: 3px;
    background: #f0efef;
    cursor: pointer;
    position: relative;
    z-index: 2;
}
input[type=range]::-ms-track {
    width: 100%;
    height: 0px;
    cursor: pointer;
    background: transparent;
    border-color: transparent;
    color: transparent;
}
input[type=range]::-ms-fill-lower {
    background: #f2f2f2;
    border: 0px solid #010101;
    border-radius: 0px;
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
input[type=range]::-ms-fill-upper {
    background: #ffffff;
    border: 0px solid #010101;
    border-radius: 0px;
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
input[type=range]::-ms-thumb {
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
    border: 1px solid rgba(0, 0, 0, 0.01);
    height: 18px;
    width: 24px;
    border-radius: 3px;
    background: #f0efef;
    cursor: pointer;
    height: 0px;
}
input[type=range]:focus::-ms-fill-lower {
    background: #ffffff;
}
input[type=range]:focus::-ms-fill-upper {
    background: #ffffff;
}
.range-container {
    border: 1px solid #f1f1f3;
    border-radius: 3px;
    padding: 0 0 8px;
    position: relative;
}
.range-container .range-indicator {
    position: absolute;
    height: 4px;
    border-radius: 5px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 0;
}
.range-container .range-indicator.range-r {
    background-color: #424953;
    right: 8px;
}
.range-container .range-indicator.range-l {
    left: 8px;
    background-color: #00c5d0;
}

/* Avatars */
.avatar-wrapper {
    position: relative;
    height: 220px;
    width: 100%;
    max-width: 500px;
}
.avatar {
    border-radius: 50%;
    width: 200px;
    height: 200px;
    display: inline-block;
    position: absolute;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('img/generic.png');
}
.avatar.avatar-company-logo {
    background-image: none;
    background-color: #434b57;
    color: #000;
    background-size: 60% auto;
}
.avatar.avatar-company:after {
    content: 'Your company logo';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    font-size: 0.9rem;
    width: 100%;
    font-weight: bold;
}
.avatar-container {
    position: absolute;
    display: inline-block;
    margin: 0 auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 80%;
    height: 100%;
}
.avatar-container .company-logo {
    width: 100%;
    height: auto;
    max-width: 300px;
    position: relative;
}
.avatar-container .avatar {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
.avatar-container .avatar-upload-close,
.avatar-container .avatar-edit {
    position: absolute;
    cursor: pointer;
    z-index: 100;
}
.avatar-container .avatar-edit {
    bottom: 20px;
    right: 10px;
}
.avatar-container .avatar-upload-close {
    top: 10px;
    right: 14px;
}
.avatar-container .avatar-upload-close img {
    width: 15px;
}
.avatar-container .avatar-edit img {
    width: 20px;
}
.avatar-container .upload-logo-add-page i {
    bottom: -10px;
    right: -10px;
}
.avatar-container i {
    -webkit-box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.28);
    -moz-box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.28);
    box-shadow: 3px 3px 5px 0px rgba(0,0,0,0.28);
}
.avatar-container a {
    color: #26484f;
}
.avatar-upload {
    width: 200px;
    height: 200px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    position: absolute;
    left: 50%;
    cursor: pointer;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 85;
}
.avatar-container form {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 90;
}
.avatar-container .avatar-remove {
    position: absolute;
    top: 47%;
    left: 50%;
    width: 60px;
    height: 60px;
    cursor: pointer;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 1);
    opacity: 0.6;
    display: none;
    z-index: 100;
}
.avatar-container .avatar-remove:hover {
    opacity: 0.9;
}
.avatar-container .avatar-remove img {
    width: 30px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.avatar-upload .avatar-upload-explain {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    width: 72%;
    pointer-events: none;
    font-size: 12px;
}
.avatar-upload .avatar-upload-explain img {
    width: 60%;
}
#content .avatar-upload .avatar-upload-explain p {
    margin: 0;
}
#content .avatar-upload .avatar-upload-explain p:first-of-type {
    text-transform: uppercase;
    font-size: 15px;
    margin: 5px 0 3px;
}
#content .avatar-upload .avatar-upload-explain p:last-of-type {
    margin-top: 4px;
}
.avatar-upload .avatar-upload-explain a {
    font-weight: 300;
    position: relative;
    z-index: 110;
    text-decoration: underline;
}
.avatar-wrapper:not(.has-avatar) .avatar,
.avatar-wrapper:not(.has-avatar) .avatar-edit,
.avatar-wrapper.has-avatar .avatar-upload-close,
.avatar-wrapper.has-avatar .avatar-upload {
    display: none;
}
.avatar-wrapper:not(.has-avatar) .avatar-container .avatar-upload-close,
.avatar-wrapper:not(.has-avatar) .avatar-container .avatar-remove {
    display: none !important;
}

/* News */
.latest-news .latest-news-image {
    background-size: cover;
    position: relative;
    margin-bottom: 20px;
    left: -20px;
    padding-bottom: 60%;
    width: calc(100% + 40px);
}

/* Password modal */
#shade,
#password-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 7000;
}
#password-modal {
    z-index: 7500;
}
#shade,
#password-modal.modal-dynamic {
    opacity: 0;
    transition: opacity 0.7s;
}
#shade.shade-show,
#password-modal.modal-dynamic.modal-dynamic-show {
    opacity: 1;
}
#shade .shade-close {
    position: absolute;
    top: 0;
    cursor: pointer;
    right: 30px;
    font-size: 60px;
    z-index: 7000;
}
#shade > i.fa-spinner {
    color: #00c5d0;
    font-size: 40px;
    position: absolute;
    top: 50%;
    left: calc(50% + 110px);
    transform: translate(-50%, -50%);
}
#password-modal.modal-dynamic .modal-dynamic-close {
    position: absolute;
    top: 3px;
    right: 20px;
    font-size: 25px;
    cursor: pointer;
    font-weight: bold;
}
#password-modal > div {
    width: 640px;
    -webkit-box-shadow: 4px 4px 13px 0px rgba(0,0,0,0.16);
    -moz-box-shadow: 4px 4px 13px 0px rgba(0,0,0,0.16);
    box-shadow: 4px 4px 13px 0px rgba(0,0,0,0.16);
    background-color: #fff;
    position: absolute;
    top: 47%;
    left: 50%;
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    padding: 60px 0 30px 50px;
    -webkit-transition: all 0.9s;
    -moz-transition: all 0.9s;
    -ms-transition: all 0.9s;
    -o-transition: all 0.9s;
    transition: all 0.9s;
}
body.reset-password-page #password-modal {
    background: none;
    position: static;
    width: auto;
    height: auto;
    top: auto;
    left: auto;
}
body.reset-password-page #password-modal > div {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    opacity: 1;
    padding-top: 0 !important;
    top: auto !important;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
}
#password-modal.modal-dynamic > div {
    padding: 50px 60px;
}
#password-modal.modal-dynamic > div .fa-spinner {
    font-size: 30px;
    display: inline-block;
}
#password-modal > div #password-modal-close {
    font-weight: 300;
    font-family: Rubik, Arial, sans-serif;
    font-size: 40px;
    position: absolute;
    z-index: 1000;
    top: 0;
    right: 20px;
    color: #444a55;
    cursor: pointer;
}
body.in #password-modal > div {
    top: 50%;
    opacity: 1;
}
#password-modal .row > div {
    margin-bottom: 5px;
}
#password-modal input:not(.no-styling) {
    width: 100%;
    background: #f7f7f7;
    border: none;
    padding: 6px 8px;
    box-sizing: border-box;
    display: block;
    outline: none;
}
#password-modal .password-is-valid:after {
    content: 'Good';
}
#password-modal .password-matches:after {
    content: 'Match';
}
#password-modal .password-matches:after,
#password-modal .password-is-valid:after {
    font-weight: bold;
    color: green;
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
}
#password-modal ul {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
}
#password-modal:not(.modal-dynamic) ul:not(.password-requirements) {
    padding: 5px 5px 0 0;
    color: red;
    font-size: 15px;
}
#password-modal .password-requirements {
    list-style: none;
    padding: 0;
    margin-top: 10px;
}
#password-modal .password-requirements li {
    position: relative;
    padding-left: 25px;
}
#password-modal .password-requirements li.password-requirement-matched {
    color: green;
}
#password-modal .password-requirements li:before {
    position: absolute;
    width: 18px;
    height: 18px;
    top: 3px;
    left: 0;
    text-align: center;
    font-size: 16px;
    line-height: 18px;
    background: #666;
    border-radius: 50%;
    content: '✔';
    color: #fff;
}
#password-modal .password-requirements li.password-requirement-matched:before {
    background: green;
}
#password-modal .password-requirements li:not(:last-child) {
    margin-bottom: 2px;
}
#password-modal label:not(.no-styling) {
    text-align: right;
    display: block;
    font-family: Rubik, Arial, sans-serif;
    position: relative;
    top: 5px;
    font-weight: 300;
    padding-right: 7px;
    margin-right: 10px;
    border-right: 1px solid #757781;
    text-transform: uppercase;
}
#password-modal .rpad {
    padding-right: 50px;
}
#password-modal h2 {
    font-size: 22px;
    text-align: center;
}
#password-modal h2:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
#password-modal .show-password-container {
    font-size: 0.85em;
    opacity: 0.9;
    text-transform: uppercase;
    padding-top: 5px;
}
#show-password {
    position: relative;
    top: 3px;
    right: 4px;
}

/* Progress */
.progress-bar {
    transition: unset;
}
.progress-bar.progress-load {
    animation: gems-progress;
    animation-fill-mode: forwards;
}
@keyframes gems-progress {
    0% {
        width: 0;
    }
    20% {
        width: 34%;
    }
    50% {
        width: 48%;
    }
    100% {
        width: 100%;
    }
}

/* Content */
#content {
    color: #4d4f5c;
    box-sizing: border-box;
    padding: 60px 0 0 220px;
    background-color: #fcfcfc;
}
body.campaign-progress #content {
    background-color: #fcfcfc;
}
#content header {
    padding: 20px;
}
#content p {
    line-height: 150%;
}
#company-profile #content header,
#index-members #content header {
    padding: 40px 40px 100px;
}
#content h1,
#content h2.h1 {
    font-size: 30px;
    font-weight: 300 !important;
    font-family: 'Intersate', Rubik, Arial, sans-serif !important;
}
#index-members #content header h1 {
    max-width: 30%; 
}
#content > div {
    padding: 20px 80px;
}
#offers #content > div {
    padding: 0;
}
#content p:not(:last-child) {
    margin-bottom: 20px;
}
.content-padding {
    padding-left: 80px;
    padding-right: 80px;
}

@media (max-width: 768px) {
    .content-padding {
        padding: 20px;
    }
}

/* Offers */
#offers-listing-container {
    opacity: 1;
    position: relative;
    transition: opacity 0.4s;
}
#offers-loading {
    position: fixed;
    left: 220px;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% - 220px);
    text-align: center;
}
#offers-loading.offers-loading-inline {
    position: relative;
    top: 0;
    transform: none;
    left: 0;
    width: 100%;
}
#offers-loading i {
    font-size: 40px;
    color: #22c7d3;
}
#offers-loading + #offers-listing-container {
    opacity: 0;
}
#offers #content h1 {
    font-size: 24px;
}
#offers h2:not(.offer-categories-heading) {
    font-size: 30px;
    font-weight: 300;
    margin-bottom: 30px;
}
#offers h2:after {
    display: none;
    margin-bottom: 40px;
}
#offers .offer img {
    width: 100%;
    max-width: 220px;
    margin: 0 auto;
}
#offers .offer {
    margin-bottom: 20px;
}
#offers .offer h3 {
    font-weight: normal;
    font-size: 15px;
    margin: 8px 0 5px;
}
#offers .offer p {
    font-size: 14px;
    margin-bottom: 5px;
}
#offers .offer a:not(.btn) {
    color: #26484f;
}
#offers .offer a:hover {
    text-decoration: none;
}
#offers .offer-categories {
    margin: 40px 0 60px;
}
#offers .offer-categories h2 {
    font-size: 18px;
    font-weight: 500;
}
#offers .offer-categories ul li:hover a:after,
#offers .offer-categories ul li.active a:after {
    background-color: #22c7d3;
}
#offers .offer-categories ul li.active a:before {
    content: "\f00c";
    font-family: FontAwesome;
    position: absolute;
    right: 25px;
}
.offers-row-container {
    position: relative;
    margin-bottom: 50px;
    overflow: hidden;
}
.offers-row-container.no-slick {
    margin-left: 0;
    width: 100%;
}
.offers-row {
    position: relative;
}
.offers-row .offers-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid #e8e9ed;
    border-radius: 5px;
    padding: 5px 15px 9px;
    z-index: 50;
    font-size: 20px;
    cursor: pointer;
    background-color: #444A55;
    color: #fff;
    transition: background-color 0.4s;
}
.offers-row .offers-arrow:after {
    font-size: 14px;
    font-family: FontAwesome;
}
.offers-row .offers-arrow.offers-arrow-next:after {
    content: '\f054';
}
.offers-row .offers-arrow.offers-arrow-prev:after {
    content: '\f053';
}
.offers-row .offers-arrow:hover {
    background-color: #ffb940;
}
.offer-panel:not(.offer-panel-center) .open-offer {
    cursor: pointer;
}
.offer-panel:not(.offer-panel-center) .offer-description {
    font-size: 14px;
    word-break: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* number of lines to show */
    -webkit-box-orient: vertical;
    margin-bottom: 15px;
}
.offers-nav-item {
    font-weight: bold;
    font-size: 16px;
    transition: color 0.4s;
    position: relative;
    padding-top: 5px;
    display: inline-block;
    color: #4d4f5c;
}
.offers-nav-item:hover {
    color: #22c7d3;
    text-decoration: none;
}
.offers-nav-item.offers-nav-item-brands {
    cursor: pointer;
    position: relative;
}
.offers-nav-item.offers-nav-item-categories-mobile:before,
.offers-nav-item.offers-nav-item-brands-mobile:before,
.offers-nav-item.offers-nav-item-brands:before {
    content: '';
    position: absolute;
    left: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%);
    width: 11px;
    height: 7px;
    background: url('/assets/img/icon_down_arrow.svg') no-repeat top left / 100% auto;
}
.offers-nav-item.offers-nav-item-categories-mobile:before,
.offers-nav-item.offers-nav-item-brands-mobile:before {
    left: calc(100% + 8px);
    transform: none;
    top: 12px;
    width: 9px;
}
.offers-nav-item.offers-nav-item-brands:after {
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-bottom: 20px solid #3c0443;
    pointer-events: none;
    left: 50%;
    position: absolute;
    top: calc(100% + 5px);
    transition: transform 0.4s, opacity 0.4s;
    transform: translate(-50%, -20px);
    content: '';
    opacity: 0;
}
.offers-nav-item.offers-nav-item-brands.show:after {
    transform: translate(-50%, 0);
    opacity: 1;
}
.offers-row .offers-arrow.offers-arrow-prev {
    left: 20px;
}
.offers-row .offers-arrow.offers-arrow-next {
    right: 20px;
}
.offers-row-container:not(.no-slick) .offers-panel-container {
    padding: 0 25px;
}
.offers-panel-container {
    outline: none !important;
    opacity: 1;
    transition: opacity 0.4s;
}
.offer-panel {
    position: relative;
    margin-bottom: 15px;
    box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.10);
    background-color: #fff;
}
.offer-panel.offer-panel-floating {
    position: fixed;
    z-index: 7100;
    transform: translate(0, 0);
    transition: left 0.5s, top 0.5s, transform 0.5s, width 0.5s;
    will-change: left, transform, width;
    box-shadow: none !important;
    border: none !important;
}
.offer-panel.offer-panel-floating.offer-panel-center {
    left: calc(50% + 110px) !important;
    top: 50% !important;
    width: 550px !important;
    transform: translate(-50%, -50%) !important;
    font-size: 14px;
}
.offers-row.slick-initialized:not(.offer-sliding) .offers-panel-container:not(.slick-active) {
    opacity: 0.5;
}
.offer-panel.offer-limited {
    border: 1px solid rgba(111, 112, 114, 0.5);
    box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.35);
}
.offer-panel .offer-image {
    background-size: cover;
    background-position: center;
    padding-bottom: 50%;
    position: relative;
    transition: padding-bottom 0.5s;
}
#offers .offer-panel .offer-image img {
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: none;
}
.offer-panel.offer-panel-center .offer-image {
    padding-bottom: 45%;
}
.offer-panel .offer-content {
    padding: 30px 20px 10px;
    transition: padding 0.5s;
}
.offer-panel:not(.offer-panel-center) .offer-content {
    padding-bottom: 10px;
}
.offer-panel .offer-close {
    color: #fff;
    position: absolute;
    top: -60px;
    right: -35px;
    font-size: 42px;
    display: none;
    cursor: pointer;
}
body.offers-saved .offer-panel .offer-close {
    top: -10px;
    right: 10px;
    z-index: 40;
    font-size: 35px;
}
@media (min-width: 768px) {
    body.offers-saved .offer-panel .offer-close {
        color: #fff !important;
    }
}
body.offers-saved .offer-panel .offer-close i {
    color: #fff !important;
}
body.offers-saved .offer-panel .offer-close,
.offer-panel.offer-panel-center .offer-close {
    display: block;
}
.offer-panel .offer-loading {
    font-size: 16px;
}
.offer-panel .offer-loading .offer-loading-loader {
    margin-top: 8px;
}
.offer-panel .offer-loading .offer-loading-url,
.offer-panel .offer-loading.offer-loading-complete .offer-loading-loader {
    display: none;
}
.offer-panel .offer-loading.offer-loading-complete .offer-loading-url {
    display: block;
}
.offer-panel .offer-loading .offer-loading-loader span {
    display: inline-block;
    border: 1px solid #26484f;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    margin: 0 5px;
}
.offer-panel .offer-loading .offer-loading-loader span.waiting {
    background-color: #26484f;
}
.offer-panel .offer-controls {
    padding: 0 20px 20px;
    position: relative;
    transition: padding 0.5s;
}
.offer-panel.offer-panel-center .offer-content,
.offer-panel.offer-panel-center .offer-controls {
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 20px;
}
.offer-panel:not(.offer-panel-center) .offer-controls.offer-controls-center,
.offer-panel.offer-panel-center .offer-controls:not(.offer-controls-center) {
    display: none;
}
.offer-panel .offer-terms {
    color: #92959c;
    cursor: pointer;
}
.offer-panel .offer-terms:hover {
    text-decoration: underline;
}
.offer-panel:not(.offer-panel-center) .offer-controls .offer-terms {
     position: absolute;
     top: -25px;
     right: 20px;
     transition: right 0.5s;
 }
.offer-panel .offer-brand {
    font-weight: 300;
    text-transform: uppercase;
    font-family: Rubik, Arial, sans-serif;
    margin-bottom: 5px !important;
    font-size: 13px;
    padding-right: 120px;
}
.offer-panel .offer-title {
    font-weight: none;
    font-style: none;
    text-transform: uppercase;
    font-size: 14px;
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 20px;
    transition: color 0.4s;
}
.offer-panel:not(.offer-panel-center) .offer-title {
    cursor: pointer;
}
.offer-panel.offer-panel-center .offer-title {
    font-size: 18px;
}
.offer-panel[data-color="color-blue"]:not(.offer-panel-center) .offer-title:hover {
    color: #22c7d3;
}
.offer-panel[data-color="color-red"]:not(.offer-panel-center) .offer-title:hover {
    color: #de4351;
}
.offer-panel[data-color="color-purple-dark"]:not(.offer-panel-center) .offer-title:hover {
    color: #760f84;
}
.offer-panel[data-color="color-yellow"]:not(.offer-panel-center) .offer-title:hover {
    color: #ffb940;
}
.offer-panel .offer-title:after {
    content: '';
    top: 100%;
    position: absolute;
    width: 40%;
    left: 0;
    border-bottom: 1px solid #ffb940;
}
.offer-panel .offer-type {
    position: absolute;
    top: 20px;
    font-size: 19px;
    left: -15px;
    padding: 11px 25px 12px;
    text-align: center;
    transition: all 0.5s;
}
.offer-panel:not(.offer-panel-center) .offer-type {
    cursor: pointer;
}
.offer-panel.offer-panel-center .offer-type {
    left: -30px;
}
.offer-panel .offer-content .offer-brand-logo {
    position: absolute;
    width: 90px;
    height: 90px;
    right: 30px;
    box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.19);
    top: -50px;
    background-color: #fff;
    background-size: cover;
    background-position: center;
    transition: width 0.5s, height 0.5s, right 0.5s, top 0.5s;
}
.offer-panel.offer-panel-center .offer-content .offer-brand-logo {
    width: 120px;
    height: 120px;
    right: 40px;
    top: -80px;
}
.offer-panel .offer-type > div {
    display: inline;
}
.offer-panel .offer-type:before,
.offer-panel .offer-type:after {
    content: '';
    position: absolute;
    background-color: #424b54;
}
.offer-panel .offer-type:before {
    width: 5px;
    height: 100%;
    right: -5px;
    top: 5px;
}
.offer-panel .offer-type:after {
    height: 5px;
    width: 100%;
    top: 100%;
    left: 5px;
}
#offers .offer-panel .offer-type img {
    width: 18px;
    margin-right: 3px;
    position: relative;
    top: -2px;
    left: -2px;
    max-width: none;
    display: inline;
    height: auto;
}
.offer-panel .offer-type .offer-type-title {
    color: #fff;
    font-weight: 600;
    font-style: none;
    text-transform: uppercase;
}
.offer-panel .offer-type .offer-limited-countdown {
    font-weight: 300;
    font-family: Rubik, Arial, sans-serif;
    margin-left: 20px;
    color: #fff;
}
.offer-email {
    border: 1px solid #6f6f6f;
    position: relative;
    border-radius: 6px;
    font-size: 14px;
    text-transform: uppercase;
    padding: 6px 20px;
    text-align: center;
    cursor: pointer;
    margin-top: 10px;
}
.offer-email.offer-email-sent {
    opacity: 0.4;
    cursor: auto;
}
.offer-email .offer-email-send {
    transition: background-color 0.4s, border-left-color 0.4s, color 0.4s;
    position: absolute;
    right: 0;
    top: 0;
    text-align: center;
    width: 10%;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    font-size: 16px;
    height: 100%;
    line-height: 35px;
    border-left: 1px solid #6f6f6f;
}
.offer-email .offer-email-send i:before {
    content: "\f054";
}
.offer-email.offer-email-sending .offer-email-send i:before {
    content: "\f110";
}
.offer-email.offer-email-sent .offer-email-send {
    display: none;
}
.offer-button {
    outline: none !important;
    border-radius: 5px;
    font-weight: 500;
    font-family: Asap, Arial, sans-serif;
    width: 100%;
    display: block;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    padding: 7px 0;
    letter-spacing: 0.5px;
    font-size: 14px;
    position: relative;
    overflow: hidden;
    transition: background-color 0.4s;
}
.offer-button.offer-button-peel {
    padding-right: 40px;
}
.offer-button.offer-button-peel:after {
    content: '';
    position: absolute;
    border-radius: 20px;
    background-color: #84e9ff;
    transition: background-color 0.4s;
    top: -2px;
    right: 25px;
    height: calc(100% + 5px);
    width: 40px;
    box-shadow: -5px 2px 8px 0px rgba(0,0,0,0.11);
    -webkit-clip-path: polygon(41% 0, 55% 26%, 64% 53%, 67% 70%, 69% 100%, 34% 91%, 21% 85%, 10% 77%, 5% 70%, 5% 60%);
    clip-path: polygon(41% 0, 55% 26%, 64% 53%, 67% 70%, 69% 100%, 34% 91%, 21% 85%, 10% 77%, 5% 70%, 5% 60%);
}
.offer-button.bg-red.offer-button-peel:after,
.offer-button.bg-yellow.offer-button-peel:after {
    background-color: #ffd184;
}
.offer-button.bg-purple-dark.offer-button-peel:after {
    background-color: #760f84;
}
.offer-button.offer-button-shadow {
    box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.15);
}
.offer-button.offer-button-peel:before {
    content: 'EGV';
    padding: 9px 40px 12px 2px;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 17% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 17% 100%);
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 1px;
    position: absolute;
    top: -2px;
    text-align: right;
    right: -2px;
    width: 50px;
    overflow: hidden;
    background-color: #e5e5e5;
    color: #fff;
}
.offer-button:hover {
    text-decoration: none;
    color: #fff;
}
.offer-email-retailer-url > div {
    display: none;
    margin-top: 10px;
}
.offer-email-retailer-url > div.offer-cta-show {
    display: block;
}
.offer-ends-container {
    padding-top: 5px;
    position: relative;
    font-size: 11px;
    font-weight: bold;
}
.offer-ends-container,
.offer-ends-container a {
    color: #8e9198;
}
.offer-ends {
    position: relative;
    padding-left: 19px;
    background: url('/assets/img/icon_countdown_dark.svg') no-repeat left top;
}
.offer-code {
    border: 2px dashed #a1a4a9;
    padding: 5px 20% 7px 0;
    border-radius: 8px;
    text-align: center;
    cursor: pointer;
    position: relative;
}
.offer-code span {
    letter-spacing: 1.5px;
}
.offer-code .offer-code-copy {
    background-color: #434955;
    color: #fff;
    border-radius: 8px;
    position: absolute;
    right: -2px;
    text-transform: uppercase;
    transition: background-color 0.4s;
    font-size: 14px;
    line-height: 38px;
    top: -2px;
    height: calc(100% + 4px);
    width: 20%;
}
.offer-code input {
    position: absolute;
    left: -9999px;
}
.offer-code .offer-code-copy:hover {
    background-color: #505661;
}
.offer-code,
.offer-email {
    transition: color 0.4s;
}
.offer-code:hover,
.offer-email:not(.offer-email-sending):hover,
.offer-email:not(.offer-email-sending):hover .offer-email-send {
    color: #ffb940;
}
.bookmark-offer {
    position: absolute;
    top: -20px;
    z-index: 50;
    cursor: pointer;
}
.offer-panel.offer-panel-center .bookmark-offer {
    top: auto;
    right: 10px;
}
.bookmark-offer svg path {
    transition: fill 0.4s;
}
.bookmark-offer:hover svg path {
    fill: #ffb940;
}
.offers-row.row {
    margin-left: -25px;
    margin-right: -25px;
}
.offers-row.row > div {
    padding-left: 25px;
    padding-right: 25px;
}
.offers-row.slick-slider {
    padding: 0 54px;
}
.offers-row.slick-slider .slick-list {
    overflow: unset;
}
.offers-row.slick-slider > .slick-list > .slick-track {
    margin-left: 0;
}
#offer-categories,
#popular-brands {
    position: static;
}
#offer-categories .brands-container,
#popular-brands .brands-container {
    position: absolute;
    left: 0;
    right: 0;
    background-color: #fff;
    z-index: 300;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-20px);
    transition: transform 0.5s, opacity 0.5s;
}
#offer-categories .brands-container > div,
#popular-brands .brands-container > div {
    overflow-x: hidden;
    position: relative;
    height: 40vh;
    box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.23);
    background-color: #fff;
}
#offer-categories .show + .brands-container,
#popular-brands .show + .brands-container {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
#offer-categories a,
#popular-brands a {
    color: #4d4f5c;
}
#offer-categories .brands-container p,
#popular-brands .brands-container p {
    padding: 14px 50px;
    color: #fff;
    font-weight: bold;
}
#offer-categories ul,
#popular-brands ul {
    list-style: none;
    padding: 0 50px;
}
#offer-categories ul li div:not(:last-child),
#popular-brands ul li div:not(:last-child) {
    margin-bottom: 15px;
}
#offers-nav-mobile {
    position: fixed;
    top: 60px;
    height: calc(100% - 60px);
    left: 0;
    width: 100%;
    background-color: #fff;
    z-index: 400;
    padding: 20px;
    overflow: scroll;
    transform: translateX(-100%);
    transition: transform 0.4s;
}
body.popular-brands-open #offers-nav-mobile {
    transform: translateX(0);
}
#offers-nav-mobile .brands-index {
    font-weight: 300;
    border-bottom: 2px solid #dee0e1;
    padding-bottom: 20px;
}
#offers-nav-mobile-close {
    font-size: 30px;
    position: fixed;
    top: 67px;
    right: 20px;
    display: none;
    z-index: 410;
}
body.popular-brands-open #offers-nav-mobile-close {
    display: block;
}
#offers-nav-mobile .brands-index li {
    display: inline-block;
    width: 10%;
    margin-bottom: 6px;
}
#offers-nav-mobile .brands-index li a {
    text-decoration: underline;
}
#offers-nav-mobile a {
    color: #4d4f5c;
}
#offers-nav-mobile ul {
    padding: 0;
    margin-bottom: 20px;
    list-style: none;
}
#offers-nav-mobile > ul > li > ul > li {
    margin-bottom: 8px;
}
.show-all:hover {
    text-decoration: none;
    color: #ffb940;
}
#offers .search-input {
    width: 100%;
    margin-left: 0;
    font-size: 20px;
    padding: 8px 8px 8px 45px;
    border-bottom: 2px solid #212529;
    position: relative;
}
#offers .search-input i {
    position: absolute;
    top: 15px;
    cursor: pointer;
    right: 10px;
    display: none;
}
#offers .search-input i.show-close {
    display: inline;
}
#offers-search-container {
    position: relative;
}
#offers-search-container .offers-search-result {
    position: absolute;
    top: 100%;
    width: 100%;
    background-color: #fff;
    z-index: 100;
}
#offers-search-container ul {
    list-style: none;
    margin-bottom: 0;
    padding: 0;
    box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.15);
}
#offers-search-container .search-input input {
    font-style: italic;
    font-weight: bold;
    padding-left: 5px;
}
#offers-search-container .search-input input::-webkit-input-placeholder {
    font-style: normal;
    font-weight: normal;
}
#offers-search-container .search-input input::-moz-placeholder {
    font-style: normal;
    font-weight: normal;
}
#offers-search-container .search-input input:-ms-input-placeholder {
    font-style: normal;
    font-weight: normal;
}
#offers-search-container .search-input input:-moz-placeholder {
    font-style: normal;
    font-weight: normal;
}
#offers-search-container li {
    position: relative;
    font-size: 18px;
}
#offers-search-container li:before {
    content: "\f002";
    font-family: FontAwesome;
    color: #4d4f5c;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    font-size: 20px;
}
#offers-search-container li a {
    color: #4d4f5c;
    padding: 22px 15px 22px 50px;
    display: block;
    transition: none;
}
#offers-search-container li .offer-brand-name:after {
    content: '-';
    padding: 0 15px;
}
#offers-search-container li a:hover {
    text-decoration: none;
}
#offers-search-container li.result {
    cursor: pointer;
}
#offers-search-container li:hover,
#offers-search-container li.active {
    background-color: #444A55;
}
#offers-search-container li:hover a,
#offers-search-container li.active a,
#offers-search-container li:hover:before,
#offers-search-container li.active:before {
    color: #fff;
}
#offers-search-container li:after {
    position: absolute;
    top: 100%;
    width: 95%;
    left: 50%;
    transform: translateX(-50%);
    border-bottom: 2px solid #d4d8d9;
    content: '';
}
#print-offer {
    max-width: 700px;
    border: 1px solid #000;
    margin: 0 auto;
}
#print-offer .offer-panel {
    box-shadow: none;
}
#print-offer .offer-email,
#print-offer .bookmark-offer,
#print-offer .print-offer,
#print-offer .offer-code-copy {
    display: none;
}
#print-offer .offer-code {
    padding-right: 0;
    font-size: 30px;
}

@media (max-width: 768px) {
    .offers-row.slick-slider {
        padding: 0 40px;
    }
    .offers-row-container {
        margin-bottom: 0;
    }
    .offer-panel .offer-type {
        font-size: 17px;
    }
    .offer-panel .offer-content .offer-brand-logo {
        width: 70px;
        height: 70px;
    }
    .offer-panel .offer-brand {
        padding-right: 0;
    }
    .offers-row-container:not(.no-slick) .offers-panel-container {
        padding: 0 15px;
    }
    #offers-loading {
        left: 50%;
        top: 60%;
        transform: translate(-50%, -50%);
    }
    .offer-panel .offer-title {
        font-size: 19px;
    }
    .offers-row .offers-arrow {
        top: 25%;
    }
    .offers-row .offers-arrow.offers-arrow-next {
        right: 5px;
    }
    .offers-row .offers-arrow.offers-arrow-prev {
        left: 5px;
    }
    .offers-nav-mobile .offers-nav-item {
        font-size: 13px;
    }
    .offer-panel .offer-content {
        padding: 20px 15px 15px;
    }
    .offer-panel:not(.offer-panel-center) .offer-content {
        padding-bottom: 0;
    }
    .offer-panel:not(.offer-panel-center) .offer-ends-container {
        padding-top: 0;
    }
    .offer-panel.offer-panel-floating.offer-panel-center {
        top: 0 !important;
        left: 0 !important;
        right: 0;
        width: 100% !important;
        bottom: 0;
        transform: none !important;
    }
    .offer-panel.offer-panel-center .offer-content .offer-brand-logo {
        width: 90px;
        height: 90px;
        top: -60px;
    }
    .offer-panel.offer-panel-center .offer-type {
        left: 0;
    }
    .offer-panel.offer-panel-floating.offer-panel-center {
        font-size: 16px;
    }
    .offer-panel.offer-panel-center .offer-content,
    .offer-panel.offer-panel-center .offer-controls {
        padding: 20px;
    }
    .offer-panel.offer-panel-center .offer-controls {
        padding-top: 0;
    }
    body.offers-saved .offer-panel .offer-close,
    .offer-panel .offer-close {
        top: 0;
        right: 0;
        line-height: 28px;
        text-align: center;
        z-index: 100;
        width: 40px;
        height: 40px;
        background-color: #fff;
    }
    #offers .offer-categories ul {
        display: block;
    }
    #offers .offer-categories ul li {
        flex: unset;
        max-width: none;
        margin-bottom: 8px;
    }
    #offers .offer-categories ul li a {
        display: inline-block;
        padding: 0 50px 3px 5px;
    }
    #offers .offer-categories ul li.active a {
        font-size: 18px;
    }
    #offers .offer-categories ul li a:after {
        width: 100%;
    }
    #offers .offer-categories ul li.active a:before {
        right: 7px;
    }
    .offer-panel:not(.offer-panel-center) .bookmark-offer,
    .offer-panel:not(.offer-panel-center) .offer-controls .offer-terms {
        display: none;
    }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .offer-button.offer-button-peel:before,
    .offer-button.offer-button-peel:after {
        display: none;
    }
    .offer-button.offer-button-peel {
        padding-right: 0;
    }
    .offer-code input {
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        text-align: center;
        letter-spacing: 1.5px;
        border: none;
    }
    .offer-code .offer-code-copy {
        display: none;
    }
    .offer-email-retailer-url > div {
        display: block !important;
    }
}
@supports (-ms-ime-align:auto) {
    .offer-button.offer-button-peel:before,
    .offer-button.offer-button-peel:after {
        display: none;
    }
    .offer-button.offer-button-peel {
        padding-right: 0;
    }
    .offer-code input {
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        text-align: center;
        letter-spacing: 1.5px;
        border: none;
    }
    .offer-code .offer-code-copy {
        display: none;
    }
    .offer-email-retailer-url > div {
        display: block !important;
    }
}

/* Typeform integration */
#typeform:after {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    background-color: #23c7d3;
    content: '';
}
#typeform #typeform-iframe {
    height: calc(100% - 41px);
    top: 31px;
    border: none;
    position: fixed;
    left: 0;
    width: 100%;
}
#typeform #backto-bar {
    height: 31px;
}

/* Freebies */
#freebies-feedback > .row {
    padding: 10px 0;
    margin-top: 0;
}
#freebies-feedback > .row:first-child {
    border-bottom: 1px solid #26484f;
}
#freebies-feedback > .row:nth-child(even) {
    background-color: #f6f6f6;
}
#freebies-feedback .freebie-title {
    font-weight: bold;
}
#freebies-feedback p:not(.freebie-title) {
    font-size: 0.9em;
}
#freebies-feedback .freebie-image {
    width: 100px;
    height: 100px;
    background-size: cover;
    background-position: center;
    display: inline-block;
    border-radius: 50%;
}
#freebies-listing .freebie {
    padding: 20px 40px;
}
#freebies-listing .freebie:nth-child(odd) {
    background-color: #fff;
}
#freebies-listing .freebie h2 {
    font-size: 30px;
    font-weight: normal;
}
#freebies-listing .freebie h2 a {
    color: #38404d;
}
#freebies-listing .freebie h2 a:hover {
    color: #00b9c8;
    text-decoration: none;
}
#freebies-listing .freebie h2:after {
    border-top: none;
    top: auto;
    bottom: -11px;
    border-bottom: 3px solid #f0ae31;
}
#freebies-listing .freebie:nth-child(even) h2:after {
    border-color: #5944a4;
}

#floating-submit,
#flash-messages {
    position: fixed;
    z-index: 20000;
    bottom: -100px;
    left: 220px;
    width: calc(100% - 220px);
    -webkit-transition: bottom 0.8s;
    -moz-transition: bottom 0.8s;
    -ms-transition: bottom 0.8s;
    -o-transition: bottom 0.8s;
    transition: bottom 0.8s;
    padding: 15px;
}
#floating-submit {
    background-color: rgba(255, 255, 255, 0.6);
    padding-right: 60px;
}
#flash-messages {
    cursor: pointer;
    text-align: center;
    background-color: rgba(35, 199, 211, 0.9);
    color: #fff;
    font-weight: bold;
}
#flash-messages.flash-warnings {
    background-color: rgba(100, 0, 0, 0.6);
}
#opt-in-page #flash-messages,
#members-login #flash-messages {
    left: 0;
    width: 100%;
}
#flash-messages:after {
    content: "\f00d";
    font-family: FontAwesome;
    position: absolute;
    right: 20px;
    top: 50%;
    font-weight: normal;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 25px;
    color: #fff;
}
#floating-submit.in,
#flash-messages.in {
    bottom: 0;
}

/* User deets */
.user-details {
    color: #4d4f5c;
    word-wrap: break-word;
}
.user-details label {
    margin-bottom: 0;
}
.user-details > div ul {
    list-style: none;
    color: red;
    margin: 0;
    padding: 0;
}
.user-details > div {
    margin-bottom: 20px;
}
.user-details strong {
    display: block;
}
.user-details .non-edit {
    position: relative;
}
.user-details .non-edit:after {
    font-family: 'FontAwesome';
    content: '\f040';
    position: absolute;
    right: 0;
    height: 100%;
    display: block;
    background: -moz-linear-gradient(left, rgba(58,58,58,0) 0%, rgba(255,255,255,0.83) 67%, rgba(255,255,255,1) 81%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(58,58,58,0) 0%,rgba(255,255,255,0.83) 67%,rgba(255,255,255,1) 81%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(58,58,58,0) 0%,rgba(255,255,255,0.83) 67%,rgba(255,255,255,1) 81%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003a3a3a', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
    top: -4px;
    color: #a7b0b8;
    text-align: right;
    padding: 4px 3px;
    box-sizing: border-box;
    width: 20%;
    pointer-events: none;
}
.user-details .form-control {
    font-weight: bold;
}
.user-details .non-edit input,
.user-details .non-edit select {
    border: none;
    padding: 0;
    color: #444a55;
    font-weight: bold;
}
.user-details .non-edit select {
    position: relative;
    left: -5px;
    height: auto !important;
}

/* Forms */
.gems-button {
    background-color: #c3d058;
    display: inline-block;
    text-transform: uppercase;
    cursor: pointer;
    padding: 3px 30px 4px;
    border-radius: 15px;
    font-family: 'Interstate', Rubik, Arial, sans-serif;
    border: 1px solid #c3d058;
    color: #0e101d !important;
    text-decoration: none !important;
    transition: background-color 0.6s, color 0.6s, border-color 0.6s;
    font-size: 20px;
}
.gems-button.gems-button-transparent {
    background: none;
    border: none;
    color: #0e101d !important;
}
.gems-button.gems-button-blue {
    background-color: #0e101d;
    border-color: #0e101d;
    color: #fff6ed !important;
}
.gems-button.gems-button-small {
    font-size: 1rem;
    padding: 3px 20px !important;
    color: #fff6ed;
}
.gems-button.gems-button-inline {
    display: inline-block;
    width: auto;
    padding-left: 40px;
    padding-right: 40px;
}
.gems-button:hover {
    background-color: #0e101d;
    border-color: #0e101d;
    color: #C3D058 !important;
}
.gems-button.gems-button-blue:hover {
    background-color: #0e101d;
    border-color: #0e101d;
}
.gems-button.gems-button-transparent:hover {
    background-color: transparent;
    border-color: #48b3bd;
    color: #000 !important;
}
.gems-button.gems-button-red {
    background-color: red;
    border-color: red;
}
.gems-button.gems-button-outline.gems-button-disabled {
    opacity: 0.3;
    cursor: default;
}
.gems-button.gems-button-cancel {
    background: none;
}
.gems-button.gems-button-down {
    position: relative;
    padding-right: 50px;
}
.gems-button.gems-button-down:after {
    font-family: 'FontAwesome';
    content: '\f078';
    font-size: 13px;
    position: absolute;
    right: 20px;
    top: calc(50% - 1px);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.gems-button:disabled {
    cursor: default;
}
.gems-button.gems-button-grey {
    background-color: #fff6ed !important;
    border-color: #0e101d !important;
    border-width: 1px;
}
.gems-button.gems-button-grey:hover {
    color: #3c3c3c !important;
    background-color: #333a48;
    border-color: #333a48;
    border-width: 1px;
}
.gems-button.gems-button-full {
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center;
    display: block;
}
.gems-button.gems-button-outline,
.gems-button:disabled {
    background-color: #fff !important;
    color: #444a55 !important;
    border: 1px solid #444a55 !important;
}
.gems-button:disabled {
    opacity: 0.5;
    pointer-events: none;
}
.gems-button.gems-button-outline.gems-button-blue {
    border-color: #00c9d2;
    color: #00c9d2 !important;
}
.gems-button.gems-button-outline:hover {
    border-color: #ffb840 !important;
    color: #ffb840 !important;
}
.gems-button.gems-button-outline.gems-button-blue:hover {
    border-color: #444a55;
    color: #444a55 !important;
    background: #fff;
}
ul.gems-button-list {
    list-style: none;
    padding: 0;
}
ul.gems-button-list li {
    position: relative;
    padding: 5px 0 11px;
}
.gems-underline:after {
    content: ' ';
    border-bottom: 1px solid #f6b93d;
    position: absolute;
    width: 30%;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
.gems-underline.gems-underline-left:after {
    left: 0;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
}
ul.gems-button-list li:last-child:after {
    border-color: #e78491;
    width: 15%;
}
ul.gems-button-list li:not(:last-child) {
    margin-bottom: 5px;
}
.gems-underline {
    padding-bottom: 20px;
}
.gems-underline:after {
    bottom: 20px;
    width: 15%;
}
#group-opt-in .gems-button:not(.gems-button-outline) {
    font-weight: bold !important;
    color: #4d4f5c !important;
    padding: 10px 60px 8px;
}

textarea.bg-lightish {
    background-color: #e5e5e5;
    border: none;
}
textarea.bg-light,
#invite-team textarea {
    background-color: #fff6ed;
    border: none;
}
#members-login.members-sign-up #login-box {
    width: 500px;
    position: relative;
    top: 80px !important;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    padding-bottom: 30px;
}
#members-login .signup-logo {
    width: 220px !important;
}
#members-login.members-sign-up.ambassador-invite #login-box {
    width: 80%;
}
#members-login.members-sign-up.refer-company #login-box {
    width: 85%;
}
#members-login.members-sign-up #login-box p.h5,
#members-login.members-sign-up #login-box h2 {
    max-width: 500px;
    margin: 0 auto 20px;
}
#members-login.members-sign-up #login-box .form-group ul {
    padding: 0 13px;
    margin: 5px 0 0;
    list-style: none;
    font-size: 0.9rem;
    color: red;
}
#members-login .member-signup-box {
    padding: 50px 15%;
    border-bottom: 5px solid #ffb940;
    color: #fff6ed;
}
#members-login .member-signup-box a {
    color: #fff6ed;
    text-decoration: underline;
}
#members-login .member-signup-box input {
    width: 100%;
    border: none;
    padding: 15px 30px;
}
#members-login .member-signup-box .error {
    text-align: center;
}
#members-login .member-signup-box .error ul {
    padding-top: 5px;
    color: #ffb940;
}

@media (max-width: 768px) {
    #members-login .member-signup-box {
        padding: 20px;
    }
    #members-login .member-signup-box input {
        padding: 10px 20px;
    }
}

.off-left,
#sign-up_gender_balance {
    position: absolute;
    left: -9999px;
}
#backto-bar {
    background-color: #0e101d;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    font-style: 'Product';
    padding: 6px 8px;
    font-size: 0.8rem;
    box-sizing: border-box;
    text-transform: uppercase;
}
#backto-bar a {
    color: #fff !important;
}
#members-login.members-survey .form-check {
    padding-left: 0;
}

/* Bootstrap additions */
#members-login:not(.members-sign-up) .form-group:not(.label-nobold) label {
    margin-bottom: 10px;
    font-weight: bold;
}
#members-login:not(.members-sign-up) .form-control + ul,
#members-login:not(.members-sign-up) .form-control-file + ul {
    color: red;
    margin-top: 10px;
}
.error {
    color: red;
}
.error ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.valid {
    color: green;
}
#members-login.members-sign-up .valid,
#members-login.members-sign-up .error {
    padding: 5px 13px 0;
    font-size: 0.9rem;
}
body:not(.members-sign-up) .form-check {
    position: relative;
}
body:not(.members-sign-up) .form-check i {
    position: absolute;
    left: 0;
    top: 2px;
    color: #d9dcde;
}
body:not(.members-sign-up) .form-check label {
    cursor: pointer;
}
body:not(.members-sign-up) .form-check:not(.form-login-check) input[type="checkbox"] {
    visibility: hidden;
    position: absolute;
    left: -9999px;
}
body:not(.members-sign-up) .form-check input[type="checkbox"]:checked + i {
    color: #59c1c2;
}
body:not(.members-sign-up) .check-slider input[type="checkbox"] {
    visibility: hidden;
    position: absolute;
    left: -9999px;
}
#email-valid,
#email-validation-error {
    display: none;
}
#email-field-container {
    position: relative;
}
#email-field-container button {
    position: absolute;
    display: none;
    right: 4px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.check-slider {
    position: relative;
}
.check-slider.check-slider-img img {
    display: inline-block;
    width: 30px;
    height: auto;
    position: absolute;
    left: 0;
    top: -3px;
}
.check-slider .slider {
    display: block;
    cursor: pointer;
    background-color: #a1a3ab;
    border: 2px solid #a1a3ab;
    border-radius: 9px;
    height: 20px;
    width: 40px;
    position: relative;
}
.check-slider.check-slider-right {
    padding-right: 50px;
    margin-bottom: 10px;
}
.check-slider.check-slider-img {
    padding-left: 40px;
}
.check-slider.check-slider-right .slider {
    position: absolute;
    right: 0;
    top: -5px;
}
.check-slider.check-slider-inline .slider {
    display: inline-block;
}
.check-slider.check-slider-inline .slider + span {
    position: relative;
    top: -4px;
    font-size: 14px;
}
.check-slider .slider:after {
    position: absolute;
    width: 17px;
    height: 17px;
    top: 50%;
    left: 0;
    -webkit-transition: left 0.5s;
    -moz-transition: left 0.5s;
    -ms-transition: left 0.5s;
    -o-transition: left 0.5s;
    transition: left 0.5s;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    display: block;
    background-color: #fff;
    content: '\f00d';
    font-family: 'FontAwesome';
    line-height: 100%;
    text-align: center;
    color: #a1a3ab;
    font-size: 15px;
}
.check-slider input[type="checkbox"]:checked + .slider {
    background-color: #51b8c4;
    border-color: #51b8c4;
}
.check-slider input[type="checkbox"]:checked + .slider:after {
    color: #51b8c4;
    left: calc(100% - 17px);
    content: '\f00c';
}

/* Mobile */
.desktop-hide {
    display: none;
}

/* Campaign progress */
body.campaign-progress #content > div {
    padding-top: 0;
}
.boxout-heading {
    background-color: #59c1c2;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px;
}
.boxout {
    word-wrap: break-word;
    background-color: #fff;
    padding: 20px;
    box-shadow: 1px 1px 3px 2px rgba(0,0,0,0.03);
    position: relative;
}
.boxout.boxout-slim {
    padding: 10px;
}
.boxout.boxout-bordered {
    box-shadow: none;
    border: 1px solid #59c1c2;
    border-radius: 4px;
}
.boxout.boxout-plain {
    box-shadow: none;
}
.boxout.boxout-border-bottom-grey {
    border-bottom: 5px solid #444a55;
}
.boxout.boxout-border-bottom-blue {
    border-bottom: 5px solid #59c1c2;
}
.boxout img {
    max-width: 100%;
    height: auto;
}
.boxout.boxout-match-height,
.row.row-match-boxout-height .boxout {
    height: calc(100% - 20px);
    padding-bottom: 40px;
}
.row.row-match-boxout-height.row-match-boxout-height-full .boxout:not(.boxout-star),
.boxout.boxout-match-height.boxout-match-height-full {
    height: 100%;
}
.row.row-bottom-padding > div {
    margin-bottom: 1.5rem;
}
.boxout.boxout-treat {
    padding-bottom: 100px !important;
}
.boxout.boxout-treat .opt-out-close {
    position: absolute;
    top: 5px;
    right: 13px;
    cursor: pointer;
    color: #a1afb8;
    font-size: 28px;
}
.boxout.boxout-treat .opt-out-close span {
    position: absolute;
    background-color: #434a56;
    color: #fff;
    font-size: 14px;
    top: 8px;
    text-align: center;
    width: 320px;
    border-radius: 4px;
    right: calc(100% + 15px);
    padding: 7px;
    display: none;
}
.boxout.boxout-treat .opt-out-close span:after {
    position: absolute;
    content: '';
    left: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 10px solid #434a56;
}
.boxout.boxout-treat .opt-out-close span a {
    color: #fff;
}
.boxout.boxout-treat .opt-out-close span a.opt-out-close-submit {
    color: #59c1c2;
}
.boxout.boxout-treat .opt-out-close:hover {
    color: #434a56;
}
.boxout.boxout-treat h2 a {
    color: #4d4f5c;
}
.boxout.boxout-bottom {
    padding-bottom: 20px;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
.boxout.boxout-bottom:after {
    content: ' ';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
}
.boxout.boxout-border-left-blue {
    border-left: 7px solid #21c7d3;
}
.row.row-match-boxout-height .boxout.boxout-treat-blurred {
    padding-bottom: 250px;
    filter: blur(2.5px);
}
.boxout.boxout-treat .boxout-treat-cta {
    position: absolute;
    bottom: 20px;
    right: 20px;
}
#no-treats-explain {
    position: absolute;
    z-index: 100;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 23px;
    text-align: center;
}
#treat-page .boxout.boxout-treat {
    padding-bottom: 40px;
}
.boxout.boxout-status {
    padding-left: 130px;
    border-left: 5px solid #21c7d3;
}
.boxout.boxout-status h2 {
    font-weight: 400;
    font-style: none;
    font-size:  16px;
    font-family: 'Product', Asap, Arial, sans-serif;
}
a.stats-explain,
.boxout.boxout-status a {
    color: #4d4f5c;
    font-size: 13px;
}
.boxout.boxout-status > div {
    position: absolute;
    left: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100px;
}
.boxout.boxout-status > div > span {
    display: inline-block;
    width: 20%;
    float: left;
    height: 25px;
    background-position: center;
    background-size: 90% auto;
    background-image: url('/assets/img/gem_full.svg');
    background-repeat: no-repeat;
}
.boxout.boxout-status.boxout-status-silver > div > span:nth-child(4) ~ span,
.boxout.boxout-status.boxout-status-bronze > div > span:nth-child(3) ~ span,
.boxout.boxout-status.boxout-status-new > div > span:nth-child(2) ~ span,
.boxout.boxout-status.boxout-status-probation > div > span:nth-child(1) ~ span,
.boxout.boxout-status.boxout-status-lapsed > div > span {
    background-image: url('/assets/img/gem_empty.svg');
}
.boxout.boxout-star {
    padding-left: 70px;
    background-position: center left 17px;
    background-size: 40px 40px;
    background-repeat: no-repeat;
    color: #4d4f5c;
    border-left: 5px solid #4d4f5c;
}
.boxout.boxout-star h2 {
    font-weight: 400;
    text-transform: uppercase;
}
.boxout.boxout-star.boxout-star-stat {
    padding-left: 20px;
}
.boxout.boxout-star.boxout-star-stat p {
    display: inline;
}
.boxout.boxout-star.boxout-star-stat p:first-child {
    font-size: 40px;
    font-family: Rubik, Arial, sans-serif;
    padding-right: 10px;
}
.boxout.boxout-star.boxout-star-stat:not(.boxout-no-transform) p:last-child {
    text-transform: lowercase;
}
.boxout.boxout-star.boxout-star-stat p:last-child {
    font-size: 15px;
}
.boxout.boxout-star.boxout-star-gold {
    background-image: url('img/icon_star_circle_yellow.svg');
}
.boxout.boxout-star.boxout-star-silver {
    background-image: url('img/icon_star_circle_teal.svg');
}
.boxout.boxout-star.boxout-star-bronze {
    background-image: url('img/icon_star_circle_red.svg');
}
.boxout.boxout-star.boxout-star-lapsed,
.boxout.boxout-star.boxout-star-probation,
.boxout.boxout-star.boxout-star-new {
    background-image: url('img/icon_star_circle_grey.svg');
}
.boxout.boxout-star.boxout-star-campaigns {
    background-image: url('img/icon_campaign_circle.svg');
}
.boxout.boxout-star.boxout-star-progress {
    background-image: url('img/icon_star_progress.svg');
    color: #22c7d3;
}
.boxout.boxout-star.boxout-star-progress p {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.boxout.boxout-star.boxout-star-progress a {
    color: #22c7d3;
    text-decoration: underline  ;
}
.boxout.boxout-star.boxout-star-team {
    background-image: url('img/icon_head_circle_purple.svg');
    border-color: #5c4792;
}
.boxout.boxout-star.boxout-star-treat {
    background-image: url('img/icon_treats_circle_teal.svg');
}
.boxout .boxout-heading-muted {
    font-weight: bold;
    color: #a2a5aa;
    margin: 0 !important;
}
.boxout.boxout-small-padding {
    padding: 10px;
}
.boxout-heading + .boxout {
    border-radius: 0;
    border-bottom-right-radius: 9px;
    border-bottom-left-radius: 9px;
}
.boxout .boxout-stat {
    font-size: 70px;
    line-height: 4rem;
}
.boxout h2.no-highlight {
    padding: 0;
}
.boxout h2.no-highlight:after {
    display: none;
}
.boxout.boxout-announcement p {
    font-style: none;
    font-size: 18px;
}
.boxout.boxout-announcement p:last-child {
    position: relative;
    padding-bottom: 30px;
}
.boxout.treat-image {
    text-align: center;
}
.boxout .boxout-explain {
    position: absolute;
    top: 10px;
    padding-top: 30px;
    right: 20px;
    width: calc(100% - 40px);
}
.boxout .boxout-explain > .boxout-explain-tip:before,
.boxout .boxout-explain > .boxout-explain-cta {
    content: '?';
    font-family: 'Asap', Arial, sans-serif;
    font-size: 30px;
    font-weight: 800;
    color: #444a55;
}
.boxout .boxout-explain > .boxout-explain-cta {
    position: absolute;
    right: -9px;
    top: -5px;
    font-size: 25px;
    padding: 0 10px;
    transition: color 0.3s;
}
.boxout .boxout-explain > .boxout-explain-tip {
    position: absolute;
    background-color: #444a55;
    border-radius: 6px;
    color: #fff;
    padding: 30px;
    pointer-events: none;
    width: 100%;
    z-index: 100;
    right: -30px;
    top: 40px;
    transition: transform 0.3s, opacity 0.3s;
    transform: translateY(-15px);
    opacity: 0;
    -webkit-box-shadow: 0px 12px 19px 2px rgba(0,0,0,0.17);
    -moz-box-shadow: 0px 12px 19px 2px rgba(0,0,0,0.17);
    box-shadow: 0px 12px 19px 2px rgba(0,0,0,0.17);
}
.boxout .boxout-explain .boxout-explain-cta:hover {
    color: #22c7d3;
}
.boxout .boxout-explain .boxout-explain-cta:hover + .boxout-explain-tip {
    opacity: 1;
    transform: translateY(0);
}
.boxout .boxout-explain > .boxout-explain-tip:after {
    content: '';
    position: absolute;
    bottom: 100%;
    right: 25px;
    border-bottom: 10px solid #444a55;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
}
.boxout .boxout-explain > .boxout-explain-tip:before {
    display: block;
    color: #22c7d3;
}
.boxout.treat-image img {
    max-width: 60%;
}
.boxout-heading-image {
    background-size: cover;
    background-position: center;
    padding-bottom: 52%;
    position: relative;
    color: #fff;
    top: -20px;
    left: -20px;
    width: calc(100% + 40px);
}
.boxout-heading-image > * {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    font-size: 40px;
}
.boxout-heading-image img {
    max-width: 45%;
}
.boxout-heading-image:after {
    content: '';
    top: 7px;
    left: 7px;
    bottom: 7px;
    right: 7px;
    background: rgba(10, 10, 10, 0.3);
    position: absolute;
}
.boxout .boxout-heading-large {
    padding-left: 17%;
    padding-right: 17%;
    font-size: 20px;
}
body.campaign-progress .h2,
body.campaign-progress h2:not(.h1) {
    position: relative;
    font-size: 18px;
    font-weight: 300;
    padding-bottom: 8px;
    margin-bottom: 20px;
}
body.campaign-progress .h2 {
    line-height: normal !important;
}
body.campaign-progress .h2:not(.no-border):after,
.boxout.boxout-announcement p:last-child:after,
body.campaign-progress h2:not(.h1):after {
    border-bottom: 1px solid #f6b93d;
    width: 80px;
    top: 100%;
    left: 0;
    position: absolute;
    content: ' ';
}
body.campaign-progress h2.underline-center:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
body.campaign-progress h2.heading-alert:after {
    border-color: #de4351;
}
body.campaign-progress h2.boxout-heading {
    color: #fff;
    padding: 27px 20px 10px;
    margin-bottom: 0;
}
body.campaign-progress h2.boxout-heading:after {
    border-color: #fff;
    left: 20px;
    top: 20px;
}

@media (max-width: 768px) {
    .boxout-heading-image + .boxout {
        padding-left: 10%;
        padding-right: 10%;
        font-size: 18px;
    }
}

.date-countdown ul {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 27px;
    font-weight: 300;
    margin-bottom: 20px;
}
.date-countdown ul li {
    display: inline-block;
}
.date-countdown .date-countdown-bar {
    background-color: #444a55;
    border-radius: 12px;
    height: 10px;
    position: relative;
}
.date-countdown .date-countdown-bar span {
    display: inline-block;
    background-color: #56c6d4;
    position: absolute;
    left: 0;
    height: 10px;
    border-radius: 12px;
    width: 0;
    -webkit-transition: width 1s;
    -moz-transition: width 1s;
    -ms-transition: width 1s;
    -o-transition: width 1s;
    transition: width 1s;
}
.campaign-image {
    text-align: center;
}
.campaign-image img {
    max-width: 100%;
    max-height: 140px;
}
.status-image {
    max-width: 60%;
    max-height: 200px;
}
.leaderboard-position {
    border: 1px solid #ededee;
    border-radius: 5px;
    padding: 4px 4px 4px 30%;
    box-sizing: border-box;
    position: relative;
}
.leaderboard-position.highlight {
    color: #fff;
    background-color: #59c1c2;
    border-color: #59c1c2;
}
.leaderboard-position:not(:last-child) {
    margin-bottom: 5px;
}
.leaderboard-position .ambassador-name {
    padding-right: 40px;
}
.leaderboard-position .gem-badge,
.leaderboard-position .position,
.leaderboard-position .avatar {
    position: absolute;
}
.leaderboard-position .gem-badge {
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    border-width: 2px;
    border-style: solid;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 85% auto;
}
.leaderboard-position .gem-badge.gem-badge-gold {
    border-color: #ffb840;
    background-image: url('/assets/img/icon_gem_gold.svg');
}
.leaderboard-position .gem-badge.gem-badge-silver {
    border-color: #b3b3b3;
    background-image: url('/assets/img/icon_gem_silver.svg');
}
.leaderboard-position .gem-badge.gem-badge-bronze {
    border-color: #8f6d33;
    background-image: url('/assets/img/icon_gem_bronze.svg');
}
.leaderboard-position .position {
    left: 6%;
    background-color: #444a55;
    color: #fff;
    font-weight: bold;
    display: inline-block;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    text-align: center;
    z-index: 40;
}
.leaderboard-position.highlight .position {
    background: none;
    border: none;
    left: 10px;
    top: 50%;
    width: auto;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.leaderboard-position.highlight .position:before {
    content: '#';
}
.leaderboard-position .avatar {
    left: calc(6% + 15px);
    width: 40px;
    height: 40px;
    border: 1px solid #ededee;
}
.leaderboard-position.highlight .avatar {
    display: none;
}
.leaderboard-position small {
    display: block;
    margin-top: -3px;
}
#profile-elements {
    font-size: 0.85rem;
}
#profile-elements a {
    color: #4d4f5c;
}
#profile-elements i {
    font-size: 1rem;
    float: right;
    position: relative;
    top: 3px;
    color: #d9dcde;
}
#profile-elements .profile-element {
    padding-right: 20px;
}
#profile-elements .element-completed {
    font-weight: bold;
}
#profile-elements .element-completed i {
    color: #68b8c5;
}

/* Page markers */
.page-markers {
    position: relative;
}
.page-markers:before {
    content: '';
    position: absolute;
    left: -31px;
    height: 100%;
    width: 1px;
    border-left: 1px solid #8fe2e8;
}
.page-markers h1,
.page-markers h2.h1 {
    position: relative;
}
.page-markers h1:before,
.page-markers h2.h1:before,
.page-markers h1:after,
.page-markers h2.h1:after {
    content: '';
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.page-markers h1:before,
.page-markers h2.h1:before {
    left: -36px;
    width: 11px;
    height: 11px;
    border: 1px solid #8fe2e8;
    border-radius: 50%;
    background-color: #fcfcfc;
    z-index: 2;
}
.page-markers h1:after,
.page-markers h2.h1:after {
    width: 21px;
    height: 1px;
    background-color: #8fe2e8;
    left: -29px;
    z-index: 1;
}
.page-markers .page-marker-bookmarks {
    text-align: center;
    list-style: none;
    font-size: 14px;
    background-color: #fcfcfc;
    position: relative;
    width: 100%;
    text-transform: uppercase;
    padding: 10px 0;
}
.page-markers .page-marker-bookmarks.fixed {
    position: fixed;
    left: 220px;
    top: 60px;
    width: calc(100% - 220px);
    z-index: 50;
}
.page-markers .page-marker-bookmarks li {
    display: inline-block;
    padding: 0 10px 5px;
    position: relative;
}
.page-markers .page-marker-bookmarks a {
    color: #22c7d3;
    opacity: 0.7;
    letter-spacing: 1px;
}
.page-markers .page-marker-bookmarks a:hover {
    text-decoration: none;
}
.page-markers .page-marker-bookmarks a.active {
    opacity: 1;
    font-weight: bold;
}
.page-markers .page-marker-bookmarks a:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    border-bottom: 2px solid #22c7d3;
    width: 0;
    -webkit-transition: width 0.3s;
    -moz-transition: width 0.3s;
    -ms-transition: width 0.3s;
    -o-transition: width 0.3s;
    transition: width 0.3s;
}
.page-markers .page-marker-bookmarks a.active:after {
    width: 70px;
}

#campaign-progress-meter {
    display: flex;
    flex-direction: row;
    position: relative;
    max-width: 600px;
    top: 40%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
#campaign-progress-meter > div {
    display: inline-block;
    width: 25%;
    position: relative;
}
#campaign-progress-meter > div p {
    text-align: center;
    position: absolute;
    font-size: 0.85rem;
    padding: 10px 5px 0;
    line-height: 110%;
}
#campaign-progress-meter > div:not(:last-child):after {
    content: ' ';
    background-color: #59c1c2;
    position: absolute;
    width: 38%;
    height: 20%;
    left: 81%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
#campaign-progress-meter .progress-icon {
    border: 8px solid #59c1c2;
    width: 70%;
    box-sizing: border-box;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    border-radius: 50%;
    padding-bottom: calc(70% - 16px);
}
#campaign-progress-meter .progress-icon img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 60%;
}
.notify-icons img {
    width: 60px;
}

/* Login page */
#members-login {
    background: url('/assets/img/bg_skyline.svg') no-repeat; 
    background-position: center bottom;
    background-size: 100% auto;
    background-attachment: fixed;
    position: relative;
}
#members-login.ambassador-invite {
    background: none;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    #members-login {
        background: url('/assets/img/bg_skyline.jpg') no-repeat;
        background-position: center bottom;
        background-size: 100% auto;
        background-attachment: fixed;
        position: relative;
        filter:grayscale(100%)
    }
}
#members-login.members-error {
    color: #434955;
}
#members-login.members-error .massive {
    font-family: 'Interstate', Rubik, Arial, sans-serif;
    font-size: 200px;
    font-weight: 300;
    line-height: 150px;
    color: #0e101d;
}
#members-login.members-error #login-box {
    font-family: 'Product', Rubik, Arial, sans-serif;
    font-size: 20px;
    top: 30% !important;
    z-index: 1000;
}
#members-login.members-error .error404-images {
    position: fixed;
    bottom: 30px;
    width: 100%;
    height: 50%;
    z-index: 0;
    text-align: center;
}
#members-login.members-error .error404-images img {
    position: absolute;
    bottom: 0;
    left: 50%;
    display: none;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 55%;
    z-index: 0;
}
#members-login.members-error .error404-images img.show {
    display: inline-block;
    z-index: 1000;
}
#members-login.no-bg {
    background: none #fff6ed

}
#members-login input::-webkit-input-placeholder {
    font-weight: bold;
    color: #6e7580;
}
#members-login input::-moz-placeholder {
    font-weight: bold;
    color: #6e7580;
}
#members-login input:-ms-input-placeholder {
    font-weight: bold;
    color: #6e7580;
}
#members-login #login-box {
    position: absolute;
    top: 52%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
}
#members-login.in #login-box {
    opacity: 1;
    top: 50%;
}
.gems-button.gems-button-shadow,
#members-login .gems-button {
    -webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.14);
    -moz-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.14);
    box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.14);
    font-weight: bold;
}
body:not(.members-survey) #login-box img:not(.referral-email) {
    width: 320px;
}
#members-login.member-opt-in #login-box img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
#members-login.member-opt-in #login-box p:not(:last-of-type) {
    margin-bottom: 20px;
}
#gems-logo {
    width: 200px !important;
}
#members-login.members-survey:not(.member-opt-in) img:not(.referral-email) {
    max-width: 300px;
    height: auto;
}
#members-login.members-survey img.campaign-image {
    width: 300px;
    max-width: none;
}
#members-login.members-survey label + ul {
    list-style: none;
    padding: 0;
    color: red;
}
#members-login.members-survey #login-box {
    width: 600px;
}
.retailers img {
    width: auto;
    max-width: 100% !important;
}
img.referral-email {
    width: 100%;
}
#login-container {
    background-color: rgb(234, 235, 237, 0.9);
    border-radius: 25px;
    width: 480px;
    padding: 30px;
}
#members-login:not(.members-sign-up) button,
#members-login:not(.members-sign-up) input {
    border: none;
    display: inline-block;
    border-radius: 20px;
}
#members-login h2 {
    text-align: center;
    font-size: 24px;
    text-transform: lowercase;
    margin-bottom: 20px;
}
#members-login.members-sign-up {
    color: #000;
    background-color: #fff6ed;
}
#members-login.members-sign-up h2 {
    text-transform: none;
    margin-bottom: 30px;
}
#members-login.members-sign-up hr {
    border: 1px solid #c3d058;
    margin: 0 35% 25px;
}
#members-login.members-sign-up.delivery-address hr {
    border-color: #51b9c4;
}
#members-login.members-sign-up.your-company hr {
    border-color: #de4351;
}
#members-login.members-sign-up.about-you hr {
    border-color: #6c40af;
}
#members-login .form-group #reset ul {
    list-style: none;
    color: red;
    padding: 0;
    text-align: center;
}
#members-login #login label:not(.form-check-label),
#members-login .form-group #reset label {
    display: none;
}
#members-login .form-check:not(.form-check-confirm) {
    position: relative;
    top: -10px;
    left: 24px;
}
#members-login a {
    color: #38404d;
}
#members-login:not(.members-sign-up) input:not([type="checkbox"]) {
    margin-bottom: 20px;
    padding: 14px 18px 14px 50px;
    background-color: #9a9ea5;
    background-repeat: no-repeat;
    color: #38404d;
    font-weight: bold;
    -webkit-transition: background-color 0.3s;
    -moz-transition: background-color 0.3s;
    -ms-transition: background-color 0.3s;
    -o-transition: background-color 0.3s;
    transition: background-color 0.3s;
}
#members-login:not(.members-sign-up) input:focus {
    background-color: #bcc0c6;
}
#members-login:not(.members-sign-up) .error {
    list-style: none;
    padding: 0;
    text-align: center;
}
#members-login:not(.members-sign-up) input.login-email {
    background-position: top 15px left 20px;
    background-size: 20px;
    background-image: url('/assets/img/icon_email_login.png');
}
#members-login:not(.members-sign-up) input.login-password {
    background-image: url('/assets/img/icon_lock.png');
    background-position: top 15px left 22px;
    background-size: 17px;
}
#members-login:not(.members-sign-up) button {
    padding: 14px 18px;
    width: 100%;
    background-color: #70c0c3;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
}
#members-login.members-sign-up label {
    padding-left: 6px;
    margin-bottom: 4px;
}
#invite-team textarea::-webkit-input-placeholder,
#members-login.members-sign-up input::-webkit-input-placeholder {
    color: #bfbfbf;
}
#invite-team textarea::-moz-placeholder,
#members-login.members-sign-up input::-moz-placeholder {
    color: #666;
}
#invite-team textarea:-ms-input-placeholder,
#members-login.members-sign-up input:-ms-input-placeholder {
    color: #bfbfbf;
}
#invite-team textarea:-moz-placeholder,
#members-login.members-sign-up input:-moz-placeholder {
    color: #bfbfbf;
}
#members-login.members-sign-up .gems-select select:invalid {
    color: #bfbfbf;
    font-weight: bold;
}
#members-login.members-sign-up .gems-select select:focus {
    font-weight: normal;
    color: #495057;
}
#address-confirm {
    display: none;
}
#address-manual a {
    color: #00b9c8;
}
#not-found,
#address-select-container {
    display: none;
}
#address-select-container.show {
    display: block;
}
#address-select-container.show + #address-manual {
    margin-top: 1.5rem;
}

#treat-guide-img {
    height: 100%;
    background: url('img/treats_guide.jpg') no-repeat;
    background-size: cover;
    position: relative;
    color: #fff;
}
#treat-guide-img > div {
    padding: 18% 20px;
}
#treat-guide-img h2 {
    color: #fff;
    font-size: 30px;
    position: relative;
    z-index: 1;
    font-style: italic;
}
#treat-guide-img p {
    z-index: 1;
    font-size: 20px;
    position: relative;
}
#treat-guide-img:after {
    content: '';
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#444a55+26,7db9e8+100&0.75+0,0+100 */
    background: -moz-linear-gradient(left, rgba(68,74,85,0.75) 0%, rgba(68,74,85,0.55) 26%, rgba(125,185,232,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(68,74,85,0.75) 0%,rgba(68,74,85,0.55) 26%,rgba(125,185,232,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(68,74,85,0.75) 0%,rgba(68,74,85,0.55) 26%,rgba(125,185,232,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bf444a55', endColorstr='#007db9e8',GradientType=1 ); /* IE6-9 */

}

/* Homepage promotion */
#home-promo i,
#home-promo svg {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
#home-promo i {
    font-size: 50px;
}
#home-promo svg {
    width: 50px;
    height: auto;
}
#home-promo .home-promo {
    background-color: #fcfcfc;
    padding: 51px 10px 20px;
    min-height: 249px;
    border-bottom: 2px solid #d6d6d6;
    position: relative;
}
#home-promo .home-promo a {
    color: #4d4f5c;
}
#home-promo .home-promo a:hover {
    text-decoration: none;
}
@media (min-width: 1200px) {
    #home-promo .home-promo {
        padding: 75px 10px 20px;
        min-height: 300px;
    }
}
#home-promo .home-promo .home-promo-banner {
    position: absolute;
    top: 20px;
    left: -10px;
    padding: 5px 27px 4px;
    text-transform: uppercase;
    color: #fff;
    font-weight: 300;
    font-family: Rubik, Arial, sans-serif;
}
#home-promo .home-promo .home-promo-banner:after {
    position: absolute;
    background-color: #444a55;
    content: ' ';
    height: 3px;
    width: 10px;
    top: 100%;
    left: 0;
}
#home-promo .home-promo .home-promo-title {
    font-size: 23px;
    margin-top: 65px;
    line-height: normal;
}
#home-promo .home-promo .home-promo-cta {
    position: absolute;
    width: 100%;
    bottom: 20px;
    left: 0;
}
#home-promo .home-promo .home-promo-cta .gems-button {
    padding-left: 0;
    padding-right: 0;
    width: 80%;
    margin: 0 auto;
}

/* Treat page */
#treats-checklist .row > div {
    font-size: 13px;
    text-align: center;
    padding-top: 50px;
    position: relative;
}
#treats-checklist .row > div:before {
    position: absolute;
    font-weight: bold;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    color: #00c9d2;
    border: 1px solid #00c9d2;
    background-color: #fff;
    border-radius: 50%;
    line-height: 40px;
}
#treats-checklist .row > div.checklist-active:before {
    background-color: #00c9d2;
    color: #fff;
}
#treats-checklist .row > div:not(:last-child):after {
    position: absolute;
    content: ' ';
    border-bottom: 2px solid #f4f2f7;
    top: 20px;
    left: 100%;
    width: 65%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
#treats-checklist .row > div:nth-child(1):before {
    content: '1';
}
#treats-checklist .row > div:nth-child(2):before {
    content: '2';
}
#treats-checklist .row > div:nth-child(3):before {
    content: '3';
}
#treats-checklist .row > div:nth-child(4):before {
    content: '4';
}
#treats-checklist .row > div:nth-child(5):before {
    content: '5';
}
#treats-checklist .row > div.checklist-active:before {
    content: '✔';
    font-size: 25px;
    font-weight: 300;
    line-height: 39px;
}
.email-preview {
    max-width: 100%;
}
.social-icons i {
    color: #ccced0;
    font-size: 35px;
}
.social-icons > div a {
    width: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0ae31;
    display: inline-block;
}
.social-icons > div:nth-child(2) a {
    border-color: #22c7d3;
}
.social-icons > div:nth-child(3) a {
    border-color: #de4352;
}
.social-icons > div:nth-child(4) a {
    border-color: #6a49b1;
}
.social-icons.social-icons-no-border > div a {
    border: none;
}

/* Opt-in */
#opt-in-page {
    background-color: #FFF6ED;
    color: #000;
    padding-top: 60px;

}
#opt-in-page .logo {
    width: 200px;
}
#opt-in-page h1 {
    font-size: 35px;
    margin-top: 30px;
    text-transform: uppercase;
    font-family: 'Product', Rubik, Arial, sans-serif;
    padding-bottom: 20px;
    position: relative;
}
#opt-in-page h1:after {
    content: ' ';
    width: 100px;
    border-bottom: 2px solid #c3d058;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
#opt-in-page .boxout {
    background-color: #C6E9F5;
    border: 0px solid #0E101D; 
    border-radius: 15px; 
    position: relative; 
}
#opt-in-page .boxout h2 {
    color: #0E101D;
    font-family: 'Interstate', Asap, Arial, sans-serif;
    font-weight: bold;
    font-size: 25px;
    padding-bottom: 5px;
    position: relative;
    margin-bottom: 30px;
}
#opt-in-page .campaign-image {
    width: auto;
    height: auto;
    max-width: 350px;
    max-height: 350px;
}
#opt-in-page .boxout h2:after {
    position: absolute;
    bottom: 0;
    width: 100px;
    content: ' ';
    left: 0;
}
#opt-in-confirm input:focus {
    outline: none;
}
#opt-in-confirm .opt-in-number {
    border: none;
    background: none;
    color: #0E101D;
    width: 100%;
    text-align: center;
    font-size: 60px;
}
#opt-in-confirm .opt-in-number::-webkit-inner-spin-button,
#opt-in-confirm .opt-in-number::-webkit-outer-spin-button {
    opacity: 1 !important;
}
#opt-in-confirm .opt-in-week {
    font-size: 50px;
    font-weight: 300;
    color: #0E101D; 
}
#opt-in-confirm .opt-in-day {
    text-align: center;
    
}
#opt-in-confirm .opt-in-day label {
    display: inline-block;
    position: relative;
    color: #0E101D;
    font-style: none;
    font-weight: bold;
    font-size: 14px;
    width: 25%;
    cursor: pointer;
}
#opt-in-confirm .opt-in-day label span {
    text-align: center;
    border: 1px solid #0E101D;
    display: block;
    padding: 5px 2px;
}
#opt-in-confirm .opt-in-day label input:not(:checked) + span:hover {
    background-color: #fff;
}
#opt-in-confirm .opt-in-day label:first-child span {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
#opt-in-confirm .opt-in-day label:last-child span {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}
#opt-in-confirm .opt-in-day label input {
    position: absolute;
    left: -9999px;
}
#opt-in-confirm .opt-in-day label input:checked + span {
    background-color: #c3d058;
    border-color: #c3d058;
    color: #fff;
}
#opt-in-container {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 20px;
}
#opt-in-container.opt-in-container-narrow {
    max-width: 700px;
}
#opt-in-confirm input[type="checkbox"] + label {
    margin-left: 5px;
}
.opt-in-step {
    position: relative;
}
.opt-in-step:not(:last-child) {
    margin-bottom: 50px;
}
.opt-in-step-step {
    font-family: 'Interstate';
    font-size: 25px;
    text-align: left;
}
.opt-in-step-step > div {
    display: block;
    padding-bottom: 10px;
    position: relative;
}
.opt-in-step-step > div span {
    font-size: 22px;
}
.opt-in-step-step > div:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    content: ' ';
    width: 100%;
    border-bottom: 2px solid #c3d058;
}
.opt-in-step:nth-child(even) .opt-in-step-step > div:after {
    border-color: #c3d058;
}
.opt-in-step-description {
    font-size: 16px;
}
.opt-in-step-icon {
    text-align: center;
}
.opt-in-step-icon img {
    width: 44px;
}
.opt-in-step-icon img,
.opt-in-step-description > div {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.opt-in-consent {
    font-style: none;
    font-size: 16px;
}
.opt-in-consent > div > div {
    text-align: left;
    max-width: 400px;
    position: relative;
    margin: 0 auto 10px;
    padding-left: 25px;
}
.opt-in-consent > div > div input {
    position: absolute;
    left: 0;
    top: 6px;
}
.opt-in-consent > div > div ul {
    list-style: none;
    color: red;
    font-style: normal;
    padding: 0;
}
.number-input {
    position: relative;
}
.number-input .number-change {
    border: 1px solid #0e101d;
    padding: 5px 2px;
    position: absolute;
    right: 0;
    height: 35px;
    width: 35px;
    cursor: pointer;
    text-align: center;
}
.number-input .number-change:hover {
    background-color: #939393;
}
.number-input .number-change.number-change-up {
    top: calc(50% - 34px);
}
.number-input .number-change.number-change-down {
    bottom: calc(50% - 35px);
}

/* Notifications */
#delivery-problem-not-received,
#delivery-problem-notify {
    display: none;
}
#delivery-problem-notify.show {
    display: block;
}
#notify-members-tabs {
    text-align: right;
    list-style: none;
    margin-bottom: 0;
    position: relative;
    z-index: 5;
}
#notify-members-tabs li {
    display: inline-block;
    text-transform: uppercase;
    font-size: 14px;
}
#notify-members-tabs li a,
#notify-members-tabs li a:hover {
    opacity: 0.7;
    color: #22c7d3;
    text-decoration: none;
}
#notify-members-tabs li a {
    display: block;
    padding: 0 15px 20px;
    position: relative;
}
#notify-members-tabs li.active a {
    font-weight: bold;
    opacity: 1;
}
#notify-members-tabs li.active a:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 70%;
    border-bottom: 2px solid #22c7d3;
    content: ' ';
}
#notify-members-form i {
    cursor: pointer;
}
#notify-members-form i:before {
    content: "\f096"
}
#notify-members-form tr.table-strikethrough i:before {
    content: "\f046";
    position: relative;
    right: -1px;
}
.search-input {
    width: 90%;
    margin-left: 10%;
    background: #fcfcfc;
    position: relative;
    padding: 5px 5px 5px 40px;
}
.search-input.table-list-search {
    width: 100%;
    margin-left: 0;
    background-color: #e5e5e5;
}
.search-input input {
    width: 100%;
    border: none;
    background: none;
}
.search-input input:focus {
    outline: none;
}
.search-input:before {
    content: "\f002";
    font-family: FontAwesome;
    color: #00cad1;
    left: 10px;
    font-size: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
}
.search-input .search-reset {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
.search-input .search-reset a {
    color: #22c7d3;
}
#member-notify-form {
    display: none;
}
#notify-colleagues textarea {
    padding: 20px;
}
#notify-colleagues textarea::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    font-style: none;
    text-align: center;
}
#notify-colleagues textarea::-moz-placeholder { /* Firefox 19+ */
    font-style: none;
    text-align: center;
}
#notify-colleagues textarea:-ms-input-placeholder { /* IE 10+ */
    font-style: none;
    text-align: center;
}
#notify-colleagues textarea:-moz-placeholder { /* Firefox 18- */
    font-style: none;
    text-align: center;
}
#notify-non-invite {
    position: relative;
}
#notify-non-invite textarea {
    cursor: pointer;
    padding: 20px;
    display: block;
}
#notify-non-invite.not-copied:before,
#notify-non-invite.not-copied:after {
    position: absolute;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.4s;
}
#notify-non-invite.not-copied:hover:before,
#notify-non-invite.not-copied:hover:after {
    opacity: 1;
}
#notify-non-invite.not-copied:after {
    content: '';
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.5);
}
#notify-non-invite.not-copied:before {
    content: 'Click to copy!';
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
}

/* Scale */
.profile-scale {
    margin-top: 20px;
    background-color: #434954;
    border-radius: 12px;
    height: 10px;
    overflow: hidden;
    position: relative;
}
.profile-percent-complete {
    float: right;
    position: relative;
    top: -10px;
    font-size: 30px;
}
.profile-scale span {
    background-color: #56c6d4;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
    -webkit-transition: width 1.5s;
    -moz-transition: width 1.5s;
    -ms-transition: width 1.5s;
    -o-transition: width 1.5s;
    transition: width 1.5s;
}
.gems-button-sign-up {
    background-color: #444b55;
    display: inline-block;
    border: 2px solid #444b55;
    border-radius: 1px;
    color: #fff !important;
    font-weight: bold;
    text-transform: uppercase;
    padding: 4px 45px;
    cursor: pointer;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}
.gems-button-sign-up.gems-button-outline {
    background: none;
    border: 1px solid #4ebac4;
    color: #4ebac4 !important;
    width: 100%;
    padding: 6px 5px;
}
.gems-button-sign-up.gems-button-outline:hover {
    background-color: #fff;
    border-color: #c3d058;
    color: #c3d058 !important;
}
.gems-button-sign-up.gems-button-outline:disabled {
    border-color: #4a4a4a;
    color: #4a4a4a !important;
}
.gems-button-sign-up:disabled {
    background: #fff;
    color: #444b55 !important;
    border-color: #444b55;
    opacity: 0.7;
}
.gems-button-sign-up:hover {
    text-decoration: none;
    background-color: #00b9c8;
    border-color: #00b9c8;
}
.gems-button-sign-up:disabled,
.gems-button-sign-up:disabled:hover {
    background: #fff;
    color: #444b55 !important;
    border-color: #444b55;
    opacity: 0.7;
}
.gems-button-sign-up:disabled:hover {
    opacity: 0.5;
}
.yes-no {
    padding: 0;
}
.yes-no li {
    display: inline;
    list-style: none;
}
.yes-no li a {
    border: 2px solid #444b55;
    background-color: #fff;
    text-transform: uppercase;
    color: #444b55;
    font-weight: bold;
    display: inline-block;
    padding: 3px 50px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}
.yes-no li:first-child a {
    color: #fff !important;
    background-color: #444b55;
}
.yes-no li a:hover {
    text-decoration: none !important;
    border-color: #00b9c8;
    background-color: #00b9c8;
}
.yes-no li:last-child a:hover {
    background-color: #fff;
    color: #00b9c8 !important;
}
.yes-no li:first-child {
    margin-right: 10px;
}
.percent-complete {
    margin-top: 40px;
}
.percent-complete span {
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 2px solid #343c46;
    border-radius: 50%;
}
.percent-complete span.not-complete {
    background-color: #343c46;
}

.ticklist {
    list-style: none;
    margin: 20px auto 0;
    padding: 0;
    max-width: 68%;
}
.ticklist li {
    margin-top: 13px;
    position: relative;
    padding: 0 20px;
    font-size: 14px;
}
.ticklist li:before {
    content: '\f058';
    font-family: 'FontAwesome';
    color: #00c8d2;
    position: absolute;
    left: 0;
    top: 48%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 16px;
}

.gems-inline-form label {
    text-transform: uppercase;
    font-size: 14px;
    position: relative;
    top: 9px;
    display: block;
    padding-right: 5px;
}

/* Team */
#members-table .remove-member {
    cursor: pointer;
}
#members-table .members-table-name {
    width: 15%;
}
#members-table .members-table-email {
    width: 25%;
}
#members-table .members-table-status {
    width: 20%;
}
#members-table .members-table-date {
    width: 15%;
}
table.table td,
table.table thead th {
    border: none;
}
.table-striped tbody tr:nth-of-type(odd) {
    background-color: #fcfcfc;
}
table.table-paginated tbody tr:not(.table-show-row) {
    display: none;
}
table.table-paginated tr.table-strikethrough td {
    opacity: 0.4;
}
table tr.table-danger > td {
    background-color: rgba(245, 198, 203, 0.15);
}
.table.table-list {
    width: 100%;
}
.table.table-list tbody {
    display: block;
    width: 100%;
    max-height: 300px;
    overflow: auto;
}
.table.table-list.table-striped tbody tr:nth-of-type(odd) td:first-child {
    background-color: #f5f5f5;
}
.table.table-list.table-striped tbody tr.invalid-recipient td:first-child {
    background-color: #f5c6cb;
}
.table.table-list.table-striped tbody tr.invalid-recipient td:first-child span {
    text-decoration: line-through;
}
.table.table-list thead,
.table.table-list tbody tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}
.table.table-list tbody tr.hide {
    display: none;
}
.table.table-list tbody tr.recipient-added {
    opacity: 0.5;
}
.table.table-list tr:not(.recipient-added) .remove-group-recipient,
.table.table-list tr.recipient-added .add-group-recipient {
    visibility: hidden;
    pointer-events: none;
}
.table.table-list tr:not(.recipient-added) .add-group-recipient {
    visibility: visible;
    pointer-events: auto;
}
.table.table-list .remove-x {
    position: absolute;
    left: 50%;
    top: 48%;
    transform: translate(-50%, -50%);
    cursor: pointer;
}
.group-opt-in-count {
    font-size: 50px;
    font-weight: 300;
    line-height: normal !important;
    font-family: Rubik, Arial, sans-serif;
}
#recipients-group {
    position: relative;
}
#recipients-group:before,
#recipients-group:after {
    content: '';
    position: absolute;
    pointer-events: none;
    display: none;
}
#recipients-group.group-loading:before,
#recipients-group.group-loading:after {
    display: block;
}
#recipients-group:before {
    background-color: rgba(255, 255, 255, 0.7);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
}
#recipients-group:after {
    z-index: 51;
    top: calc(50% - 2.5rem);
    left: calc(50% - 2.5rem);
    width: 5rem;
    height: 5rem;
    vertical-align: text-bottom;
    border: .25em solid #22c7d3;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spin .75s linear infinite;
    animation: spin .75s linear infinite;
}
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

#group-concept-col {
    border-left: 1px solid #22c7d3;
    padding-bottom: 60px;
}
#group-concept-col h2,
#group-concept-col p {
    padding-left: 3rem;
}
#group-concept-col ul,
#group-concept-col p {
    position: relative;
    padding: 20px 0 20px 3rem;
    line-height: 1.8;
    margin-bottom: 0 !important;
}
#group-concept-col p:last-of-type {
    padding-bottom: 40px;
}
#group-concept-col p:last-of-type:after {
    content: '';
    width: 20%;
    display: block;
    position: absolute;
    bottom: 0;
    left: 3rem;
    border-bottom: 1px solid #f0ae31;
}
#group-concept-col h2 {
    font-weight: bold;
    text-decoration: underline;
    font-size: 35px;
    margin-bottom: 0;
    font-family: 'Product', Asap, Arial, sans-serif;
    font-style: none;
    position: relative;
}
#group-concept-col h2:not(:first-of-type) {
    margin-top: 35px;
}
#group-concept-col:after,
#group-concept-col h2:before {
    content: '';
    position: absolute;
    left: -25px;
    top: -17px;
    height: 80px;
    width: 3rem;
    background: url('/assets/img/icon_tick.svg') no-repeat center / 46px auto #fcfcfc;
}
#group-concept-col:after {
    bottom: 0;
    top: auto;
}
#group-concept-col h2:after {
    display: none;
}
#group-concept-container {
    max-width: 1000px;
    margin: 0 auto;
}

.page-link {
    color: #4d4f5c;
}
.page-item.active .page-link {
    background-color: #4d4f5c;
    border-color: #4d4f5c;
}
#team #invite-team {
    display: none;
}
#invite-preview {
    width: 590px;
    margin: 0 auto;
}
.add-to-team-button {
    position: relative;
    text-align: right;
    pointer-events: none;
}
.add-to-team-button a {
    pointer-events: auto;
}
.pagination + .add-to-team-button {
    top: -50px;
}

@media screen and (max-width: 640px) {
    #invite-preview {
        width: 100%;
    }
    .desktop-hide {
        display: block;
    }
    .mobile-hide {
        display: none;
    }
    .mobile-spacer {
        margin-top: 10px;
    }
    #offers {
        width: 100%;
        left: 0;
    }
    #sidebar {
        left: -220px;
        padding-top: 0;
        -webkit-transition: left 0.6s;
        -moz-transition: left 0.6s;
        -ms-transition: left 0.6s;
        -o-transition: left 0.6s;
        transition: left 0.6s;
    }
    body.menu-open #sidebar {
        left: 0;
    }
    #header-bar {
        background: #3c424c;
        color: #fff;
    }
    #header-bar #mobile-logo {
        width: 170px;
        position: absolute;
        left: 20px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    #content {
        padding-left: 0;
        padding-top: 60px;
        padding-bottom: 40px;
    }
    #content > div {
        padding: 0 20px;
    }
    .avatar.avatar-large {
        width: 150px;
        height: 150px;
    }
    .avatar-upload {
        width: 50%;
        padding-bottom: 50%;
    }
    .avatar-wrapper {
        padding-bottom: 44%;
    }
    #content header {
        padding: 20px;
        margin-bottom: 20px;
    }
    #index-members #content header {
        padding-top: 20px;
    }
    #index-members #content header h1 {
        max-width: none;
    }
    #mobile-menu-open {
        position: fixed;
        right: 20px;
        top: 15px;
        z-index: 500;
        cursor: pointer;
        color: #fff;
    }
    #mobile-menu-open i {
        font-size: 30px;
    }
    #mobile-menu-open i:before {
        content: "\f0c9";
    }
    body.menu-open #mobile-menu-open i:before {
        content: '\f00d';
    }
    #menu-shade {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 210;
        background: rgba(0, 0, 0, 0.6);
        pointer-events: none;
        opacity: 0;
        -webkit-transition: opacity 0.6s;
        -moz-transition: opacity 0.6s;
        -ms-transition: opacity 0.6s;
        -o-transition: opacity 0.6s;
        transition: opacity 0.6s;
    }
    body.menu-open #menu-shade {
        opacity: 1;
    }
    #sidebar nav li.active a::after {
        display: none;
    }
    #floating-submit,
    #flash-messages {
        left: 0;
        width: 100%;
        padding: 15px 40px; 
    }
    #flash-messages:after {
        font-size: 15px;
        top: 5px;
        right: auto;
        left: 8px;
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        transform: none;
    }
    #members-login #flash-messages {
        left: 50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    #offers img {
        max-width: none;
    }
    #sidebar-user {
        width: 100%;
    }
    #sidebar > div {
        width: 220px;
    }
    #sidebar #logo {
        width: 100%;
    }
    #breadcrumb {
        display: none;
    }
    #members-login {
        background-size: 180% auto;
    }
    #members-login #login-box {
        position: relative;
        top: auto;
        padding: 0 10px;
    }
    #login-container {
        width: 100%;
        word-wrap: break-word;
        padding: 20px 15px;
    }
    #login-box img {
        max-width: 100% !important;
        max-height: 80% !important;
    }
    #members-login:not(.members-sign-up) button {
        padding: 8px 12px;
    }
    #members-login:not(.members-sign-up) input {
        padding: 10px 12px 10px 50px;
    }
    #members-login input.login-password {
        background-position: top 11px left 22px;
    }
    #members-login input.login-email {
        background-position: top 10px left 20px;
    }
    #members-login.members-sign-up #login-box {
        width: 95% !important;
        top: 50px !important;
    }
    input[type="range"]::-webkit-slider-thumb {
        height: 30px;
        width: 30px;
        margin-top: -15px;
    }
    #user-controls {
        display: none;
    }
    #treats-checklist .row > div:not(:last-child):after {
        left: 50%;
        top: auto;
        bottom: -10px;
    }
    #treats-checklist .row > div:not(:last-child) {
        margin-bottom: 20px;
    }
    #opt-in-page .campaign-image {
        max-width: 100%;
    }
    .page-markers:before {
        left: -12px;
    }
    .page-markers h1:before, .page-markers h2.h1:before {
        left: -17px;
    }
    .page-markers h1:after, .page-markers h2.h1:after {
        display: none;
    }
    .page-markers .page-marker-bookmarks {
        font-size: 13px;
    }
    .page-markers .page-marker-bookmarks li {
        padding-bottom: 2px;
        margin-bottom: 10px;
    }
    .page-markers .page-marker-bookmarks.fixed {
        width: 100%;
        left: 0;
        padding-left: 20px;
        padding-right: 20px;
    }
    .col-align-bottom {
        position: static;
    }
    #password-modal > div {
        width: 100%;
        padding: 20px;
        overflow-y: auto;
        height: 100%;
        left: 0 !important;
        transform: none !important;
        top: 0 !important;
    }
    #password-modal.modal-dynamic > div {
        padding: 40px 20px;
    }
    #password-modal label:not(.no-styling) {
        text-align: left;
        border-right: none;
        padding-right: 0;
        margin-right: 0;
    }
    #password-modal .rpad {
        padding-right: 0;
    }
}

#loader {
    height: 5px;
    width: 100%;
    position: relative;
    overflow: hidden;
    display: none;
    margin-bottom: 20px;
    background-color: #ddd;
}
#loader.screen {
    position: fixed;
    bottom: 0;
    width: 100%;
    left: 0;
    display: block;
    margin-bottom: 0;
    z-index: 10000;
    height: 5px;
}
#loader:before{
    display: block;
    position: absolute;
    content: "";
    left: -200px;
    width: 200px;
    height: 3px;
    background-color: #22c7d3;
    animation: loading 2s linear infinite;
}
@keyframes loading {
    from {left: -200px; width: 30%;}
    50% {width: 30%;}
    70% {width: 70%;}
    80% {left: 50%;}
    95% {left: 120%;}
    to {left: 100%;}
}

.gems-nav .nav-link {
    display: block;
    padding: 10px 0;
    font-size: 0.8em;
    text-align: center;
    background-color: #9a9fa9;
    color: #fff;
    text-decoration: underline;
    text-transform: uppercase;
}
.gems-nav .nav-link.show {
    background-color: #3b424c;
}

#survey-landing {
    border: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.btn404 {
    display: inline-block;
    padding: 10px 20px;
    background-color: #0e101d !important;
    color: #fff6ed !important;
    font-weight: 500;
    border-radius: 15px;
    text-align: center;
    text-decoration: none; 
    font-weight: bold;
}

.btn404:hover {
    background-color: #c3d058 !important;
    color: #0e101d !important;
}
.background-custom {
    background-image: url('/assets/img/404backgroundimage.png') !important;
    background-size: cover;
    background-position: center;
    padding-top: 50px;
}