@media (min-width:991px) and (max-width:1200px) {
    .menu.desktop { font-size: 14px; }
}

@media (min-width:1201px) and (max-width:1500px) {
    .menu.desktop { font-size: 16px; }
}

@media (min-width:1501px) and (max-width:1920px) {
    .menu.desktop { font-size: 16px; }
}

@media (min-width:1921px) {
    .menu.desktop { font-size: 20px; }
}

.menu.desktop {
    display: inline-block;
    position: relative;
    z-index: 1000;
    white-space: nowrap;
}

.menu.desktop > .block > .submenu,
.menu.desktop > .block > .item {
    display: inline-block;
    position: relative;
    padding: 1.25em;
    box-sizing: border-box;
    vertical-align: top;
    white-space: normal;
    font-weight: 600;
    color: #53575a;
}

@media (min-width:991px) and (max-width:1100px) {
    .menu.desktop > .block > .submenu,
    .menu.desktop > .block > .item {
        padding: .75em;
    }
}

@media (min-width:1101px) and (max-width:1300px) {
    .menu.desktop > .block > .submenu,
    .menu.desktop > .block > .item {
        padding: 1em;
    }
}

.menu.desktop > .block > .submenu:first-child > .title {
    margin-left: -1.25em;
}

.menu.desktop .submenu,
.menu.desktop .item {
    cursor: pointer;
}

.menu.desktop .submenu > .items {
    display: none;
    position: absolute;
}

.menu.desktop .block {
    display: table-cell;
    min-width: 13.75em;
}

.menu.desktop .items > .block > .submenu,
.menu.desktop .items > .block > .item {
    padding: 1em 1.25em;
    font-weight: 400;
}

.menu.desktop .items > .block > .submenu + .submenu,
.menu.desktop .items > .block > .submenu + .item,
.menu.desktop .items > .block > .item + .submenu,
.menu.desktop .items > .block > .item + .item {
    margin-top: -1px;
}

.menu.desktop .items > .block > .submenu + .submenu::before,
.menu.desktop .items > .block > .submenu + .item::before,
.menu.desktop .items > .block > .item + .submenu::before,
.menu.desktop .items > .block > .item + .item::before {
    content: '';
    display: inline-block;
    margin-top: -1em;
    width: 100%;
    border-top: 1px solid #cccccc;
}

.menu.desktop > .block > .submenu > .items {
    margin: 1.25em 0 0 -1.25em;
}

.menu.desktop > .block > .submenu:hover > .items::after {
    content: '';
    position: absolute;
    top: -1.25em;
    left: 0;
    width: 100%;
    height: 1.25em;
    background-color: white;
}

.menu.desktop > .block > .submenu:hover > .items.odd {
    box-shadow: 0px 6px 8px 2px rgba(0, 0, 0, 0.5);
}

.menu.desktop > .block > .submenu:hover > .title,
.menu.desktop > .block > .item:hover {
    color: #8e382f;
}

.menu.desktop > .block > .submenu > .title.new::after,
.menu.desktop > .block > .submenu .items .item.new::after,
.menu.mobile .submenu > .toggle-items > .title.new::after {
    content: 'NEW';
    color: red;
    font-size: 0.75em;
    position: absolute;
    transform: translate(-0.5em, -1em);
}

.menu.desktop > .block > .submenu .items .item.new:hover:after {
    color:white;
}

.menu.desktop .submenu:hover > .items {
    display: table;
}

.menu.desktop .items.odd > .block > .submenu:hover,
.menu.desktop .items.odd > .block > .item:hover {
    background-color: #8e382f;
    color: white;
}

.menu.desktop .items.even > .block > .submenu:hover,
.menu.desktop .items.even > .block > .item:hover {
    background-color: white;
    color: #8e382f;
}

.menu.desktop .items > .block > .submenu:hover {
    position: relative;
}

.menu.desktop .items > .block > .submenu + .submenu:hover::before,
.menu.desktop .items > .block > .submenu + .item:hover::before,
.menu.desktop .items > .block > .item + .submenu:hover::before,
.menu.desktop .items > .block > .item + .item:hover::before,
.menu.desktop .items > .block > .submenu:hover + .submenu::before,
.menu.desktop .items > .block > .submenu:hover + .item::before,
.menu.desktop .items > .block > .item:hover + .submenu::before,
.menu.desktop .items > .block > .item:hover + .item::before {
    border: 0;
}

.menu.desktop .items > .block > .submenu:hover > .items {
    position: absolute;
    top: 0;
    left: 100%;
    z-index: -1;
    width: 100%;
    box-shadow: 0px 6px 8px 2px rgba(0, 0, 0, 0.5);
}

.menu.desktop .items > .block > .submenu:hover > .items.even {
    background-color: #8e382f;
    color: white;
}

.menu.desktop > .block > .submenu > .items.odd,
.menu.desktop .items > .block > .submenu:hover > .items.odd {
    background-color: white;
    color: #53575a;
}

@media (min-width:991px) and (max-width:1080px) {
    .menu.desktop > .block > .submenu:last-child > .items.odd .items { left: -100%; }
}



.menu.mobile {
    font-size: calc(14px + 1vmin);
    font-weight: 400;
}

.menu.mobile .toggle-title {
    display: none;
}

.menu.mobile .toggle-items > .title {
    display: block;
}

.menu.mobile > .toggle-items > .title {
    display: inline-block;
    fill: #848484;
    transition: fill .25s, transform .25s;
}

.menu.mobile > .toggle-items > .title > svg {
    width: auto;
    height: 100%;
}

.menu.mobile > .toggle-items > .items {
    margin-top: 24px;
    background-color: white;
    color: #53575a;
    box-shadow: 0px 10px 12px -8px #000000;
}

