/**************/
/* all styles */
/**************/

@import url(https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap);

/* set variables */
:root {
    --blue: #1e90ff;
    --purewhite: #fff;
    --white: #f0f0f0;
    --greywhite: #eaeaea;

    --beige: hsl(43, 35%, 92%); /* bg: #f2eee4 rgb(242, 238, 228) */
    --darkbrown: hsl(43, 35%, 25%); /* #564929 rgb(86, 73, 41) */
    --lightblue: hsl(219, 40%, 83%); /* #c2cee5 rgb(194, 206, 229) */
    --middleblue: hsl(219, 41%, 63%); /* #7893c7  */
    --darkblue: hsl(219, 41%, 43%); /* #41609b */
    --middarkblue: hsl(219, 34%, 35%); /* #3b5078 */
    --darkerblue: hsl(219, 34%, 16%); /* #1b2537 rgb(27, 37, 55) */
    --red: #ff0000;
    --mustardyellow: hsl(48.93deg 88.03% 54.12%);
    --bg-main: var(--beige);
    --bg-main: var(--lightblue);
    --logo-height: 100px;
    --logo-cellwidth: 100px;
    --footer-height: 180px;
    --footer-margin-top: 2rem;
    --banner-new-arr-grid-width: 930px;
    --banner-new-arr-cell-width: 300px; /* to enforce 4:3 image dimension ratio */
    --banner-new-arr-cell-height: 225px; /* to enforce 4:3 image dimension ratio */
}

html, head, body {
    color: var(--darkerblue);
    background: var(--bg-main);
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
    /* font-family: 'EB Garamond'; */
}

html, body {
    margin: 0;
}

/* standard link colours */
a:link,
a:visited {
    color: var(--darkerblue);
}
a:hover,
a:active {
    color: var(--middarkblue);
    background: var(--white);
}

p {
    margin-block-start: .5em;
    margin-block-end: .5em;
}

h1 {
    font-size: 2.25rem;
    color: var(--middarkblue);
}

h2 {
    font-size: 1.67rem;
}

header, footer {
    color: var(--white);
    font-family: Lato;
}

header.mainmenu {
    background: var(--darkerblue);
    overflow: hidden;
    display: flex;
    outline: 0px solid greenyellow;
}

header.mainmenu-sm {
    visibility: hidden;
    display: none;
}

div.mainmenu-doubledecker, nav.mainmenu-topline, nav.mainmenu-secondline {
    display: flex;
    /* justify-content: flex-end; */
    justify-content: space-between;
    outline: 0px solid salmon;
}

div.mainmenu-doubledecker {
    flex-direction: column;
}

nav.mainmenu-topline {
    /* margin-left: 9rem; */
    margin-left: 1rem;
}

nav.mainmenu-secondline {
    /* margin-left: 3rem; */
    /* margin-left: 1rem; */
    margin: 0;
    height: 3.2rem;
    /* height: 3.6rem; */
}

.topline-item {
    /* flex: 1; */
    border: 0px solid crimson;
}

.topline-item.searchbar {
    flex: 1;
    margin-top: auto; /* pushes it down, anchoring on the bottom margin */
    margin-bottom: .67rem;
    margin-right: 1rem;
    padding-right: 1rem;
}

.topline-item.searchbar input {
    width: 200px;
    height: 1.5rem;
}

.mainmenu-logo {
    background: var(--bg-main);
    background: var(--middleblue);
    width: var(--logo-cellwidth);
    height: var(--logo-cellwidth);
    background-image: url(/images/logo/tiptoe_soles_logo_colour.png);
    background-repeat: no-repeat;
    background-position: center;
    /* background-size: var(--logo-width); */
    background-size: var(--logo-height);
}

/* Style the links inside the navigation bar */
.mainmenu-secondline a,
.mainmenu-topline a {
    float: left;
    color: var(--white);
    text-align: center;
    /* padding: 14px 16px; */
    padding: 14px 9px;
    text-decoration: none;
    font-size: 17px;
}
.mainmenu-secondline a.current {
    /* border: 3px solid crimson; */
    border-bottom: .33rem solid var(--lightblue);
    background: var(--middarkblue);
}
/* Change the color of menu links on hover */
.mainmenu-secondline a:hover,
.mainmenu-topline a:hover {
    /* background: var(--lightblue); */
    background: var(--middleblue);
    color: var(--darkerblue);
    /* border-bottom: .33rem solid var(--lightblue); */
}
.mainmenu-secondline a:active,
.mainmenu-topline a:active {
    /* color: var(--red); */
    color: var(--mustardyellow);
}

/* style the main logo as HOME link */
.mainmenu-logo > a {
    display: block;
    width: 100%;
    height: 100%;
}

.topline-item a {
    font-size: .9rem;
    /* font-weight: 900; */
}

section.breadcrumb {
    margin: 1rem 0 1rem 1rem;
    font-family: Lato;
}

section.main-content {
    /* min-height: calc(100vh - 300px); */
    /* screen height less header less footer less footer-marginTop less small "buffer" space */
    /* min-height: calc(100vh - 100px - 110px - 60px); */
    /* min-height: calc(100vh - var(--logo-height) - 110px - 60px); */
    min-height: calc(100vh - var(--logo-height) - 110px - 90px);
    /* max-width: 800px; */
    margin: 0 auto;
    /* padding: 1rem; */
}

section.narrower {
    max-width: 760px;
}

h1 {
    text-align: center;
}

/* p tags on the contact form need to be narrower */
p.contact-form {
    width: 600px;
    margin: 1.5rem auto;
}

