@import url('https://fonts.googleapis.com/css?family=Titillium+Web');
@import url('https://fonts.googleapis.com/css?family=Quicksand');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    outline: none; 
}
*::-webkit-scrollbar { 
    display: none; 
}
body {
    font-family: 'Quicksand', sans-serif;
}
.unselectable {
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
 }
input:-webkit-autofill {
    box-shadow: 0 0 0 30px white inset !important;
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}
:root {
    --green: #74D19D; 
    --teal: #009688; 
    --teal-1: #00bfa5; 
}
a {
    cursor: pointer !important;
}
.color-black {
    color: #000 !important;
}
.color-white {
    color: #FFF !important;
}
.m-0 {
    margin: 0 !important;
}
.ml-0 {
    margin-left: 0 !important;
}
.mr-0 {
    margin-right: 0 !important;
}
.mb-0 {
    margin-bottom: 0 !important;
}
.mt-0 {
    margin-top: 0 !important;
}
.dn {
    display: none !important;
}
@media only screen and (min-width: 600px) {
    .dn-600 {
        display: none !important;
    }
    .do-600 {
        display: block !important;
    }
}
.dflex {
    display: flex;
    justify-content: center;
    align-items: center;
}

.uploadProgress {
    background: url('../images/uploadProgress.gif');
    background-size: 40px;
    background-repeat: no-repeat;
    background-position: right center;
}

.uploadSuccess {
    background: url('../images/uploadSuccess.png');
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: right center;
    background-origin: content-box;
}

/* html,
body {
    height: 100%;
} */

/* --------
Top NavBar
----------- */

.top-nav {
    display: none;
}

@media only screen and (min-width: 600px) {
    .top-nav {
        display: block;
        z-index: 90;
        position: fixed;
        top: 0;
        left: 0;
    }
    .top-nav .brand-logo {
        height: 100%;
        margin: 0 10px;
        padding: 5px;
        font-size: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }
    .top-nav .brand-logo img {
        height: 75%;
        margin-right: 10px;
    }
}

/* -----------
Bottom NavBar
------------- */
.notify_icon {
    position: fixed;
    background: var(--teal-1);
    right: 10px;
    height: 50px;
    width: 50px;
    top: 10px;
    padding: 12px;
    border-radius: 100%;
    color: #FFF;
    cursor: pointer;
    z-index: 5;
}

.notify_icon_settings {
    margin: auto;
    display: block;
    background: var(--teal-1);
    height: 50px;
    width: 50px;
    padding: 12px;
    border-radius: 100%;
    color: #FFF;
    cursor: pointer;
    z-index: 5;
}

.version_num {
    margin: auto;
    margin-top: 20px;
    display: block;
    background: var(--teal-1);
    height: 40px;
    width: 40px;
    padding: 7px;
    border-radius: 100%;
    color: #FFF;
    cursor: pointer;
    z-index: 5;
}

@media only screen and (min-width: 600px) {
    .notify_icon {
        display: none;
    }
}

nav.bottom-nav  {
    padding: 10px;
    z-index: 10;

    /* display: none; */
}

nav.bottom-nav ,
nav.bottom-nav .nav-links {
    text-align: center;
    position: fixed;
    height: 40px;
    width: 100%;
    background: var(--teal-1);
    left: 0;
    bottom: 0;
    color: rgba(255,255,255,.7);
    /* border-top-left-radius: 1000px 50px;
    border-top-right-radius: 1000px 50px; */
}

nav.bottom-nav .nav-links .nav-item {
    width: 15%;
    height: 100%;
    float: left;
    margin: auto 5%;
    cursor: pointer;
}

nav.bottom-nav .nav-links .nav-item i {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

nav.bottom-nav .nav-links .nav-item.active {
    background: var(--teal-1);
    color: #FFF;
    border-radius: 5px;
}

/* .nav-message.unread {
    position: relative;
}

.nav-message.unread::after {
    position: absolute;
    top: 7px;
    border-radius: 100%;
    right: 10px;
    content: '';
    height: 10px;
    width: 10px;
    background: rgb(255, 82, 82);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, .5);
} */

@media only screen and (min-width: 600px) {
    nav.bottom-nav {
        display: none;
    }
}

/* -----
Spinner
------ */
#spinner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFF;
    z-index: 100;
    display: block;
}
#spinner .spinner-center {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

