﻿@import url('https://fonts.googleapis.com/css?family=Poppins:300,400,700&display=swap');

html, body, form
{
    width: 100%;
    height: 100%;
    font-family: 'Poppins',sans-serif;
    font-size: 13px;
    line-height: 16px;
}

body
{
    margin: 0;
    padding: 0px;    
}

.LayoutLeftSpacer
{
    padding-right: 20px;
}

.LayoutRightSpacer
{
    padding-left: 20px;
}

/* MASTER LAYOUT */
.LayoutWrapper
{
    min-height: 100%;
}

/* HIDE ELEMENTS */
.LeftWrapper, .Row1BackgroundColor, .WebPagesMenu ul, .MainCategories, .CustomerMenu ul, .SearchOuterWrapper, .MiniCartWrapper .MiniCartLink
{
    display: none;
}

.LayoutWrapper
{
    display: grid;
    grid-template-areas: "header" "banner" "content" "footer";
    grid-template-columns: 1fr;
    grid-template-rows: 160px auto 1fr auto;
    height: 100vh;
}

    .LayoutWrapper .FixedHeaderWrapper
    {
        grid-area: header;
        position: fixed;
        background: #bbb;
        width: 100%;
        z-index:2;
    }

    .LayoutWrapper .BannerWrapper
    {
        grid-area: banner;
        background-color: #eee;
    }

    .LayoutWrapper .ContentWrapper
    {
        grid-area: content;
    }

    .LayoutWrapper .FooterWrapper
    {
        grid-area: footer;
        background-color: #000;
        padding:10px; 
    }

/* HEADER LAYOUT */
.Row1BackgroundColor
{
    height: 40px;
    background-color: #000;
    border-bottom:1px solid #aaa ;
}

.Row2BackgroundColor
{
    height: 110px;
    background-color: #fff;
}

.Row3BackgroundColor
{
    height: 50px;
    background-color: #00476b;
}

.HeaderWrapper
{
    position: absolute;
    top: 0;
    display: grid;
    width: 100%;
    grid-template-rows: 110px auto;
    grid-template-columns: repeat(10, 1fr);
    grid-template-areas: "logo logo . . . . . . . ." "webmenu webmenu categorymenu categorymenu search search minicart minicart customermenu customermenu";
}

    .HeaderWrapper div
    {
        
    }

    .HeaderWrapper .WebpagesMenuWrapper
    {
        grid-area: webmenu;
        position: relative;
    }

    .HeaderWrapper .CustomerMenuWrapper
    {
        grid-area: customermenu;
        position: relative;
    }

    .HeaderWrapper .LogoWrapper
    {
        grid-area: logo;
    }

    .HeaderWrapper .SearchWrapper
    {
        grid-area: search;
    }

    .HeaderWrapper .MiniCartWrapper
    {
        grid-area: minicart;
        position: relative;
    }

    .HeaderWrapper .CategoryMenuWrapper
    {
        grid-area: categorymenu;
        position: relative;
    }


