/* Default & Reset */
@keyframes fade {
    0% {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
:root {
    --h1: 36px;
    --h2: 22px;
    --h3: 20px;
    --t1: 18px;
    --t2: 16px;
    --t3: 14px;
    --t4: 12px;
    --t5: 10px;
    --index: 0;
}
*,
*:before,
*:after {
    box-sizing: inherit;
}
@font-face {
    font-family: 'Montserrat Regular';
    font-weight: 400;
    font-style: normal;
    src: url(../fonts/Montserrat-Regular.woff) format('woff'),
    url(../fonts/Montserrat-Regular.woff2) format('woff2'),
    url(../fonts/Montserrat-Regular.ttf) format('truetype');
}
@font-face {
    font-family: 'Montserrat Medium';
    font-weight: 500;
    font-style: normal;
    src: url(../fonts/Montserrat-Medium.woff) format('woff'),
    url(../fonts/Montserrat-Medium.woff2) format('woff2'),
    url(../fonts/Montserrat-Medium.ttf) format('truetype');
}
@font-face {
    font-family: 'Montserrat SemiBold';
    font-weight: 600;
    font-style: normal;
    src: url(../fonts/Montserrat-SemiBold.woff) format('woff'),
    url(../fonts/Montserrat-SemiBold.woff2) format('woff2'),
    url(../fonts/Montserrat-SemiBold.ttf) format('truetype');
}
html, body, div, p, span, ul, li, h1, h2, h3, h4, h5, h6, a, b, img, table, th, td, form, fieldset, legend, dl, dt, dd, label, button, input, select, option, textarea {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    color: #000000;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    font-style: normal;
    font-family: 'Montserrat Medium', serif;
}
html {
    width: 100%;
    height: 100%;
    word-break: break-word;
    box-sizing: border-box;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizelegibility;
}
body {
    text-size-adjust: 100%;
    width: 100% !important;
    height: 100% !important;
    -webkit-text-size-adjust: 100%;
}
p {
    padding: 1em 0 0 0;
}
img {
    display: block;
}
.button {
    cursor: pointer;
}
a {
    cursor: pointer;
    text-decoration: none;
}
.s-u-l a,
.header .button.l span,
.header .button.c span {
    background: linear-gradient(currentColor,currentColor) 0 100% no-repeat;
    text-decoration: none;
    background-size: 0 .0625rem;
    transition: background .2s ease;
}
.s-u-l a:hover,
.s-u-l a:focus,
.header .button.l span:hover,
.header .button.l span:focus,
.header .button.c span:hover,
.header .button.c span:focus {
    background-size: 100% .0625rem;
}
input,
select,
button,
textarea {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    -moz-border-radius: 0;
}
label {
    position: relative;
    font-size: var(--t3);
}

label.required::after {
    content: '*';
    color: #ff00a5;
}
textarea,
input[type=text],
input[type=password] {
    width: 100%;
    padding: 0 1em;
    line-height: 3;
    background-color: #ffffff;
    border: 1px solid #000000;
}
.search input[type=text] {
    min-width: 375px;
    border: 2px solid #000000;
    background-repeat: no-repeat;
    background-color: transparent;
    background-position: calc(100% - 1rem) center;
    background-image: url(/load/images/search.svg);
}
select {
    width: 100%;
    line-height: 3;
    padding: 0 1em;
    background-size: 20px;
    border: 1px solid #000000;
    background-repeat: no-repeat;
    background-color: transparent;
    background-position: calc(100% - 1rem) center;
    background-image: url(/load/images/arrow-top-down.svg);
}
input::-moz-placeholder {
    color: #808080;
}
input:-moz-placeholder {
    color: #808080;
}
input:-ms-input-placeholder {
    color: #808080;
}
input::-webkit-input-placeholder {
    color: #808080;
}
.form-item {
    width: 100%;
    position: relative;
    margin: 1.5em 0 0 0;
}
b.b,
legend,
optgroup,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: 600;
    font-family: 'Montserrat SemiBold', serif;
}
h1, .h1 {
    font-size: var(--h1);
}
legend,
h2, .h2 {
    font-size: var(--h2);
}
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
    font-size: var(--h3);
}
.t1 {
    font-size: var(--t1);
}
.t2 {
    font-size: var(--t2);
}
.t3 {
    font-size: var(--t3);
}
.t4 {
    font-size: var(--t4);
}
ul.errors {
    margin: .5em 0 0 0;
    list-style-type: none;
}
ul.errors li {
    color: #ff00a5;
    font-size: var(--t4);
}
.errors {
    color: #ff00a5;
    font-size: var(--t4);
}
em {
    color: #808080;
}
.clear {
    clear: both;
}
.bg {
    background-color: #e7e7e7;
}
.d-n {
    clip: rect(0 0 0 0);
    overflow: hidden;
    position: absolute;
    border: 0 !important;
    padding: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
}
.required-fields b {
    position: relative;
}
.required-fields b::before {
    content: '*';
    color: #ff00a5;
}
/* Fancybox */
.f-progress {
    display: none;
}
.fancybox-is-open .fancybox-bg {
    background: #000000;
    opacity: 50% !important;
}
.fancybox-is-open .fancybox-image {
    background: #ffffff !important;
}
.fancybox-content .fancybox-iframe {
    padding: 1.5em;
}
.fancybox-content {
    padding: 1.5em !important;
    box-shadow: none !important;
    max-width: 1000px !important;
    border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
}
.fancybox-container.login .fancybox-content {
    max-width: 506px !important;
    max-height: 410px !important;
}
.fancybox-container.s-p .fancybox-content {
    max-width: 500px !important;
    max-height: 325px !important;
}
.fancybox-container.m-p .fancybox-content {
    max-width: 700px !important;
    max-height: 325px !important;
}
.fancybox-container.l-p .fancybox-content {
    max-width: 900px !important;
}
.fancybox-button {
    opacity: 1;
    width: 32px;
    height: 32px;
    padding: 0 !important;
    top: 1.25em !important;
    right: 1.25em !important;
    color: #000000 !important;
    background: transparent !important;
    border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
}
.fancybox-infobar {
    color: #ffffff !important;
}
.fancybox-show-caption .fancybox-bg {
    opacity: 50% !important;
}
.fancybox-progress {
    background: #ff00a5 !important;
}
.fancybox-content .fancybox-iframe {
    padding: 1.5em;
}
.fancybox-thumbs__list a::before {
    border: 2px solid #ff00a5 !important;
}
.fancybox-button.fancybox-button--zoom {
    display: none !important;
}
.fancybox-show-caption .fancybox-content {
    max-width: none !important;
}
.fancybox-button.fancybox-button--arrow_left,
.fancybox-button.fancybox-button--arrow_right {
    right: 0 !important;
    top: calc(50% - 50px) !important;
}
.fancybox-button.fancybox-button--arrow_left {
    border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
}
.fancybox-button.fancybox-button--arrow_right {
    border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
}
form button,
.shop-button {
    color: #ffffff;
    padding: 0 3rem;
    min-width: 190px;
    line-height: 3rem;
    text-align: center;
    font-size: var(--t1);
    display: inline-block;
    text-decoration: none;
    border: 1px solid #000000;
    background-color: #000000;
}
form button:hover,
form button:focus,
.shop-button:hover,
.shop-button:focus {
    text-decoration: none;
}
.button.b-1:hover,
.button.b-1:focus {
    border: 1px solid #404341;
    background-color: #404341;
}
.button.b-2:hover,
.button.b-2:focus {
    color: #000000;
    background-color: #ffffff;
}
.button.b-3:hover,
.button.b-3:focus {
    text-decoration: underline;
}
.button.y-b {
    color: #000000;
    background-color: #fff500;
    border: 1px solid #fff500;
}
.button.b-w {
    color: #ffffff;
    background-color: #000000;
    border: 1px solid #000000;
}
button:disabled,
button[disabled] {
    opacity: 50%;
}
.t-a-l {
    text-align: left;
}
.t-a-r {
    text-align: right;
}
.t-a-c {
    text-align: center;
}
.t-c1 {
    color: #00a5ff;
}
.t-c2 {
    color: #ff00a5;

}
.t-c3 {
    color: #fff500;
}
/* Flex Layouts */
.flex {
    display: flex;
    display: -moz-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
}
.flex-v {
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
}
.flex-h {
    -webkit-align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.flex-e {
    -webkit-align-items: flex-end;
    -webkit-justify-content: flex-end;
    justify-content: end;
}
.flex-s {
    -webkit-align-items: flex-start;
    -webkit-justify-content: flex-start;
    justify-content: start;
}
/* Grid Layouts */
.grid-item {
    display: grid;
    grid-gap: 2em;
}
.grid-item-2 {
    grid-template-columns: 1fr 1fr;
}
.grid-item-3 {
    grid-template-columns: 1fr 1fr 1fr;
}
.grid-item-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
/* Main Layout */
.main-container {
    height: 100%;
    position: relative;
    flex-direction: column;
}
.content {
    flex: 1 0 auto;
    position: relative;
}
.item-wrap {
    width: 100%;
    margin: 0 auto;
    max-width: 1142px;
    padding: 0 1em 2em;
}
/* Header */
.header {
    position: relative;
}
.header .h-1 {
    margin: 0 auto;
    max-width: 82vw;
    padding: 2rem 1rem;
    grid-template-columns: 160px auto 340px;
}
.header .h-1 * {
    font-size: var(--t1);
}
.header .h-1 .h-1-2 {
    padding: 0 6rem;
    grid-template-columns: 1fr 1fr;
}
.header .h-1 .h-1-3 {
    grid-template-columns: auto auto 30px;
}
.header .h-2 {
    grid-gap: 0;
    height: 10px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.header .h-2-1 {
    background-color: #00a5ff
}
.header .h-2-2 {
    background-color: #ff00a5;
}
.header .h-2-3 {
    background-color: #fff500;
}
.header .h-2-4 {
    background-color: #000000;
}
.header .u .flex span {
    color: #ffffff;
}
.header .u .flex {
    width: 28px;
    height: 28px;
    position: relative;
    margin: 0 .25rem 0 0;
    background-color: #000000;
    border-radius: 100%;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
}
.header .h-1-3 {
    position: relative;
}
.header .user-account {
    top: -2em;
    z-index: 2;
    width: 200px;
    padding: 1em;
    transition: 1s;
    visibility: hidden;
    margin: .5em 0 0 0;
    position: absolute;
    background-color: #ffffff;
    border: 1px solid #000000;
}
.header .user-account.open {
    top: 2em;
    visibility: visible;
}
.header .user-account div {
    margin: 0 -.25em;
    position: relative;
}
.header .user-account a {
    display: table;
    padding: 0 .25em;
    margin: 1em 0 0 0;
}
.header .user-account a:hover,
.header .user-account a:focus {
    text-decoration: none;
    background-color: #fff500;
}
.header .user-account .l-o {
    width: 100%;
    display: block;
    color: #fff500;
    max-width: 162px;
    margin: 1em auto 0;
    border: 1px solid #000000;
    background-position: 2em center;
    background-color: #000000;
    background-size: 15px 18px;
    padding: .5em .5em .5em 2em;
    background-repeat: no-repeat;
    background-image: url(/load/images/logout-y.svg);
}
.header .user-account .l-o:hover,
.header .user-account .l-o:focus {
    color: #000000;
    background-color: #ffffff;
    background-image: url(/load/images/logout-b.svg);
}
.header .user-account b {
    color: #979797;
}
.header .logout {
    display: none;
}
.logout .flex-v {
    width: 98%;
    height: 100px;
    margin: 0 auto;
    max-width: 260px;
    text-align: center;
    font-size: var(--t1);
}
.logout .shop-button {
    margin: 0 1em;
}
/* Menu */
.m-m {
    top: 0;
    width: 0;
    right: 0;
    bottom: 0;
    left: auto;
    z-index: 10;
    position: fixed;
    transition: .25s;
    background-color: #000000;
}
.m-m .m-w {
    padding: 2rem 2rem 2rem 4rem;
}
.m-m.open {
    width: 50vw;
}
.m-m * {
    color: #ffffff;
    font-size: var(--h1);
}
.m-i {
    margin: 1rem 0 0 0;
}
.s-m {
    display: none;
    margin: 0 -5px;
    position: relative;
}
.s-m.open {
    display: block;
    margin: 1rem 0 0 0;
}
.s-m.products {
    max-width: 75%;
    column-count: 2;
    -moz-column-count: 2;
    -webkit-column-count: 2;
}
.m-i a {
    background: linear-gradient(currentColor,currentColor) 0 100% no-repeat;
    background-size: 0 .0625rem;
    transition: background .2s ease;
}
.m-i a:hover,
.m-i a:focus {
    background-size: 100% .0625rem;
}
.m-m .s-m.open a {
    opacity: 0;
    padding: 0 5px;
    display: table;
    background: none;
    transition: none;
    font-weight: 400;
    margin: 0 0 1rem 0;
    animation-name: fade;
    animation-fill-mode: forwards;
    animation-delay: calc((var(--index) + 1)*100ms + .2s);

}
.m-m .s-m.open a:hover,
.m-m .s-m.open a:focus {
    color: #000000;
    background-color: #fff500;
}
.m-m.open .button {
    opacity: 0;
    animation-name: fade;
    animation-fill-mode: forwards;
    animation-delay: calc((var(--index) + 1)*100ms + .2s);
}
.m-i .c-m-i {
    display: inline-block;
    background: linear-gradient(currentColor,currentColor) 0 100% no-repeat;
    background-size: 0 .0625rem;
    transition: background .2s ease;
}
.m-i:hover .c-m-i,
.m-i:focus .c-m-i {
    background-size: 100% .0625rem;
}
.s-m * {
    color: #ffffff;
    font-size: var(--h2);
}
/* Footer */
.footer {
    flex-shrink: 0;
    background-color: #000000;
}
.footer a {
    display: table;
}
.footer * {
    color: #979797;
    font-size: var(--t3);
}
.footer .w-m {
    margin: 0 auto;
    max-width: 1472px;
    position: relative;
    padding: 6rem 1rem;
}
.footer .w-s {
    width: 64%;
    max-width: 900px;
    position: relative;
    margin: 0 12% 0 24%;
}
.footer img.l {
    top: -2rem;
    left: -12vw;
    display: block;
    position: relative;
    margin-bottom: -5.5rem;
}
.footer .grid-item.p {
    grid-gap: .75em;
    max-width: 168px;
    grid-template-columns: 1fr 1fr 1fr;
}
.footer .grid-item.b {
    grid-gap: 6em;
    grid-template-columns: auto 215px 215px;
}
/* Autocompletion */
.easy-autocomplete {
    width: auto !important;
}
.easy-autocomplete-container {
    left: 0;
    right: 0;
    position: absolute;
}
.easy-autocomplete-container ul {
    top: -1px;
    padding: 0;
    z-index: 1;
    display: none;
    position: relative;
    list-style-type: none;
    list-style-position: inside;
    background-color: #ffffff;
    border-left: 1px solid #000000;
    border-right: 1px solid #000000;
    border-bottom: 1px solid #000000;
}
.easy-autocomplete-container ul li {
    padding: .5em 1em;
}
.easy-autocomplete-container ul li:hover,
.easy-autocomplete-container ul li:focus {
    cursor: pointer;
    background-color: #f2f2f2;
}
.easy-autocomplete-container ul li div {
    word-break: break-all;
}
.overlay {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.25);
}
.overlay div {
    width: 98%;
    padding: 2em;
    max-width: 400px;
    min-height: 200px;
    flex-flow: column;
    background-color: #ffffff;
}
@media only screen and (max-width: 96em) {
    /* bis 1568 px */
    /* Header */
    .header .h-1 {
        max-width: 86vw;
    }
    .header .h-1 .h-1-2 {
        padding: 0 3rem;
    }
}
@media only screen and (max-width: 86em) {
    /* bis 1376 px */
    /* Header */
    .header .h-1 {
        max-width: 90vw;
    }
    .header .h-1 .h-1-2 {
        padding: 0 1.25rem;
    }
    /* Footer */
    .footer .w-s {
        width: 74%;
        margin: 0 7% 0 19%;
    }
}
@media only screen and (max-width: 80em) {
    /* bis 1280 px */
    /* Header */
    .header .h-1 {
        max-width: 98vw;
        grid-template-columns: 160px auto 300px;
    }
}
@media only screen and (max-width: 76em) {
    /* bis 1216 px */
    /* Footer */
    .footer .w-s {
        width: 80%;
        margin: 0 2% 0 18%;
    }

    .footer img.l {
        left: -15vw;
    }
    .footer .grid-item.b {
        grid-gap: 2em;
        grid-template-columns: 1fr 1fr;
    }
}
@media only screen and (max-width: 68em) {
    /* bis 1088 px */
    /* Header */
    .header .h-1 {
        max-width: 100vw;
    }

    .header .h-1 .h-1-2 {
        padding: 0 1rem;
    }
}
@media only screen and (max-width: 66em) {
    /* bis 1056 px */
    .header .h-1 .h-1-1 {
        order: 2;
        height: 60px;
        grid-area: h-1;
        padding-left: 2em;
    }
    .header .h-1 .h-1-2 {
        order: 1;
        grid-area: h-2;
        grid-gap: .5rem;
        padding: .5rem 2rem;
        background-color: #fff500;
        grid-template-columns: 1fr;
    }
    .header .h-1 .h-1-2 * {
        font-weight: 600;
        font-size: var(--t4);
        font-family: 'Montserrat SemiBold', serif;
    }
    .header .h-1 .h-1-3 {
        order: 3;
        height: 60px;
        grid-gap: 1em;
        grid-area: h-3;
        padding-right: 2em;
    }
    .header .h-1 {
        padding: 0;
        grid-gap: 0;
        grid-template-columns: 186px auto;
        grid-template-areas: 'h-2 h-2' 'h-1 h-3';
    }
    .s-m.products {
        max-width: 95%;
    }
    .m-m * {
        font-size: var(--h2);
    }
    .s-m * {
        font-size: var(--t1);
    }
    .m-m .m-w {
        padding: 2rem 2rem 2rem;
    }
}
@media only screen and (max-width: 64em) {
    /* bis 1024 px */
}
@media only screen and (max-width: 63.9375em) {
    /* bis 1023 px */
    /* Menu */
    .m-m.open {
        width: 75vw;
    }
    .m-m .m-w {
        padding: 2rem;
    }
    .s-m.products {
        max-width: 100%;
    }
    .item-wrap {
        padding: 0 2.5em 2em;
    }
}
@media only screen and (max-width: 48em) {
    /* bis 768 px */
    .search input[type=text] {
        min-width: 200px;
    }
    /* Header */
    .header .h-1 * {
        font-size: var(--t3);
    }
    /* Grid Layouts */
    .grid-item-2 {
        grid-template-columns: 1fr;
    }
    .grid-item-3 {
        grid-template-columns: 1fr 1fr;
    }
    .grid-item-4 {
        grid-template-columns: 1fr 1fr;
    }
    .item-wrap {
        padding: 0 1em 2em;
    }
}
@media only screen and (max-width: 47.9375em) {
    /* bis 767 px */
    h1, .h1 {
        font-size: calc(var(--h1)*0.75);
    }
    h2, .h2 {
        font-size: calc(var(--h2)*0.75);
    }
    h3, .h3,
    h4, .h4,
    h5, .h5,
    h6, .h6 {
        font-size: calc(var(--h3)*0.75);
    }
    .t1 {
        font-size: calc(var(--t1)*0.75);
    }
    .t2 {
        font-size: calc(var(--t2)*0.75);
    }
    /* Fancybox */
    .fancybox-button {
        top: .75em !important;
        right: .75em !important;
    }
    .fancybox-content {
        padding: 1em !important;
        max-width: 96% !important;
    }
    .fancybox-container.s-p .fancybox-content,
    .fancybox-container.m-p .fancybox-content {
        max-height: 365px !important;
    }
    /* Header */
    .header .h-1 {
        grid-template-columns: 100px auto;
    }
    .logout .shop-button {
        margin: 0 .5em;
        padding: 0 1em;
        min-width: 100px;
    }
    /* Menu */
    .m-m.open {
        width: 100vw;
    }
    .s-m.products {
        column-count: 1;
        -moz-column-count: 1;
        -webkit-column-count: 1;
    }
    /* Footer */
    .footer .w-s {
        margin: 0 1em;
    }
    .footer .w-m {
        width: 100%;
        margin: 0 auto;
        padding: 2rem 1rem 6rem;
    }
    .footer img.l {
        top: 0;
        left: 0;
        margin-bottom: 3rem;
    }
    .footer .grid-item.b {
        grid-template-columns: 1fr;
    }
}