.menu.mobile .toggle-items > .items {
    display: none;
    z-index: 1;
    width: 100vw;
    text-align: center;
}

@media (min-width:351px) {
    .menu.mobile .toggle-items > .items {
        width: 300px;
    }
}

.menu.mobile .submenu,
.menu.mobile .item {
    position: relative;
    margin-top: -1px;
}

.menu.mobile .submenu > .toggle-items > .title {
    padding: 20px 48px;
}

.menu.mobile .item {
    padding: 20px 24px;
}

.menu.mobile .submenu > .toggle-items > .title {
    position: relative;
}

.menu.mobile .submenu > .toggle-items > .title > svg {
    display: none;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.menu.mobile .submenu > .toggle-items > .title.new::after {
    font-size: 0.65em;
}

.menu.mobile .submenu::after,
.menu.mobile .item::after {
    content: '';
    display: inline-block;
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 0;
    border-top: 1px solid #cccccc;
}

.menu.mobile .submenu:last-child::after,
.menu.mobile .item:last-child::after {
    border: 0;
}

.menu.mobile > .toggle-title:checked ~ .toggle-items > .title {
    fill: #8e382f;
    transform: rotate(90deg);
}

.menu.mobile > .toggle-title:checked ~ .toggle-items > .items,
.menu.mobile .submenu > .toggle-title:checked ~ .toggle-items > .items {
    display: block;
}

.menu.mobile > .toggle-title:checked ~ .toggle-items > .items {
    position: absolute;
    z-index: 1000;
    margin-left: -50%;
}

.menu.mobile .submenu > .toggle-title:checked ~ .toggle-items > .items {
    position: relative;
}

.menu.mobile .toggle-title:checked ~ .toggle-items > .items.odd {
    background-color: white;
    color: #53575a;
}

.menu.mobile .toggle-title:checked ~ .toggle-items > .items.even {
    background-color: #8e382f;
    color: white;
}

.menu.mobile .items > .block > .submenu > .toggle-title:checked ~ .toggle-items > .title,
.menu.mobile .items > .block > .item:hover {
    color: #8e382f;
    font-weight: 600;
}

.menu.mobile .items.even > .block > .submenu > .toggle-title:checked ~ .toggle-items > .title,
.menu.mobile .items.even > .block > .item:hover {
    background-color: white;
}

.menu.mobile .items.odd > .block > .submenu > .toggle-title:checked ~ .toggle-items > .title,
.menu.mobile .items.odd > .block > .item:hover {
    background-color: #8e382f;
    color: white;
    font-weight: 400;
}

.menu.mobile .items > .block > .submenu > .toggle-title:checked ~ .toggle-items > .title > svg {
    display: inline-block;
    fill: #8e382f;
}

.menu.mobile .items.odd > .block > .submenu > .toggle-title:checked ~ .toggle-items > .title > svg {
    fill: white;
}

.menu.mobile .items > .block > .item:hover::after {
    border: 0;
}

.menu.mobile .submenu > .toggle-title:checked ~ .toggle-items > .items > .block > :first-child {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .235) 0px, rgba(0, 0, 0, 0) 8px);
}

.menu.mobile .submenu > .toggle-title:checked ~ .toggle-items > .items > .block > :last-child {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .075) 0px, rgba(0, 0, 0, 0) 16px);
}




/* user menu */

.menu.user.desktop > .block > .submenu {
    width: auto;
    padding: 0;
}

.menu.user.desktop > .block > .submenu > .title {
    margin: 0;
    padding: 1.25em 0;
    font-weight: 400;
    text-transform: initial;
    white-space: nowrap;
}

.menu.user.desktop > .block > .submenu:hover > .title {
    background-color: unset;
    color: unset;
    box-shadow: unset;
}

.menu.user.desktop > .block > .submenu > .title > svg {
    margin: 0 0 -.35em .5em;
    width: 1.5em;
    height: auto;
    fill: #606060;
}

.menu.user.desktop > .block > .submenu:hover > .items {
    position: absolute;
    top: 2.5em;
    right: 0;
}

.menu.user .block {
    min-width: auto;
}

.menu.user .items > .block {
    text-align: left;
}

.menu.user .items > .block > .item {
    white-space: nowrap;
}

.menu.user .items > .block > .item > svg {
    margin: 0 1em -.35em 0;
    width: 1.5em;
    height: auto;
    fill: #8e382f;
}

.menu.user .items > .block > .item:last-child > svg {
    fill: #9f9f9f;
}

.menu.user.desktop .items > .block > .item + .item::before {
    position: absolute;
    left: 3.75em;
    right: 1.25em;
    width: auto;
}

.menu.user .items > .block > .item:hover {
    background-color: #8e382f;
    color: white;
    font-weight: 400;
}

.menu.user .items > .block > .item:hover > svg {
    fill: white;
}




.menu.user.mobile {
    display: inline-block;
    margin-left: 32px;
}

@media (min-width:600px) {
    .menu.user.mobile { margin-left: 48px; }
}

.button.search-button.mobile + .menu.user.mobile {
    margin-left: 0;
}

.menu.user.mobile > .toggle-items {
    position: relative;
}

.menu.user.mobile > .toggle-items > .items {
    width: auto;
}

.menu.user.mobile > .toggle-items > .title {
    transition: fill .25s;
}

.menu.user.mobile > .toggle-title:checked ~ .toggle-items > .title {
    transform: initial;
}

.menu.user.mobile > .toggle-title:checked ~ .toggle-items > .items {
    margin-left: 0;
    right: -12px;
}

.menu.user.mobile .item::after {
    left: calc(20px + 2.5em);
    right: 20px;
    width: auto;
}
