:root {
    --header-menu-font: 400 1.4rem/1.6rem Roboto;
}

.body {
    margin: var(--huge-gap) 0 auto;
    position: relative;
}

.header {
    padding-bottom: 1.4rem;
    background: #F5F5F5;
}

.header-top {
    background-color: #243C50;
}

.header-top-inner {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    min-height: 5rem;
}

.header-moto {
    margin-right: auto;
    font: 400 1.4rem/1.8rem Roboto;
    text-transform: uppercase;
    color: #E0E1DD;
}

.header-top-link {
    display: flex;
    align-items: center;
    font: 400 1.4rem/1.6rem Roboto;
    color: #E0E1DD;
}

.header-top-link + .header-top-link {
    margin-left: var(--small-gap);
}

.header-top-link.selected {
    margin-top: -1.6rem;
    margin-bottom: -1.6rem;
    padding: 1.6rem 1.2rem;
    background: #007399;
    font-weight: 500;
}

.header-locs {
    position: relative;
    z-index: 2;
    margin-right: var(--small-gap);
}

.header-loc-selector {
    position: relative;
    z-index: 2;
    display: flex;
    flex-flow: column nowrap;
    margin-left: auto;
}


.header-loc-selector-mobile {
    display: none;
}

.header-locs-list {
    position: absolute;
    z-index: 1000;
    left: 0;
    top: 100%;
    display: none;
    list-style-type: none;
    flex-flow: column nowrap;
    gap: 0.6rem;
    margin-left: auto;
    padding: 1rem 1.4rem;
    background: #243C50;
    box-shadow: 0 4px 7px rgba(0, 0, 0, 0.15);
}

.header-locs:hover > .header-locs-list,
.header-locs:focus-within > .header-locs-list {
    display: flex;
}

.header-loc {
    display: flex;
    align-items: center;
    padding-left: 3.3rem;
    background: no-repeat left center / contain;
    cursor: pointer;
    font: 400 1.4rem/1.6rem Roboto;
    color: #E0E1DD;
}

.header-loc-selector > .header-loc {
    margin-left: 1.4rem;
    margin-right: 2rem;
}

.header-loc-selector > .header-loc:after {
    content: '';
    float: right;
    margin: 0 -2rem 0 .8rem;
    border: .6rem solid transparent;
    border-top-color: #E0E1DD;
    border-bottom: 0;
}

.header-loc-en { background-image: url('/i/flag-en.svg'); }
.header-loc-es { background-image: url('/i/flag-es.svg'); }
.header-loc-ru { background-image: url('/i/flag-ru.svg'); }
.header-loc-de { background-image: url('/i/flag-de.svg'); }
.header-loc-pt { background-image: url('/i/flag-pt.svg'); }
.header-loc-cn { background-image: url('/i/flag-cn.svg'); }
.header-loc-jp { background-image: url('/i/flag-jp.svg'); }
.header-loc-fr { background-image: url('/i/flag-fr.svg'); }

.header-mid {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;

    min-height: 10.7rem;
}

.header-subscription {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: flex-start;

    height: 3rem;
    margin-top: -3rem;

    font: 500 1.4rem/2rem Roboto;
    font-style: italic;
}

.subscription-warning {
    padding-right: 2rem;
    background: url('/i/attention.png') no-repeat right center / contain;
}

.header-logo {
    display: block;
    width: 14rem;
    height: 4.7rem;
    margin-right: auto;
    background: url('/i/header-logo.svg') no-repeat center / contain;
}

.header-logo-old {
    width: 236px;
    height: 96px;
    background: url('/i/header-logo-old.png') no-repeat center / contain;
}

.header-mid-link {
    display: flex;
    flex-flow: row nowrap;
    min-height: 2rem;
    padding: 1rem 2.5rem;
    font: 400 1.4rem/2rem Roboto;
    color: var(--main-text-color);
}
.header-mid-link:after {
    height: 2rem;
    width: 2rem;
    background: no-repeat center / contain;
}

.header-mid-link + .header-mid-link {
    border-left: 1px solid #C3C3C3;
}

.header-mid-link.selected {
    background-color: #007399;
    color: #fff;
}

.header-search {
    padding-right: 0;
}
.header-search:after {
    content: '';
    background-image: url('/i/icon-search.svg');
}

.header-burger {
    display: none;
}
.header-burger:after {
    content: '';
    background-image: url('/i/icon-burger.svg');
}

.header-cart:after {
    content: '';
    margin-left: 1.6rem;
    background-image: url('/i/icon-cart.svg');
}

