.offer-box-container {
    width: 100%;
    min-height: 545px;
    font-size: 20px;
    margin: 1.5em 0;
    box-sizing: border-box;
    position: relative;
}

*,
::before,
::after {
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-scroll-snap-strictness: proximity;
    --tw-ring-offset-width: 0;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
}

.offer-box {
    background-color: #fafafb;
    border: 3px solid #ffd499;
    border-radius: .5em;
    font-size: .875em;
    line-height: 1.25em;
    padding: 1.5em 2em 1em 2em;
}

.offer-box .svg-inline--fa {
    display: inline-block;
    height: 1em;
    overflow: visible;
    vertical-align: -0.125em;
}

.offer-box .fa-2x {
    font-size: 2em;
}

.offer-box .mr-2 {
    margin-right: 0.5em;
}

.offer-box .flex {
    display: flex;
    margin: 0 !important;
}

.offer-box .items-center {
    align-items: center;
}

.offer-box .justify-between {
    justify-content: space-between;
}

.offer-box .py-2 {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.offer-box .text-sm {
    font-size: 0.875em;
    line-height: 1.25em;
}

.offer-box .offer-card-labels-list-item .text-sm {
    font-size: 1em;
    line-height: 1em;
}

.offer-box .text-xs {
    font-size: 0.75em;
    line-height: 1em;
}

.offer-box .text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity));
}

.offer-box .text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity));
}

.offer-box .offer-box__header-text {
    font-size: 1em;
    line-height: 1.5em;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / var(--tw-text-opacity));
}

.offer-box .offer-box__footer-link {
    white-space: nowrap;
    padding-left: 0.5em;
    padding-right: 0.5em;
    padding-bottom: 0.25em;
    font-size: 0.75em;
    line-height: 1em;
}

.offer-box .offer-box__footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: 0.5em;
    text-align: center;
}

.\!border-0 {
    border-width: 0 !important;
}

.offer-box__header-text {
    --tw-text-opacity: 1;
    color: rgb(17 24 39/var(--tw-text-opacity));
    font-size: 1em;
    font-weight: 700;
    line-height: 1.5em;
}

.offer-box__footer-link,
.offer-box__header-sub {
    font-size: .75em;
    line-height: 1em;
}

.offer-box__footer-link {
    padding-bottom: .25em;
    padding-left: .5em;
    padding-right: .5em;
    white-space: nowrap
}

.offer-box__footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: .5em;
    text-align: center
}

.offer-box .offer-card {
    margin-bottom: .5em;
    margin-top: .5em;
}

.offer-box .offer-card-content {
    --tw-border-opacity: 1;
    border-bottom: 1px solid rgb(209 213 219/var(--tw-border-opacity));
    padding-bottom: .5em;
}

.offer-box .offer-company-logo-wrapper {
    display: none
}

.offer-box .offer-header {
    font-size: .875em;
    font-weight: 700;
    line-height: 1.25em;
    padding: 0;
    margin: 0.2em 0;
}

.offer-box .offer-card-labels-list,
.offer-box .offer-description {
    display: flex;
    font-size: .75em;
    line-height: 1em;
}

.offer-box .offer-card-labels-list {
    list-style-type: none;
    margin: 0 0 0 .5em;
    white-space: nowrap;
    font-size: 1em;
    padding: 0;
}

.offer-box .offer-card-labels-list-item {
    line-height: 1em;
    list-style-type: none;
    margin-left: .5em;
    padding: 0
}

.offer-box .offer-card-labels-list-item > * {
    line-height: 1em;
}

.offer-box .offer-card-labels-list-item > svg {
    margin-right: .1em !important
}

.offer-box .offer-company-name {
    margin: 0;
    padding: 0
}

.offer-box .offer-extra-info {
    flex-direction: row-reverse;
    padding-top: .25em;
}

.offer-box .offer-badge {
    align-items: center;
    border-radius: .375em;
    font-size: .75em;
    line-height: 1em;
    padding: .25em .5em;
}

.offer-box .offer-badge.badge-promote {
    --tw-bg-opacity: 1;
    --tw-text-opacity: 1;
    background-color: rgb(39 110 216/var(--tw-bg-opacity));
    color: rgb(255 255 255/var(--tw-text-opacity));
    font-weight: 500
}

.offer-box .offer-badge.badge-recommended {
    --tw-bg-opacity: 1;
    --tw-text-opacity: 1;
    background-color: rgb(224 244 221/var(--tw-bg-opacity));
    color: rgb(48 156 34/var(--tw-text-opacity));
    font-weight: 400
}


.offer-box .offer-card.small .offer-card-small-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between
}

.offer-box .offer-card.small .offer-card-small-header {
    align-content: center;
    display: flex;
    justify-content: space-between
}

.offer-box .offer-card.small .offer-title {
    display: block;
    font-size: 1em;
    line-height: 1.5em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.offer-box .offer-card.small .offer-badge {
    font-size: .75em;
    line-height: 1em;
    padding: .125em .5em;
}

.offer-box .offer-card.small .offer-click-area {
    top: 2.5em;
}

.offer-box .offer-card.small .offer-company-name {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    max-height: 2.5em;
    overflow: hidden;
    text-overflow: ellipsis
}

.offer-box a {
    --tw-text-opacity: 1;
    color: rgb(34 48 156 / var(--tw-text-opacity));
}

@media (min-width:640px) { 
    .offer-box .sm\:mr-1 {
        margin-right: .25em;
    }   
}

.content-loader {
    border: 3px solid rgba(204, 204, 204, 0.25);
    border-radius: .5em;
    font-size: .875em;
    line-height: 1.25em;
    padding: 1.5em 2em 1em 2em;
    height: 100%;
    width: 100%;
    opacity: 0.5;
    background: #fff;
    position: absolute;
    box-sizing: border-box;
}

.content-loader .item {
    box-sizing: border-box;
    width: 100%;
    padding: 0.5em 0;
    border-bottom: 1px solid #eee;
    height: 90px;
    overflow: hidden;
}

@keyframes placeHolderShimmer {
    0% {
        background-position: -468px 0;
    }
    100% {
        background-position: 468px 0;
    }
}

.animated-background {
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: placeHolderShimmer;
    animation-timing-function: linear;
    background: #f6f7f8;
    background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);
    background-size: 800px 104px;
    height: 100%;
    position: relative;
}

.mask {
    background: #fff;
    position: absolute;
}

.mask.mask--header {
    right: 0;
    top: 0;
    width: 33%;
    height: 1.5em;
}

.mask.mask--divider {
    width: 100%;
    height: 0.25em;
}

.mask.mask--divider-1 {
    height: 0.5em;
    top: 1.5em;
}

.mask.mask--divider-2 {
    height: 0.5em;
    top: 2.5em;
}

.mask.mask--line-1 {
    right: 0;
    top: 2em;
    width: 45%;
    height: 1em;
}

.mask.mask--line-2 {
    left: 23%;
    top: 3em;
    width: 70%;
    height: 2em;
}