/* ----------------------
Authorization Section
---------------------- */
#auth {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100%;
    height: 100vh;
    padding: 10px;
    margin: 0;
    color: #FFF;
    text-align: center;
    z-index: 100;
    background: rgb(39, 39, 39);
}

#auth img {
    height: 40px;
    margin: 10px auto 0;
}

#auth .authBtnGrp {
    border-top: 3px inset rgba(255,255,255,.3);
    padding: 0 20px;
    text-align: center;
    margin: 10px auto;
}

#auth .authBtnGrp button {
    background: transparent;
    height: 80px;
    width: 100px;
    margin: 10px;
    text-transform: uppercase;
    color: #5F6776;
    font-size: 1.2em;
    border-radius: 100px 100px 200px 200px;
    -moz-border-radius: 100px 100px 200px 200px;
    -webkit-border-radius: 100px 100px 200px 200px;
    border: 0px solid #000000;
    padding-bottom: 10px;
    cursor: pointer;
}

#auth .authBtnGrp button.active {
    background: rgba(255,255,255,.1);
    color: white;
}

#auth #signin,
#auth #signup {
    width: 96%;
    background: #FFF;
    color: black;
    padding: 20px 10px;
    margin: auto;
    border-radius: .5em;
    box-shadow: 0px 1px 2px 1px rgba(0, 0, 0, 0.3);
}

#auth #signin button[type="submit"],
#auth #signup button[type="submit"] {
    text-transform: uppercase;
    display: block;
    margin: 0px auto -55px;
    background: var(--green);
}

#auth .authSigninForm a {
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    font-size: .9em;
    color: var(--green);
    display: block;
    margin-top: -20px;
    margin-bottom: 40px;
    text-align: center;
}

.input-field label {
    color: rgba(0, 0, 0, .5);
}

.input-field input:focus + label {
    color: var(--green) !important;
}

.input-field input:focus {
    border-bottom: 1px solid var(--green) !important;
    box-shadow: none !important;
}

.input-field .prefix.active {
    color: var(--green);
}

span.not_now {
    font-family: 'Titillium Web', sans-serif;
    display: inline-block;
    margin-top: 40px;
    padding: 10px;
    border-radius: .5em;
    background: rgba(255,255,255,.1);
    cursor: pointer;
}

@media only screen and (min-width: 600px) {
    #auth #signin,
    #auth #signup,
    #auth .authBtnGrp {
        max-width: 360px;
    }
}

/* ----------------------
Home Section
---------------------- */
#home {
    padding-bottom: 0px;
}

#cat-slider {
    position: relative;
    background: #FFF;
    height: 100vh;
    width: 100%;
    padding: 100px 10px;
    text-align: center;
    background: url('../images/bg-home-2.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

@media only screen and (max-width: 599px) {
    #cat-slider {
        display: none;
    }
}

#cat-slider ul {
    margin-bottom: 10px;
}

.lSPrev,
.lSNext {
    background: black;
    border-radius: 50%;
    z-index: 5 !important;
}

#cat-slider li {
    position: relative;
    padding: 5px;
    cursor: pointer !important;
    background-color: #FFF;
    border: 2px solid rgba(0,0,0,0.12);
    height: 165px;
    /* max-height: 200px; */
    text-align: center;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

#cat-slider li:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.12), 0 2px 4px rgba(0,0,0,0.24);
}

.content-slider li img {
    max-height: 95px;
    max-width: 100%;
    border-radius: 5px;
}

@media only screen and (min-width: 600px) and (max-width: 992px) {
    #cat-slider li {
        height: 150px;
    }
    .content-slider li img {
        max-height: 100px;
    }
}

