@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('../font/inter/inter-400.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  src: url('../font/inter/inter-400-italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: url('../font/inter/inter-700.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  src: url('../font/inter/inter-900.woff2') format('woff2');
}

:root {
    --brand-color-primary: #16ca64;
    --brand-color-primary-light: #e7f9ef;

    --color-black: #000;
    --color-white: #FFF;
    --color-ghost-white: #F4F4F9;

    --base: 1rem;
    --container-width: 75rem;

    --header-height: 4.375rem;

    --font-family-primary: "Inter", sans-serif;

    --font-size-default: calc(var(--base) *  1.00);
    --font-size-xs: calc(var(--base) *  0.5);
    --font-size-s: calc(var(--base) *  0.85);
    --font-size-m: calc(var(--base) *  1.00);
    --font-size-l: calc(var(--base) *  1.25);
    --font-size-xl: calc(var(--base) *  1.75);

    --font-weight-default: 400;
    --font-weight-light: 300;
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --font-weight-black: 900;

    --space-default: calc(var(--base) *  1.00);
    --space-xxs: calc(var(--base) *  0.25);
    --space-xs: calc(var(--base) *  0.5);
    --space-s: calc(var(--base) *  0.75);
    --space-m: calc(var(--base) *  0.9375);
    --space-l: calc(var(--base) *  2.00);
    --space-xl: calc(var(--base) *  4.00);
    --space-xxl: calc(var(--base) *  6.00);

    --border-radius-default: var(--border-radius-full);
    --border-radius-xs: calc(var(--base) *  0.5);
    --border-radius-s: calc(var(--base) *  0.75);
    --border-radius-m: calc(var(--base) *  1.00);
    --border-radius-l: calc(var(--base) *  1.25);
    --border-radius-xl: calc(var(--base) *  1.5);
    --border-radius-full: calc(infinity * 1px);

    --box-shadow-default: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;

    --campaign-color: #e7f9ef;
    --voucher-color: #efe7f9;
    --sale-color: #f9efe7;

    --z-index-header: 500;
    --z-index-modal: 1000;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    padding-top: calc(var(--header-height) + var(--space-default));
    font-family: var(--font-family-primary);
    font-size: var(--font-size-default);
    font-weight: var(--font-weight-default);
    font-optical-sizing: auto;
    color: var(--color-black);
    background-color: var(--color-ghost-white);
}

h1, h2, h3, h4, h5 {
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-bold);
}

b, strong {
    font-weight: var(--font-weight-bold);
}

.container {
    width: var(--container-width);
    max-width: 100%;
    margin: 0 auto;
}

.btn,
.reveal {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: var(--space-default);
    min-width: 9.375rem;
    border: none;
    border-radius: var(--border-radius-default);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
    color: var(--color-white);
    background-color: var(--brand-color-primary);
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: var(--space-default);
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default);
    z-index: var(--z-index-header);
}
.header .container {
    display: flex;
    flex-direction: row;
    gap: var(--space-default);
    justify-content: space-between;
    align-items: stretch;
}
.header .nav {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}
.header .nav .nav__list {
    display: flex;
    flex-direction: row;
    gap: var(--space-default);
    align-items: stretch;
    list-style: none;
}
.header .nav .nav__item {
    display: flex;
    align-items: stretch;
}
.header .nav .nav__link,
.header .nav .nav__link:active,
.header .nav .nav__link:focus,
.header .nav .nav__link:visited,
.header .nav .nav__link:hover {
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: var(--font-size-m);
    font-weight: var(--font-weight-bold);
}
.header .nav .nav__item .subnav {
    display: none;
    position: fixed;
    top: calc(var(--header-height) - var(--space-s));
    left: 0;
    right: 0;
    width: 100%;
    padding-top: var(--space-l);
    padding-bottom: var(--space-l);
    padding-left: var(--space-default);
    padding-right: var(--space-default);
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default);
    border-radius: 0;
    z-index: 1000;
}
.header .nav .nav__item:hover .subnav {
    display: block;
}
.header .nav .nav__item .subnav .subnav__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    row-gap: 0;
    column-gap: var(--space-default);
    list-style: none;
    max-width: 100%;
}
.header .nav .nav__item .subnav .subnav__link {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    align-items: stretch;
    font-size: var(--font-size-default);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
    padding-top: var(--space-default);
    padding-bottom: var(--space-default);
    border-bottom: 1px solid #f1f1f1;
}
.header .nav .nav__item .subnav .subnav__item:nth-last-child(-n+3) .subnav__link {
    border-bottom: none;
}

.header .search {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}
.header .search__form {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}
.header .search .search__input {
    width: 25rem;
    max-width: 100%;
    padding: var(--space-s) var(--space-default);
    border-radius: var(--border-radius-full);
    font-weight: var(--font-weight-bold);
    background-color: #f1f1f1;
}
.header .search .search__input:focus,
.header .search .search__input:active {
    background-color: #f2f7eb;
}

.search__results {
    display: none;
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    width: var(--container-width);
    max-height: calc(100vh - var(--header-height));
    margin: 0 auto;
    font-size: var(--font-size-m);
    overflow-x: scroll;
    z-index: 400;
    background-color: #f4f4f4;
}

main {
    padding: var(--space-default);
}

.intro {
    width: 43.75rem;
    max-width: 100%;
    margin-bottom: var(--space-l);
}
.intro.light {
    color: #FFF;
}

.store .container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--space-default);
}

.store__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    grid-column: span 12;
    row-gap: var(--space-default);
}

.store__intro {
    margin-bottom: var(--space-l);
}