footer {
    display: flex;
    flex-direction: column;
    background: var(--darkblue);
    height: var(--footer-height);
    right: 0;
    bottom: 0;
    left: 0;
    margin-top: var(--footer-margin-top);
    padding: 1rem;
}

.footer-line1 {
    display: flex;
}

.footer-line2 {
    padding: 2.5rem 1rem 3px 1rem;
    display: flex;
}

.footer-line2 > section {
    flex: 1;
    text-align: center;
    justify-content: center;
}

footer section, aside {
    flex: 1;
    padding-top: 1rem;
    color: var(--greywhite);
    font-size: .8rem;
}

section.footer-policies {
    border: 0px solid crimson;
    display: flex;
}

/* using adjacent selector, only match the 2nd, 3rd, ... child of section */
section.footer-policies > div + div {
    border: 0px solid yellow;
    margin-left: 2rem;
}


footer aside {
    text-align: right;
}

footer a,
footer a:visited {
    color: var(--lightblue);
}

/* Change the color of links on hover */
footer a:hover {
    background: var(--lightblue);
    color: var(--darkerblue);
}

.footer-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.social-icon-cont {
    display: flex;
}

.social-icon {
    background-size: contain;
    background-repeat: no-repeat;
    width: 60px;
    height: 60px;
    margin: 9px;
}

.social-icon-pinterest {
    background-image: url(/images/socials/pinterest_logo.png);
}
.social-icon-youtube {
    background-image: url(/images/socials/youtube_logo.png);
}
.social-icon-facebook {
    background-image: url(/images/socials/facebook_logo-white_bg01.png);
}
.social-icon-twitter {
    background-image: url(/images/socials/twitter_logo.png);
}

div.contact-form-row,
div.contact-form-row-submit {
    display: flex;
    background: var(--lightblue);
    margin: .67rem 0;
    padding: .33rem 0;
}
div.contact-form-row > label {
    flex: 1;
    text-align: right;
    margin-right: .67rem;
    padding: .33rem;
}
div.contact-form-row > input,
div.contact-form-row > textarea {
    display: block;
    flex: 2;
    padding: .33rem;
}
/* holds "required", "optional" or other short text */
div.contact-form-row > div {
    flex: 1;
    margin-left: .33rem;
    font-size: .88rem;
}
/* insert a colon after label */
div.contact-form-row > label::after {
    content: ": ";
}
div.contact-form-row-submit {
    display: flex;
    text-align: right;
}
div.contact-form-row-submit > div.col1 {
    flex: 1;
}
div.contact-form-row-submit > div.col2 {
    flex: 3;
}
div.contact-form-row-submit > input[type=submit] {
    flex: 1;
    margin: 1rem;
    padding: .33rem;
    background: var(--white);
    border: 1px solid var(--darkerblue);
}

#banner-new-arrivals-grid {
    display: flex;
    width: var(--banner-new-arr-grid-width);
    flex-wrap: wrap;
    margin: auto; /* horizontally centered */
}
/* the first div child of id banner-new-arrivals */
#banner-new-arrivals-grid > div {
    border: 3px solid var(--middleblue);
    width: var(--banner-new-arr-cell-width);
    height: var(--banner-new-arr-cell-height);
    margin: 2px;
}
#banner-new-arrivals-grid > div > img {
    border: 2px solid pink;
}
#banner-new-arrivals-title {
    width: var(--banner-new-arr-grid-width);
    margin: auto; /* horizontally centered */
    text-align: center;
}
#banner-new-arrivals-title > div {
    border: 3px solid var(--middleblue);
    margin: 1rem 2px 2px 2px;
    padding: .5rem;
    font-size: 2rem;
    font-weight: 900;
    /* background: var(--purewhite); */
    background: var(--darkblue);
    color: var(--white);
}

/* image definitions for specific products */
#clancy_blue {
    background-image: url(/images/products/clancy_blue.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--purewhite);
}
#gary_black {
    background-image: url(/images/products/gary_black.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--purewhite);
}
#gary_tan {
    background-image: url(/images/products/gary_tan.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--purewhite);
}
#heavenly_black {
    background-image: url(/images/products/heavenly_black.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--purewhite);
}
#sally_black {
    background-image: url(/images/products/sally_black.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--purewhite);
}
#sally_tan {
    background-image: url(/images/products/sally_tan.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--purewhite);
}

/* if device width is greater than or equal to 1080px */
@media only screen and (min-width: 1080px) {
/* @media only screen and (min-width: 992px) { */
/* @media only screen and (min-width: 768px) { */

    div.mainmenu-doubledecker {
        flex-direction: row-reverse;
        flex: 1;
    }

    .topline-item.searchbar {
        flex: 1;
        margin-top: .67rem;
        margin-bottom: auto; /* pushes it up */
        margin-right: 1rem;
        padding-right: 1rem;
    }

    nav.mainmenu-topline {
        margin-right: 5rem;
    }

    /* make this line taller on wider browser */
    nav.mainmenu-secondline {
        height: 3.6rem;
    }

    section.main-content {
        /* max-width: 760px; */
        margin: 0 auto;
        padding: 1rem 6rem;
    }
    
}

/* if device width is less than or equal to 768px */
@media only screen and (max-width: 768px) {

    /* * {
        visibility: hidden !important;
        display: none !important;
    } */
    header.mainmenu {
        visibility: hidden !important;
        display: none !important;
    }

    header.mainmenu-sm {
        visibility: visible;
        display: block;
    }

}