.slider-card-content {
    height: 40px;
    font-size: .8em;
}

.slider-card-content .card-title {
    position: absolute;
    left: 5px;
    bottom: 20px;
    font-weight: bold;
}

.slider-card-content .card-city {
    position: absolute;
    left: 5px;
    bottom: 3px;
}

.slider-card-content .card-price {
    position: absolute;
    right: 5px;
    bottom: 3px;
}

#cat-slider nav {
    width: 50%;
    margin: auto;
}

#postBox,
#searchBox {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    padding: 0 0 40px;
    background: #FFF;
    background: url('../images/bg-home-small.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.postBox .postAdBtn {
    font-family: 'Titillium Web', sans-serif;
}

#searchBox {
    background: url('../images/bg-home-small-2.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

#categories {
    width: 100%;
    height: 100vh;
    padding: 5px 5px 40px;
    background: #FFF;
    border-top: 3px outset rgba(0, 0, 0, .1);
}

.go-down {
    position: absolute;
    bottom: 50px;
    text-align: center;
    cursor: pointer;
    color: inherit;
}

.categories .all-cats {
    background: #FFF;
    padding: 5px;
    
}

.categories .cat {
    height: 105px;
    margin: 5px;
    display: inline-block;
    width: calc(50% - 10px);
    background: #FFF;
    border-radius: 2px;
    color: black;
    display: flex;
    float: left;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,0.16), 0 1px 3px rgba(0,0,0,0.23);
}

.categories .cat:first-child {
    margin-right: 0px;
}


@media only screen and (min-width: 600px) {
    #postBox {
        background: #FFF;
    }
    #categories {
        height: calc(100vh - 60px);
        padding-bottom: 0;
    }
}
@media only screen and (min-width: 600px) and (max-width: 992px) {
    #home {
        padding-bottom: 0;
    }
    #postBox {
        height: calc(100vh - 60px);
        padding-top: 60px;
    }
    #searchBox {
        display: none;
    }
    #categories {
        height: calc(100vh - 60px);
        padding-bottom: 0;
    }
}

@media only screen and (min-width: 768px) {
    .categories .cat {
        width: calc(25% - 20px);
        margin: 10px;
        float: left;
        height: 200px;
        transition: all .3s;
        transform: scale(.95);
    }
    .categories .cat:hover {
        transform: scale(1.05);
    }
}
@media only screen and (min-width: 993px) {
    #postBox {
        height: calc(100vh - 60px);
        padding-top: 60px;
    }
    #searchBox {
        display: none;
    }
    #categories {
        height: calc(100vh - 60px);
        padding: 0px 10px;
    }
}

/* #home .categories .cat {
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

#home .categories .cat:hover {
    box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
} */

.categories .cat img {
    display: block;
    margin: auto;
    margin-bottom: 5px;
    max-width: 128px;
    max-height: 64px;
}

#postAd,
#category,
#search_result {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: calc(100vh - 40px);
    padding: 20px 10px 70px;
    overflow: auto;
    background: #FFF;
    z-index: 8;
}

#postAd .close {
    position: absolute;
    right: 5px;
    top: 5px;
    background: var(--teal);
    color: white;
    height: 30px;
    width: 30px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

@media only screen and (min-width: 600px) {
    #postAd,
    #category,
    #search_result {
        top: 60px;
        height: 100%;
    }
    #postAd .close {
        top: 15px;
    }
    #postAd form {
        width: 480px;
        margin-left: calc(50% - 240px);
    }
}

#category,
#singleAd,
#search_result {
    padding-top: 50px;
    margin-bottom: 20px;
}

#category .close,
#singleAd .close,
#search_result .close {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    text-align: center;
    color: white;
    height: 40px;
    width: 100%;
    background: var(--teal);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    padding-left: 40px;
}

#category .close i.back,
#singleAd .close i.back,
#search_result .close i.back {
    background: var(--teal-1);
    position: absolute;
    left: 0;
    top: 0;
    height: 40px;
    width: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 36px;
    cursor: pointer;
}

