@import url('https://fonts.googleapis.com/css?family=Acme|Cabin|Josefin+Sans|Oswald&display=swap');

div#topbar {
    position: fixed;
    top: 0;
    display: flex;
    height: 50px;
    width: 100vw;
    justify-content: space-between;
    box-sizing: border-box;
    left: 0;
    padding: 4px 2%;
    align-items: center;
    transition: all .5s;
}

div#topbar a:link, div#topbar a:visited {
    text-decoration: none;
}
div#topbar a:hover {
    text-decoration: underline;
}

html:not([data-scroll='0']) div#topbar {
    box-shadow: 0 1px 2px 3px rgba(0,0,0,.2);
    background-color: white;
    z-index: 1000;
}

div#logo {
    display: flex;
    align-items: center;
    flex: 1;
    cursor: pointer;
}
#logo img {
    width: 200px;
}

div#search {
    flex: 2;
    position: relative;
}
div#nav {
    flex: 1;
    display: flex;
    justify-content: space-evenly;
}
div#user {
    flex: 1;
}

body {
    font: 14pt arial;
    background-color: #fafafa;
    font-family: Acme;;
}

.search-container {
    display: flex;
    align-items: center;
    width: 40%;
    background-color: lightgray;
    border-radius: 18px;
    height: 30pt;
    padding: 4pt 1em;
    box-sizing: content-box;
}

.search-box {
    height: 100%;
    box-sizing: content-box;
    width: 100%;
}

.search-box input, .search-box form {
    height: calc(100% - 2pt);
    width: 100%;
    background-color: transparent;
    border: none;
    text-indent: .5em;
    font-size: 14pt;
}
button {
    font-family: acme;
    font-size: 14pt;
    padding: 4pt 14pt;
    cursor: pointer;
    font-style: oblique;
}
button.rounded {
    border-radius: 10pt;
}
button.red {
    background-color: #fdd3d3;
    border: 1px darkorange solid;
}
/*#loginbtn     {display: none;}*/


div#main {
    margin-top: 140px;
}

.content-container {
    display: flex;
    width: auto;
}
img#modalImage {
    max-width: 100%;
    max-height: 100%;
    align-self: center;
}

div#modalBottomBar {
    margin-top: 4pt;
    display: flex;
    justify-content: space-around;
}

div#modalBottomBar img {
    height: 21pt;
    filter: drop-shadow(0px 0px 1px rgba(255,255,170,0.3)) drop-shadow(0 0 2px rgba(0,0,0,.6));
    cursor: pointer;
}
div#modalDescription {
    cursor: pointer;
}
#modalad {
    /*min-width: 200px;
    margin-left: -26px;*/
    align-self: center;
}
#modalad img{
    max-height: 600px;
    background-color: white;
}
div#modalEmail:empty:before {
    content: "Email Address";
    color: lightgray;
}
div#modalPhone:empty:before {
    content: "Phone Number";
    color: lightgray;
}


.form-input-set input {
    font-size: 14pt;
    width: 100%;
    background-color: transparent;
    border: 0;
}

.form-input-set {
    display: flex;
    margin: 3pt 1em;
    border: 2px ridge;
    border-radius: 10px;
    padding: 3pt 6pt;
}

.form-input-set label {
    padding-right: 1em;
}

.form-multiline-set {
    margin: 1em;
    border: 2px ridge;
    border-radius: 10px;
}

.form-multiline-set div:nth-child(1) {
    text-align: center;
}

.form-multiline-set textarea {
    width: calc(100% - 6px);
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    display: block;
}
div#controlarea {
    text-align: center;
}
input#location {
    padding: 6pt;
    border-radius: 10px;
    box-shadow: inset 2px 2px 7px rgba(0,0,0,.4);
}
.categories {
    display: flex;
    height: 100px;
    flex-flow: nowrap;
    justify-content: center;
    overflow-x: auto;
    overflow-y: visible;
}

.category-button {
    min-width: 60px;
    width: 60px;
    height: 60px;
    border: 1px solid darkgray;
    border-radius: 50%;
    margin: 0 14pt;
    box-shadow: 1px 2px 8px 3px rgba(0,0,0,.1);
    cursor: pointer;
    position: relative;
}
.category-button:after {
    content: attr(title);
    text-align: center;
    position: absolute;
    bottom: -16pt;
    left: 0;
    font-size: 70%;
    width: 100%;
}

.category-button img {width: 100%; height: 100%; border-radius: 50%;}

div#content {
    padding: 2em 5%;
}

div.listing-box-empty   {
    margin-top: 1.5in;
}

.md-show.md-effect-16 .md-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1 0 450px
}
.md-content > div {
    min-width: 2.4in;
    flex: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-content: center;
}

/*
div#listingarea {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
}
*/
div#listingarea {
    display: grid;
    grid-template-columns: repeat(auto-fill,294px);
    grid-template-rows: 370px;
    grid-auto-columns: 294px;
    justify-content: center;
}

.listing-title {
    font-weight: 700;
    font-family: Cabin;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.listing-box {
    width: 250px;
    height: 320px;
    border: 1px #CCC solid;
    margin: 20px;
    border-radius: 10px;
    padding: 2px;
    background-color: white;
    box-shadow: 3px 3px 14px -4px rgba(0,0,0,.5);
    cursor: pointer;
}

.listing-image {
    display: flex;
    justify-content: stretch;
    align-items: center;
    height: calc(100% - 60px);
}

.listing-image img {
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}
span.img-alt {
    text-align: center;
    width: 100%;
    font-style: oblique;
    font: menu;
}

.listing-location {
    text-align: center;
    font-size: 76%;
}
div#phoneDiv {
    text-align: center;
}

.dash-rid {
    display: flex;
    justify-content: center;
}
.dash-rid input[type=button] {
    padding: 7px 25px;
    border-radius: 6px;
    box-shadow: 1px 1px 5px 1px rgba(0,0,0,.4);
}

/*
.listing-ad {
    margin: 0 72px;
}
*/
.listing-ad {
    margin: 0 72px;
    grid-row: 2;
    grid-column-start: 2;
    grid-column-end: span 2;
    grid-row-end: span 2;
    width: 445px;
    align-self: center;
    justify-self: center;
}

@media screen and (max-width: 1065px){
    .categories {
        justify-content: start;
    }
}