.header-cart > span {
    float: left;
    width: 2rem;
    height: 2rem;
    margin-right: 1.6rem;
    border-radius: 50%;
    background: #4d6d84;

    font: 400 1.2rem/2rem Roboto;
    color: #FFFFFF;
    text-align: center;
}

.header-cart > span:empty {
    display: none;
}

.header-cart.selected:after {
    background-image: url('/i/icon-cart-white.svg');
}
.header-cart.selected > span {
    background-color: #ffffff;
    color: #243C50;
}

.header-logout:after {
    content: '';
    margin-left: 1.6rem;
    background-image: url('/i/icon-logout.svg');
}

.header-user:after {
    content: '';
    margin-left: 1.6rem;
    background-image: url('/i/icon-user.svg');
}
.header-user.selected:after {
    background-image: url('/i/icon-user-white.svg');
}

.header-menu {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    padding-top: .8rem;
    padding-bottom: .8rem;
}

.header-menu > a {
    font: var(--header-menu-font);
    text-transform: uppercase;
    color: #243C50;
    border-left: .3rem solid #F5F5F5;
    padding-left: .3rem;
    padding-right: 0;
}

.header-menu > .ebook:first-letter {
    text-transform: lowercase;
}

.header-menu > a:last-child {
    padding-left: .6rem;
    padding-right: 0;
}

.header-menu > a:hover {
    border-color: #007399;
}

.header-menu > .selected {
    border-left: .3rem solid #007399;
    padding-left: .3rem;
    padding-right: 0;
    font-weight: 700;
}

.footer {
    margin-top: var(--huge-gap);
    padding: var(--big-gap) 0;
    background-color: #243C50;
    font: 500 1.2rem/1.2rem Roboto;
    color: #FFFFFF;
    text-align: left;
}