#category .close i.favorite,
#singleAd .close i.favorite {
    background: var(--teal-1);
    position: absolute;
    right: 0;
    top: 0;
    height: 40px;
    width: 40px;
    padding: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 25px;
    cursor: pointer;
}

@media only screen and (min-width: 600px) {
    #category .close,
    #singleAd .close,
    #search_result .close {
        top: 62px;
    }
}

#category #cat__cards .cat-card,
#search_result #search__cards .cat-card,
#favorite #fav__cards .cat-card {
    position: relative;
    height: auto;
    width: 100%;
    margin-bottom: 10px;
    float: left;
    box-shadow: 0 1px 3px rgba(0,0,0,0.16), 0 1px 3px rgba(0,0,0,0.23);
    padding: 10px 5px;
    cursor: pointer;
    background: #FFF;
    z-index: 2;
}


#category #cat__cards .cat-card .card-data,
#search_result .card-data,
#favorite .card-data,
.card-data {
    display: none;
}

#category #cat__cards .cat-card .card-img,
#search_result .card-img,
#favorite .card-img {
    display: flex;
    justify-content: center;
    align-items: center;
    float: left;
    width: 100px;
    margin-right: 10px;
    border-right: 1px solid rgba(0, 0, 0, 0.1);
}

#category #cat__cards .cat-card .card-img img,
#search_result img,
#favorite img {
    width: auto;
    max-width: 100px;
    border-radius: 3px;
    max-height: 80px;
}

#category #cat__cards .cat-card .card-content,
#search_result .card-content,
#favorite .card-content  {
    font-family: 'Titillium Web', sans-serif;
}

.card .card-content {
    padding: 0 !important;
}

#category #cat__cards .cat-card .card-content .card-title,
#search_result .card-title,
#favorite .card-title {
    display: block;
    font-weight: bold;
    font-size: 1.3em;
}

#category #cat__cards .cat-card .card-content .card-desc-short,
#search_result .card-desc-short,
#favorite .card-desc-short {
    display: block;
}

#category #cat__cards .cat-card .card-content .card-price,
#search_result .card-price,
#favorite .card-price {
    position: absolute;
    right: 20px;
    bottom: 10px;
    text-decoration: underline;
}

/* ---------------
Single Ad Section
---------------- */

#singleAd {
    display: none;

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: calc(100vh - 40px);
    padding: 30px 10px 70px;
    overflow: auto;
    background: #FFF;
    z-index: 8;
}

#singleAd .card-price {
    position: absolute;
    left: 20px;
    top: 10px;
    font-size: 1.3em;
    text-decoration: underline;
    font-weight: bold;
}

#singleAd .chat-btn {
    position: fixed;
    right: 15px;
    bottom: 40px;
    cursor: pointer;
    color: var(--teal);
}
#singleAd .chat-btn i {
    font-size: 3em;
}

#singleAd .card {
    position: relative;
    margin-top: 20px;
    height: auto;
    width: 100%;
    height: 100%;
    margin-bottom: 10px;
    float: left;
    box-shadow: 0 1px 3px rgba(0,0,0,0.16), 0 1px 3px rgba(0,0,0,0.23);
    padding: 10px;
}

#singleAd .card .card-img {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #FFF;
    padding: 10px;
    width: 100%;
    margin-top: 35px;
    margin-right: 10px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.16), 0 1px 2px rgba(0,0,0,0.23);
}

#singleAd .card .card-img img {
    width: auto;
    border-radius: 3px;
    max-height: 250px;
    max-width: 100%;
}

#singleAd .card .card-content {
    font-family: 'Titillium Web', sans-serif;
    margin-top: 10px;
}

#singleAd .card-content .card-title {
    display: block;
    font-weight: bold;
    font-size: 1.3em;
    margin-bottom: 10px;
}

#singleAd .card-content .card-desc {
    display: block;
    font-size: 1.2em;
}