.store__offers {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.store__offers .no-results {
    padding: var(--space-default);
    background-color: var(--color-white);
    border-radius: var(--border-radius-xs);
    box-shadow: var(--box-shadow-default);
}
.store__offers .no-results a {
    font-weight: var(--font-weight-bold);
}

.store__about {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    grid-column: span 12;
}

.store__logo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: var(--space-default);
    margin-bottom: var(--space-l);
    background-color: var(--color-white);
    border-radius: var(--border-radius-xs);
    box-shadow: var(--box-shadow-default);
}

.store__faq {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: var(--space-default);
    background-color: var(--color-white);
    border-radius: var(--border-radius-xs);
    box-shadow: var(--box-shadow-default);
}

.store__updated {
    display: flex;
    width: 100%;
    font-size: var(--font-size-s);
}

.tabs {
    display: flex;
    width: 100%;
}

.ui-tabs {
    position: relative;
}
.ui-tabs .ui-tabs-nav {
    display: flex;
    flex-direction: row;
    column-gap: var(--space-l);
    margin-bottom: var(--space-l);
    list-style: none;
    overflow-x: scroll;
}
.ui-tabs .ui-tabs-nav li {
    display: flex;
    justify-content: flex-start;
}
.ui-tabs .ui-tabs-nav li a {
    display: inline-block;
    padding-bottom: var(--space-xxs);
    font-size: var(--font-size-default);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active a {
    border-bottom: 0.25rem solid var(--color-black);
}
.ui-tabs .ui-tabs-panel {
  display: block;
}
.ui-tabs .ui-tabs-hide {
  display: none !important;
}

.company_list_row_full {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-default);
    padding: var(--space-default);
    margin-bottom: var(--space-default);
    border-radius: var(--border-radius-xs);
    box-shadow: var(--box-shadow-default);
    background-color: var(--color-white)
}
.company_list_row_full .company_list_row_logo {
    flex: none;
}
.company_list_row_full .company_list_row_logo img {
    width: 6.25rem;
    height: auto;
}
.company_list_row_full .company_list_row_desc {
    flex: auto;
}
.company_list_row_full .company_list_row_type {
    margin-bottom: var(--space-s);
}
.company_list_row_full .company_list_row_type .tag {
    display: inline-block; 
    padding: var(--space-xs);
    font-size: var(--font-size-s);
    border-radius: var(--border-radius-xs);
    background-color: var(--brand-color-primary-light);
}
.company_list_row_full .company_list_row_type .tag.campaign {
    background-color: var(--campaign-color);
}
.company_list_row_full .company_list_row_type .tag.voucher {
    background-color: var(--voucher-color);
}
.company_list_row_full .company_list_row_text {
    margin-bottom: var(--space-s);
}
.company_list_row_full .company_list_row_text a {
    font-weight: var(--font-weight-bold);
}
.company_list_row_desc .company_list_row_expiration {
    font-size: var(--font-size-s);
}
.company_list_row_full .company_list_row_cta {
    flex: none;
}


.footer {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: var(--space-xl) var(--space-default);
    color: var(--color-white);
    background-color: var(--color-black);
}
.footer .footer__stats .container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: var(--space-default);
    margin-bottom: var(--space-xl);
}
.footer .footer__stats-item {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: var(--space-default);
    color: var(--color-white);
    background-color: var(--brand-color-primary);
    border-radius: var(--border-radius-xs);
}
.footer .footer__stats-number {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--space-s);
}
.footer .footer__middle .container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--space-default);
    margin-bottom: var(--space-xl);
}
.footer .footer__about {
    grid-column: span 12;
}
.footer .footer__about-title {
    margin-bottom: var(--space-s);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
}
.footer .footer__links {
    grid-column: span 12;
}
.footer .footer__links-title {
    margin-bottom: var(--space-s);
    font-size: var(--font-size-l);
    font-weight: var(--font-weight-bold);
}
.footer .footer__links-item {
    margin-bottom: var(--space-s);
}
.footer .footer__links-item a {
    text-decoration: none;
    color: var(--color-white);
}
.footer .footer__bottom {
    font-size: var(--font-size-s);
}

html.show--consent:not(.show--preferences) #cc-main button[data-role="necessary"] {
    display: none;
}

#cc-main {
    --cc-btn-primary-bg: var(--brand-color-primary);
    --cc-btn-primary-border-color: var(--brand-color-primary);
}

.cookie-consent__button {
    position: fixed;
    bottom: var(--space-default);
    left: var(--space-default);
    border-radius: var(--border-radius-full);
    padding: var(--space-s);
    width: calc(1.5625rem + var(--space-s) * 2);
    height: calc(1.5625rem + var(--space-s) * 2);
    color: var(--color-white);
    background-color: var(--color-black);
    box-shadow: var(--box-shadow-default);
    cursor: pointer;
    transition: background-color .15s linear;
}
.cookie-consent__button:hover {
    background-color: #444;
}

@media (min-width: 768px) {
    .ui-tabs .ui-tabs-nav {
        overflow-x: visible;
    }

    .store .container {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: var(--space-xl);
    }
    .store__content {
        grid-column: span 8;
    }
    .store__about {
        grid-column: span 4;
    }

    .company_list_row_full {
        flex-direction: row;
        align-items: center;
    }
    .company_list_row_full .company_list_row_logo img {
        width: 12.5rem;
        height: auto;
    }

    .footer .footer__stats .container {
        flex-direction: row;
    }

    .footer .footer__about {
        grid-column: span 6;
    }

    .footer .footer__links {
        grid-column: span 3;
    }
}