.footer-inner {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

.footer-logo {
    width: 12.4rem;
    height: 4.1rem;
    background: url('/i/logo-footer.svg') no-repeat left center / contain;
}

.footer-sm-line a {
    display: inline-block;
    width: 2.1rem;
    height: 2.5rem;
    margin: 1rem 2rem 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.footer-linkedin {background-image: url('/i/icon-foot-in.svg');}
.footer-linkedin:hover {background-image: url('/i/icon-foot-in-blue.svg');}
.footer-twitter {background-image: url('/i/icon-foot-tw.svg');}
.footer-twitter:hover {background-image: url('/i/icon-foot-tw-blue.svg');}
.footer-facebook {background-image: url('/i/icon-foot-fb.svg');}
.footer-facebook:hover {background-image: url('/i/icon-foot-fb-blue.svg');}
.footer-youtube {background-image: url('/i/icon-foot-yt.svg')}
.footer-youtube:hover {background-image: url('/i/icon-foot-yt-blue.svg')}

.overlay-panel {
    overflow: auto;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 0;
    background: rgba(0,0,0,.2);
}

.overlay-panel > .overlay-panel-inner {
    position: relative;
    top: -15rem;
    width: 100%;
    padding: 3.6rem 0 5rem;
    background: #819DB9;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    transition : all 0.2s ease-out 0.01s;
}

.overlay-panel.overlay-panel-mobile {
    background: unset;
}

.overlay-panel > .mobile-menu {
    width: 70%;
    float: right;
    background: #83ADD7;
    padding-bottom: 0;
}

.overlay-panel > .overlay-panel-inner > .search-box {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    max-width: 75rem;
}

.overlay-panel.visible {
    height: 100%;
}

.overlay-panel.visible > .overlay-panel-inner {
    top: 0;
}

.overlay-panel.visible .overlay-close {
    display: block;
}

.overlay-panel .overlay-close {
    display: none;
    position: fixed !important;
    z-index: 1001;
    right: 0.5rem !important;
    top: 0.5rem !important;
}
.overlay-panel .overlay-close:before, .overlay-panel .overlay-close:after {
    background-color: #ffffff !important;
}

.overlay-panel.visible .overlay-close {
    display: block;
}

.search-input {
    width: 100%;
    height: 4rem;
    padding: 0 1.1rem;
    border-bottom: 1px solid #fff;
    font: 500 1.8rem/2.4rem Roboto;
    color: #fff;
}
.search-input::placeholder {
    color: rgba(255,255,255,.5);
}

.search-button {
    width: 12.2rem;
    height: 4rem;
    margin-left: 2.8rem;
    border: 1px solid #fff;
    font: 500 1.4rem/1.6rem Roboto;
    text-align: center;
    color: #F5F5F5;
}

.mobile-menu > * {
    display: flex;
    align-items: center;
    min-height: 5rem;
    padding: 0 var(--outer-offset) !important;
    font: 400 1.4rem/1.9rem Roboto;
    color: #FFFFFF;
}

.mobile-menu > a.selected, .mobile-menu > a:hover {
    background-color: #F5F5F5 !important;
    color: #243C50;
}

.mobile-menu > a.selected {
    font-weight: 700;
}

.mobile-menu > a.selected:before {
    content: '';
    display: inline-block;
    height: 1.9rem;
    margin-right: .7rem;
    border-left: .3rem solid #007399;
}

.mobile-menu > *.header-top-link {
    margin: 0 !important;
    background-color: #60B7E1;
    text-transform: none;
}

@media (max-width: 1439px) {
    :root {
        --header-menu-font: 400 1.3rem/1.5rem Roboto;
    }
}

@media (max-width: 1023px) {
    .header-top-inner {
        min-height: 3rem;
    }

    .header-moto {
        font: 400 1.1rem/1.3rem Roboto;
    }

    .header-locs-mobile {
        display: none;
    }

    .header-loc {
        font-size: 1.1rem;
    }

    .header-top .header-top-link:not(.header-loc-selector) {
        display: none;
    }

    .header-mid {
        min-height: 8rem;
    }

    .header-mid-link {
        padding: 0;
        font-size: 0;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
    }
    .header-mid-link:after {
        margin-left: 0;
    }

    .header-mid-link + .header-mid-link {
        border-left: 0;
        margin-left: var(--normal-gap);
    }

    .header-mid-link.selected {
        background-color: transparent;
    }
    .header-cart.selected:after {
        background-image: url('/i/icon-cart-blue.svg');
    }
    .header-user.selected:after {
        background-image: url('/i/icon-user-blue.svg');
    }

    .header-cart > span {
        display: none;
    }

    .header-burger {
        display: flex;
    }

    .header-menu {
        display: none;
    }

    .header-subscription {
        height: 2rem;
        margin-top: -2rem;
    }
}


@media (max-width: 767px) {
    .mobile-menu > * {
        font-size: 1.4rem;
        min-height: 4rem;
    }

    .header {
        padding-bottom: 0;
    }

    .header-moto {
        font: 400 1.1rem/1.3rem Roboto;
    }

    .header-logo {
        width: 14rem;
        height: 4.7rem;
    }

    .header-top-inner {
        display: none;
    }

    .header-mid {
        min-height: 8rem;
    }

    .header-mid-link {
        min-height: 2rem;
        padding: 0;
        font-size: 0;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
    }
    .header-mid-link:after {
        width: 2rem;
        height: 2rem;
        margin-left: 0;
    }

    .header-mid-link + .header-mid-link {
        border-left: 0;
        margin-left: 1.5rem;
    }

    .header-loc-title {
        width: 100%;
        min-height: 4rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
        font: inherit;
        color: inherit;
    }

    .header-loc-title:after {
        content: '';
        float: right;
        border: .6rem solid transparent;
        border-top-color: #E0E1DD;
        border-bottom: 0;
    }

    .header-locs-mobile {
        display: flex;
        padding: 0;
        flex-direction: column;
        align-items: center;
    }

    .header-locs-mobile-list {
        display: none;
        flex-direction: column;
        width: 100%;
    }

    .header-locs-mobile.opened > .header-locs-mobile-list {
        display: flex;
    }

    .header-locs-mobile.opened > .header-loc-title:after {
        transform: rotate(180deg);
    }

    .header-locs-mobile-list > * {
        display: flex;
        flex-wrap: nowrap;
        padding: 0.7rem 3rem;
        margin: 0 var(--outer-offset-fix);
    }

    .header-locs-mobile-list > .selected {
        background-color: rgba(255, 255, 255, 0.2);
    }

    .header-loc {
        display: block;
        width: 2.2rem;
        height: 1.6rem;
        margin-right: 1rem;
    }

    .footer {
        margin-top: 3.7rem;
        padding: 2rem 0;
    }

    .footer-inner {
        flex-flow: column;
    }

    .footer-sm-line {
        margin: 2rem 0;
    }

    .footer-sm-line a {
        margin: 0 2rem;
    }

    .header-subscription {
        height: 1.7rem;
        margin-top: 1.7rem;
        font: 500 1.1rem/1.3rem Roboto;
    }
}