@media only screen and (min-width: 600px) {
    #singleAd {
        top: 60px;
        height: auto;
    }
    #singleAd .chat-btn {
        bottom: 15px;
    }
}

/* *********** 
FAVORITE PAGE
*********** */
#favorite {
    display: none;

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0px 0px 40px;
    overflow: auto;
    background: #FFF;
    z-index: 7;
}

@media only screen and (min-width: 600px) {
    #favorite {padding: 60px 0px 0px;}
}

/* ********** 
MESSAGE PAGE
********** */
#message {
    display: none;

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0px 0px 40px;
    overflow: auto;
    background: #FFF;
    z-index: 7;
}

@media only screen and (min-width: 600px) {
    #message {padding: 60px 0px 0px;}
}

#message ul li .cat-card {
    position: relative;
    height: auto;
    min-height: 60px;
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 10px;
    float: left;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.13);
    padding: 10px;
    cursor: pointer;
}

#message ul li .cat-card .card-content {
    font-family: 'Titillium Web', sans-serif;
}

#message ul li .cat-card .card-content .card-title {
    width: 100%;
    display: block;
    font-weight: bold;
    font-size: 1.3em;
}

#message ul li .cat-card .card-content .card-title i {
    position: absolute;
    right: 10px;
}

#message ul li .cat-card .card-data {
    display: none;
}

/* #message ul li.unread {
    position: relative;
}

#message ul li.unread::after {
    position: absolute;
    top: 7px;
    border-radius: 100%;
    right: 10px;
    content: '';
    height: 10px;
    width: 10px;
    background: rgb(255, 82, 82);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, .5);
} */

#chat {
    display: none;

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100vh - 40px);
    padding: 40px 0px;
    background: #FFF;
    z-index: 8;
}

#chat .close {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    text-align: center;
    color: white;
    height: 40px;
    width: 100%;
    background: var(--teal);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    padding-left: 40px;
}

#chat .close i.back {
    background: var(--teal-1);
    position: absolute;
    left: 0;
    top: 0;
    height: 40px;
    width: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 36px;
    cursor: pointer;
}

#chat .chat-messages {
    width: 100%;
    height: calc(100vh - 150px);
    overflow: auto;
    padding: 5px;
}

#chat .chat-messages .msg {
    width: 100%;
    min-height: 60px;
    text-align: left;
}

#chat .chat-messages .msg.my-message {
    float: right;
    text-align: right;
}

#chat .chat-messages .msg .msg-time {
    display: block;
    font-size: .75em;
    margin-bottom: -1px;
}

#chat .chat-messages .msg .msg-text {
    display: inline-block;
    width: auto;
    padding: 7px;
    font-size: 1.2em;
    border-radius: 5px;
    color: white;
    max-width: 60%;
    background: var(--teal);
    min-height: 40px;
    background: var(--teal-1);
}

#chat .chat-messages .msg.other-message .msg-text {
    background: var(--green);
}

#chat .chat-type {
    position: relative;
    height: auto;
    width: 100%;
}

#chat .msg-txtarea {
    width: 100%;
    padding-right: 70px;
}

#chat .chat-type .msg-sendBtn {
    position: fixed;
    bottom: 30px;
    right: 5px;
}

@media only screen and (min-width: 600px) {
    #chat {
        padding: 0px 0px 0px;
    }
    #chat .close {
        top: 60px;
    }
    #chat .chat-messages {
        padding-top: 105px;
        height: calc(100vh - 70px);
    }
    #chat .chat-type .msg-sendBtn {
        bottom: 5px;
        right: 5px;
    }
}

/* ********** 
SETTINGS PAGE
********** */
#settings {
    display: none;

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px 20px 40px;
    overflow: auto;
    background: #FFF;
    background: url('../images/bg-settings-small.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    z-index: 7;
}

#settings blockquote {
    margin-bottom: 50px;
}

#settings a {
    display: block;
    width: 50%;
    margin: 10px auto;
}

@media only screen and (min-width: 600px) {
    #settings {padding: 60px 0px 0px;}
}