/* CONTENT LAYOUT */
.ContentGrid
{
    display: grid;
    height: 100%;
    grid-template-areas: "main";
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

    .ContentGrid .LeftWrapper
    {
        padding:20px;
        padding-right:0;
        grid-area: left;
        border-right:2px #eee solid;
    }

    .ContentGrid .MainWrapper
    {
        grid-area: main;
        padding:20px;
    }

/* MOBILE ICONS */
.MobileIcon
{
    font-size: 32px;
    line-height: 50px;
    box-sizing: border-box;
    text-align: center;
    display: block;
    cursor: pointer;
}

    .MobileIcon:before
    {
        font-family: 'FontAwesome5';
    }

    .MobileIcon.CategoryBars:before
    {
        content: '\f0c9';
    }

    .MobileIcon.Search:before
    {
        content: '\f002';
    }



    .MobileIcon.WebPages:before
    {
        content: '\f015';
    }

    .MobileIcon.User:before
    {
        content: '\f023';
    }

    .MobileIcon.User.LoggedIn:before
    {
        content: '\f007';
    }

    .MobileIcon.Cart:before
    {
        content: '\f07a';
    }

    .MobileIcon.Cart .Count
    {
        font-size: 12px;
        line-height: 18px;
        height: 18px;
        position: absolute;
        left: 50%;
        margin-left: -6px;
        top: 18px;
        right: auto;
        font-weight: 700;
        text-align: center;
        height: 20px;
        min-width: 20px;
        border-radius: 15px;
        padding-left: 5px;
        padding-right: 5px;
        box-sizing: border-box;
        transition: all 200ms linear;
    }

        .MobileIcon.Cart .Count:before
        {
            content: '';
        }

    /* MOBILE ICONS - COLORS AND BACKGROUNDS */
    .MobileIcon
    {        
        color: #fff;
    }
        .MobileIcon:hover
        {
            background-color: #CDE1E9;
            color: #000;
        }

    .MobileIcon.Cart .Count
    {
        background-color: #fff;
        color: #444;
        border: 1px solid #444;
    }

    .MobileIcon.Cart:hover .Count
    {
        opacity: 0.4;
    }

/* GLOBAL SEARCH BOX */
.SearchOuterWrapper {position:absolute; left:0; background:#fff; right:0; padding:10px;  box-sizing:border-box;}
    .SearchOuterWrapper .btnHiddenSearch
    {
        display: none;
    }
.SearchContent
{
    position:relative;
    background:#fff;
    border:1px solid #ccc;
    padding:10px;
}
    .SearchContent .SearchField
    {
        width: 100%;
        box-sizing: border-box;
        padding-right: 50px;
        font-size: 16px;
        font-family: 'Open Sans',sans-serif;
    }
.SearchContent .SearchField
{
    width: 100%;
    box-sizing: border-box;
    padding-right: 50px;
    border:0;
}
.SearchContent .SearchButton
{
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    cursor:pointer;
}
    .SearchContent .SearchButton:before
    {
        float:left;
        padding-top:12px;
        padding-right:10px;
        font-size:24px;
        content: '\f002';
        font-family: 'FontAwesome5';
    }

/* COLORS,BACKGROUNDS AND PADDING */
.TopMenuWrapper
{
    background-color: #444;
    padding-top: 6px;
    padding-bottom: 6px;
}

.ShopToolsWrapper
{
    background-color: #ccc;
}

.CategoriesWrapper
{
    background-color: #fff;
}

.ContentWrapper
{
    background-color: #fff;
    color: #444;
}

.FooterWrapper
{
    background-color: #444;
    color: #fff;
    padding-top: 10px;
    padding-bottom: 10px;
}

@media screen and (min-width:768px)
{
    body
    {
        background-color: gray;
    }

    .LayoutWrapper
    {
        grid-template-rows: 195px auto 1fr auto;
    }

    /* SHOW ELEMENTS */
    .Row1BackgroundColor, .WebPagesMenu ul, .SearchOuterWrapper, .MiniCartWrapper .MiniCartLink
    {
        display: block;
    }

    /* HIDE ELEMENTS */
    .MobileIcon.WebPages, .MobileIcon.Search, .MobileIcon.Cart
    {
        display: none;
    }

    .PageContentWidth
    {
        max-width: 768px;
        margin: 0 auto;
    }

    .FixedHeaderWrapper
    {

    }

    /* HEADER LAYOUT */
    .Row1BackgroundColor
    {
        height: 34px;        
    }
    .Row3BackgroundColor
    {
        height: 50px;
    }
    .HeaderWrapper
    {
        grid-template-rows: 34px 111px auto;
        grid-template-areas: "webmenu webmenu webmenu webmenu webmenu webmenu webmenu webmenu webmenu webmenu" "logo logo search search search search minicart minicart minicart minicart" "categorymenu categorymenu . . . . . . customermenu customermenu";
    }
    .SearchOuterWrapper {
        position:initial;
        left:auto;
        right:auto;
        margin-top:23px;
    }
}

@media screen and (min-width:980px)
{
    html, body, form
    {        
        font-size: 12px;
        line-height: 16px;
    }
    .LayoutWrapper
    {
        grid-template-rows: 197px auto 1fr auto;
    }
    .HeaderWrapper
    {
        grid-template-rows: 34px 111px auto;        
    }
    .Row3BackgroundColor
    {
        height: 52px;
    }
    .PageContentWidth
    {
        max-width: 980px;
        margin: 0 auto;
    }
    /* SHOW ELEMENTS */
    .MainCategories, .CustomerMenu ul
    {
        display: block;
    }
    /* HIDE ELEMENTS */
    .MobileIcon.CategoryBars, .MobileIcon.User
    {
        display: none;
    }
    .HeaderWrapper
    {
        grid-template-areas: "webmenu webmenu webmenu webmenu webmenu webmenu . customermenu customermenu customermenu" "logo logo . . search search search minicart minicart minicart" "categorymenu categorymenu categorymenu categorymenu categorymenu categorymenu categorymenu categorymenu categorymenu categorymenu";
    }
}

@media screen and (min-width:1280px)
{
    html, body, form
    {
        font-size: 16px;
        line-height: 20px;
    }
    .LayoutWrapper
    {
        grid-template-rows: 203px auto 1fr auto;
    }
    .HeaderWrapper
    {
        grid-template-rows: 40px 111px auto;
    }
    .Row1BackgroundColor
    {
        height: 40px;
    }
    .PageContentWidth
    {
        max-width: 1280px;
        margin: 0 auto;
    }
    .ContentGrid
    {
        display: grid;
        height: 100%;
        grid-template-areas: "left main";
        grid-template-columns: auto 1fr;
        grid-template-rows: 1fr;
    }

    .LeftWrapper
    {
        display: block;
        width:300px;
    }
}

@media screen and (min-width:1640px)
{
    html, body, form
    {
        font-size: 16px;
        line-height: 22px;
    }
    .LayoutWrapper
    {
        display: grid;
        grid-template-areas: "header" "banner" "content" "footer";
        grid-template-columns: 1fr;
        grid-template-rows: 200px auto 1fr auto;
        height: 100vh;
    }
    .PageContentWidth
    {
        max-width: 1640px;
        margin: 0 auto;
    }

    .HeaderWrapper
    {
        grid-template-areas: "webmenu webmenu webmenu webmenu webmenu webmenu . . customermenu customermenu" "logo logo . . . . search search minicart minicart" "categorymenu categorymenu categorymenu categorymenu categorymenu categorymenu categorymenu categorymenu categorymenu categorymenu";
    }

    .Row3BackgroundColor
    {
        height: 52px;
    }
}
