/*
 * Styling for mobile menu overlay 
*/

header.mobile {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    height: 100vh;
    width: 100%;
    position: fixed;
    padding: 0px;
    border: none;
    overflow-y: auto;
}

header.mobile .nav {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    height: max-content;
    margin-left: 0px;
}

/* header.mobile nav */

header.mobile > .nav > nav {
    display: flex;
}

header.mobile > .nav > nav > .link {
    display: flex;
}

header.mobile > .nav > nav > .link > span,
header.mobile > .nav > nav > .link > a {
    font-size: 25px;
}

header.mobile .link:hover > .dropdown,
header.mobile .dropdown:hover {
    height: 400px;
    transition: height 0.4s, padding 0.4s;
    padding: 10px 40px;
    padding-left: 20px;
}

/* search */

header.mobile > .search {
    font-size: 20px;
    padding: 30px 0px;
    border-bottom: var(--site-color) solid 2px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    height: max-content;
    max-width: 100%;
    margin: 0px;
    padding: 30px 20px;
    flex-grow: unset;
}

header.mobile .search > .input-bar {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    box-shadow: none;
}

header.mobile .input-bar > label > i {
    padding: 13px;
    padding-left: 0px;
    border-right: lightgray solid 2px;
}

header.mobile .input-bar > input {
    padding: 10px 0px;
    font-size: 20px;
    margin-left: 15px;
    width: 100%;
}

header.mobile .account > a {
    font-size: 22px;
    color: black;
}


header.mobile .search > .dropdown {
    /* height: max-content; */
}

/* account */

header.mobile .account {
    display: flex;
    flex-direction: column;
    padding: 30px 0px;
}

header.mobile .account > span {
    display: none;
}

header.mobile .account a {
    padding-left: 20px;
    font-size: 25px;
}

header.mobile .account a:first-child {
    padding-bottom: 30px;
    border-bottom: var(--site-color) solid 2px;
}

header.mobile .account a:last-child {
    padding-top: 30px;
}

header.mobile .mobile-menu {
    position: absolute;
    right: 0px;
    top: 20px;
}

header.mobile > .mobile-menu > i {
    display: none;
}

header.mobile > .mobile-menu > i.open:not(header.mobile > .mobile-menu > i.open) {
    display: inline;
}

header.mobile > .mobile-menu > i.close {
    display: inline;
}

@media screen and (min-width: 400px) {
    header.mobile .logo > img {
        width: 100px;
        height: 100px;
    }
    
    header.mobile .logo > div > span {
        font-size: 30px;
    }
}