@import url(https://fonts.googleapis.com/css2?family=Open+Sans:ital@0;1&display=swap);
@import url(https://use.fontawesome.com/releases/v5.14.0/css/all.css);
/* ========================= */
/* Home Page             */
/* ========================= */
home p {
    text-align: center;
    margin: .5rem 0;
}

home .steps {
    padding-top: 4rem;
    padding-bottom: 3rem;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

home .step {
    border-radius: 0.5rem;
    padding: .5rem;
    margin-bottom: 1rem;
    text-align: center;
    width: 25vw;
    min-width: 250px;
    position: relative;
}

home .step img {
    width: 100%;
    min-width: 300px;
    max-height: 240px;
    margin-bottom: 2rem;
}

home .circle {
    position: absolute;
    top: -2rem;
    left: -2rem;
    display: inline-block;
    width: 4rem;
    height: 4rem;
    font-size: 1.25rem;
    line-height: 4rem;
    text-align: center;
    border-radius: 50%;
    color: #fff;
    background: #2f2e41;
    box-shadow: 0px -9px 24px var(--selected-color);
}

home .start {
    animation: pulse 2s infinite;
}
privacy .pwrapper {
    width: 85vw;
    margin: auto;
}

privacy h2, privacy h3 {
    margin-top: 2rem;
}

terms .pwrapper {
    width: 85vw;
    margin: auto;
}

terms h2, terms h3 {
    margin-top: 2rem;
}
auth > div {
    display: flex;
    justify-content: space-around;
    align-items: center;
    min-height: 100%;
}

auth div.fluid {
    padding: 1rem;
    width: 450px;
    background: #fff;
    border-radius: .5rem;
    box-shadow: 0px 9px 24px var(--selected-color);
}

auth h3 {
    margin-bottom: 2rem;
}

auth button {
    margin-bottom: .5rem;
}

auth .login .fbloginbtn {
    background-color: #3B5998;
    color: white;
    text-align: left;
}

auth .login .gologinbtn {
    background-color: #dd4b39;
    color: white;
    text-align: left;
}

auth .login .twloginbtn {
    background-color: #55ACEE;
    color: white;
    text-align: left;
}

auth .wait .fa-spin {
    font-size: 2rem;
}

/* User name */
auth .username-row {
    display: flex;
}

auth .username-row > div:first-of-type {
    display: flex;
    align-items: center;
    padding: .5rem .7rem;
    padding-right: .2rem;
    border: 1px solid var(--background-color);
    background: var(--background-color);
    border-radius: .25rem 0 0 .25rem;
}

auth .username-row > div:nth-of-type(2) {
    flex-grow: 1;
}

auth .username-row  input {
    border-radius:  0 .25rem .25rem 0;
    padding-left: .2rem;
}

auth .username-info {
    visibility: hidden;
}

auth .username-info .available-msg {
    color: green;
    display: none;
}

auth .username-info.available {
    visibility: visible;
}

auth .username-info.available .available-msg {
    display: initial;
}

auth .username-info .taken-msg {
    display: none;
}

auth .username-info.taken {
    visibility: visible;
}

auth .username-info.taken .taken-msg {
    color: red;
    display: initial;
}

auth .info {
 font-size: .9rem;
}

auth .error {
    margin-top: .5rem;
    text-align: center;
    color: red;
    visibility: hidden;
}

auth .fa-eye {
    cursor: pointer;
}

auth .fa-eye:hover {
    color: var(--menu-color);
}


@media only screen and (max-width: 768px) {

    auth div.fluid {
        width: 90vw;
    }
    
}


items {
    --link-image-size: 125px;
    --link-background: #fff;
    --link-color: "default";
    --link-padding: .75rem;
    --link-border-radius: .5rem;
    --link-image-border-radius: .35rem;
    --link-tag-background: #111;
    --link-tag-color: #fff;
}

items h4 {
    margin: 0;
}

items .pwrapper {
    width: 85vw;
    margin: auto;
}

/* Edit buttons. */
items .edit-buttons {
    display: none;
    margin-bottom: .5rem;
    text-align: center;
}

items .edit-buttons button {
    padding: .4rem .5rem;
}

items .edit-buttons .preview-button {
    background: #A3CBB4;
}

items .edit-buttons .add-link-button {
    animation: pulse 2s infinite;
}

items .edit-buttons .clear-search-button {
    display: none;
}

items .edit-buttons.insearch .clear-search-button {
    display: initial;
}

items .edit-buttons.insearch button:not(.clear-search-button) {
    display: none;
}

/* Items Container. */
items .items-container {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 4rem;
    /*grid-template-columns: repeat(auto-fit, minmax(300px, 300px));
    justify-content: center;
    */
    height: fit-content;
    flex-grow: 1;

}

items .loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    height: 40vh;
    width: 100%;
    opacity: 0.5;
    font-size: 1.2rem;
}

/* Title items. */
items .title {
    width: 100%;
    margin: .75rem;
    background: var(--link-background);
    color: var(--link-color);
    border-radius: var(--link-border-radius);
    padding: var(--link-padding);
    display: flex;
    justify-content: space-between;
}

items .title .dropdown {
    display: none;
}

items .title .dropdown .dropdown-content  {
    left: -199px;
}

/* Link items. */
items .item {
    position: relative;
    margin: .75rem;
    background: var(--link-background);
    border-radius: var(--link-border-radius);
    padding: var(--link-padding);
    width: 30%;
    cursor: default;
}

items .item a {
    color: var(--link-color);
}

items .item .grip {
    position: absolute;
    left: 1rem;
    top: 1rem;
    display: none;
}

items .item .link  {
    display: flex;
    align-items: center;
    gap: .5rem;
    height: 100%;
}

items .item .dropdown {
    display: none;
}

items .item .name {
    display: flex;
    align-items: center;
}

items .item .name a {
    flex-grow: 1;
    min-width: 0;
}

items .item .name h4 {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

items .item img {
    border-radius: var(--link-image-border-radius);
    width: var(--link-image-size);
    max-height: var(--link-image-size);
    object-fit: contain;
}

items .item .text-wrapper {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    height: 100%;
    min-width: 0;
}

items .item .desc {
    margin: .5rem 0;
    flex-grow: 1;
    font-size: .95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

items .tags {
    overflow: hidden;
}

items .tag {
    background: var(--link-tag-background);
    color: var(--link-tag-color);
    border-radius: .25rem;
    display: inline-block;
    padding: 2px 5px;
    margin: 1px;
    margin-right: 5px;
    font-size: .9rem;
    white-space: nowrap;
}

items .item .dropdown .dropdown-content  {
    left: -198px;
}

items .item:first-of-type .dropdown .dropdown-content .moveup  {
    display: none;
}

items .item:last-of-type .dropdown .dropdown-content .movedown  {
    display: none;
}

.firebase-emulator-warning {
    display: none;
}

items .preview-container {
    display: none;
}

/* New item dialog. */
items .newitem .popup {
    width: 600px;
}

items .newitem .img-desc-tags {
    display: flex;
    justify-content: center;
}

items .newitem .images {
    position: relative;
    display: flex;
    margin-right: 0.7rem;
    margin-bottom: 0.7rem;
}

items .newitem .images .indicator {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    opacity: .8;
    flex-direction: column;
    display: none;
}

items .newitem .images .indicator .fa {
    font-size: 2rem;
}

items .newitem .images.scraping .indicator {
    display: flex;
}

items .newitem .images .dropdown {
    position: absolute;
    left: .3rem;
    top: .3rem;
    /*display: none;*/
}

items .newitem .images .dropdown-content {
    left: 0;
}

items .newitem .tags {
    border: 1px solid var(--background-color);
    background: #fff;
    border-radius: .25rem;
    padding: .3rem .7rem;
    min-height: 2.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

items .newitem .tags.focus {
    border-color: var(--selected-color);
    box-shadow: 0 0 10px var(--selected-color);
}

items .newitem .tags .tag {
    padding: 1px 5px;
}

items .newitem .tags input {
    border: none;
    padding: 0;
    outline: none;
    box-shadow: none;
    appearance: none;
    width: 7rem;
    /*display: none;*/
}

/* Pick image dialog. */
items .pickimage {
    background: rgba(0, 0, 0, 0.2);
}

items .pickimage .popup {
    width: 500px;
}

items .pickimage .popup .content {
    padding: 1rem;
    margin-bottom: 1rem;
    max-height: 50vh;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--link-image-size), var(--link-image-size)));
    grid-gap: .5rem;
    justify-content: center;
}

/* User detail & contacts */
items .userdetail  {
    display: none;
}

items .userdetail .avatar {
    margin: 0 auto;
    width: 4rem;
    height: 4rem;
}

items .userdetail .name {
    text-align: center;
    font-weight: bold;
}

items .userdetail .contact {
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: .6rem;
    font-size: 1.2rem;
    padding-bottom: 1rem;
}

items .user-contact {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    padding: .7rem;
    background: var(--background-color);
    box-shadow: 0px 20px 30px 7px var(--selected-color);
    display: none;
}

items .user-contact .fab {
    font-size: 1.35rem;
    cursor: pointer;
}

items .image {
    cursor: pointer;
    padding: .5rem;
    width: var(--link-image-size);
    height: var(--link-image-size);
    object-fit: contain;
    border-radius: .25rem;
    border: 1px solid var(--background-color);
}

items .image.selected {
    outline: none;
    border-color: var(--selected-color);
    box-shadow: 0 0 10px var(--selected-color);
}

items .image:hover {
    outline: none;
    border-color: var(--selected-color);
    box-shadow: 0 0 10px var(--selected-color);
}

items .image-info {
    position: absolute;
    background: #00000066;
    color: #fff;
    border-radius: .15rem;
    bottom: 5px;
    right: 5px;
    font-size: .8rem;
    padding: 2px 4px;
}


/* EDIT MODE: Enable buttons. */
items.edit .edit-buttons {
    display: block;
}

items.edit .item {
    cursor: move;
}

items.edit .item .link  {
    cursor: inherit;
}

items.edit .item .dropdown {
    display: initial;
}

items.edit .title .dropdown {
    display: initial;
}

items.edit .item:hover .grip {
    display: block;
}


/* Drag. */
items .chosen {
    opacity: 1 !important;
}

items .ghost {
    opacity: .5 !important;
}


@media only screen and (max-width: 768px) {
    items {
        --link-image-size: 60px;
    }

    items .pwrapper {
        width: initial;
    }

    items .items-container {
        justify-content: center;
    }

    items .preview-container {
        display: none !important;
    }

    items .title {
        margin: .5rem;
        padding: .75rem;
    }

    items .item {
        margin: .5rem;
        width: calc(100vw - 3rem);
    }

    items .item .desc {
        margin: .25rem 0;
        -webkit-line-clamp: 2;
    }

    items .pickimage .content {
        padding: 0;
    }

    items .newitem .img-desc-tags {
        flex-wrap: wrap;
    }

}


.items-preview-device {
    --device-padding: 1rem;
    --device-width: 293px;
    --device-height: 600px;
    --device-frame-width: 10px;
    padding: var(--device-padding);
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}
.items-preview-device figure {
    margin: 0;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-box-shadow: 0 2px 8px rgba(2, 8, 20, .1), 0 8px 16px rgba(2, 8, 20, .08);
    box-shadow: 0 2px 8px rgba(2, 8, 20, .1), 0 8px 16px rgba(2, 8, 20, .08);
    width: var(--device-width);
    height: var(--device-height);
    overflow: hidden;
    position: relative;
    z-index: 1;
    background-image: url(6e7299311f1ad1397d55.png);
    border-radius: 45px;
}

.items-preview-device figure:after {
    background-color: rgba(0, 0, 0, .5);
    border-radius: 2px;
    bottom: 15px;
    content: '';
    height: 3px;
    width: 35%;
    z-index: 1;
    display: block;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.items-preview-device figure iframe {
    position: absolute;
    top: calc(var(--device-frame-width) + 62px); 
    left: 0;
    margin: var(--device-frame-width);
    margin-top: 0;
    width: calc(100% - var(--device-frame-width) * 2);
    height: calc(100% - var(--device-frame-width) * 2 - 62px);
    border: none;
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(#fff, #000);
    z-index: 1;
    border-radius: 0 0 32px 32px;
    background-color: rgba(0, 0, 0, .02);
    -webkit-box-shadow: 10px 10px 20px rgba(0, 0, 0, .1);
    box-shadow: 10px 10px 20px rgba(0, 0, 0, .1);
}


.items-preview-device .items-preview-device__ios-notch {
    display: block;
    fill: #090a0d;
    top:  var(--device-frame-width);
    width: 140px;
    z-index: 2;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.items-preview-device .topbar {
    position: absolute;
    left:var(--device-frame-width);
    top: var(--device-frame-width);
    width: calc(100% - var(--device-frame-width) * 2);
    background: #666;
    color: #fff;
    border-radius: 32px 32px 0 0;
}

.items-preview-device .topbar .icons {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 calc(var(--device-frame-width) * 2);
    height: 30px;
    border-radius: 32px 32px 0 0;
}

.items-preview-device .topbar .icons-left {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: .7rem;
}

.items-preview-device .topbar .icons-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.items-preview-device .topbar .address {
    height: 32px;
    padding: 0 .35rem;
    padding-bottom: .35rem;
}

.items-preview-device .topbar input {
    font-size: .9rem;
    max-height: 100%;
    padding: .25rem .35rem;
    border-radius: 4px;
    background: #e7e7e7;
    color: #222;
}
profile .pwrapper {
    display: flex;
    padding: 2rem 4rem;
}

profile .left-container {
    width: 700px;
    margin: 0 auto;
}

profile .right-container {
    padding-left: 1rem;
}

profile .timeline-container {
    padding: 1rem;
    padding-left: 80px;
    overflow: auto;
    height: calc(100vh - var(--header-height) - 13rem);
}

profile .gd-link-container .gd-link {
    border-color: var(--primary-color);
    background: transparent;
    padding: .25rem .35rem;
    padding-right: 5rem;
}

profile .bio-input {
    padding-right: 4rem;
}

profile .social-input {
    padding-left: 2.25rem;
    padding-right: 4rem;
    border-radius: 1rem;
    pointer-events: none;
}

profile .input-addon-right:not(.fa-spin) {
    top: 0;
    height: 100%;
    min-width: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

profile .edit {
    display: none !important;
}

profile [editing="true"] .edit {
    display: none;
}

profile [editing="false"]:hover .edit {
    display: flex !important;
}

profile [loading="true"]:hover .edit {
    display: none !important;
}

profile [editing="false"] .ok,  profile [editing="false"] .nok {
    display: none;
}

profile [editing="true"] .ok,  profile [editing="true"] .nok {
    display: flex;
    cursor: pointer;
}

profile [editing="true"] .social-input {
    pointer-events: initial;
}

profile [editing="true"] .bio-input {
    padding-right: 4rem;
    pointer-events: initial;
}

profile [editing="true"] .nok {
    right: 2.25rem;
}

profile .p-relative {
    margin-bottom: .25rem;
}

profile .user-interests {
    min-height: 28px;
}

profile .interest {
    padding: .5rem;
    display: flex;
    align-items: center;
    width: 48%;
}

profile .interests .popup {
    width: 600px;
}

profile .interests .popup .content {
    max-height: 50vh;
    margin-bottom: 1rem;
}

profile .interests label {
    cursor: pointer;
}

@media only screen and (max-width: 768px) {
    profile .pwrapper {
        padding: 1rem;
        flex-wrap: wrap;
    }

    profile .left-container {
        width: initial;
        flex-grow: 1;
    }

    profile .right-container {
        margin-top: 2rem;
        padding-left: 0;
    }

    profile .timeline-container {
        height: initial;
    }

    profile .edit {
        display: flex !important;
    }

    profile [editing="true"] .edit {
        display: none !important;
    }
}
users .pwrapper {
    width: 85vw;
    margin: auto;
}

users .loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    height: 40vh;
    width: 100%;
    opacity: 0.5;
    font-size: 1.2rem;
}

users user .user {
    width: 45%;
}

@media only screen and (max-width: 768px) {

    users .pwrapper {
        width: initial;
    }

    users user .user {
        margin: .5rem;
        padding: .75rem;
        width: calc(100vw - 3rem);
    }
    
}
user h5 {
    margin-top: .2rem;
    margin-bottom: .3rem;
}

user .user .avatar {
    width: 5rem;
    height: 5rem;
    line-height: 5rem;
}

user .user {
    display: flex;
    gap: 1rem;
    position: relative;
    margin: .75rem;
    background: #fff;
    border-radius: .5rem;
    padding: 1rem;
    cursor: default;
}

user .user .bio {
    margin: .5rem 0;
    font-size: .95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

user .user .contact {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    font-size: 1.2rem;
}

@media only screen and (max-width: 768px) {

    users user .user .avatar {
        width: 3rem;
        height: 3rem;
        line-height: 3rem;
    }

}
:root {
    --header-height: 80px;
    --background-color: #e8eef7;
    --text-color: #444;
    --text-discrete-color: #777;
    --menu-color: #1479FF;
    --primary-color: #1479FF36;
    --selected-color: #147aff4d;
}

html {
    overflow-y: overlay;
}

* {
    box-sizing: border-box;
    font-family: 'Open Sans', sans-serif;
}

body {
    background: var(--background-color);
    color: var(--text-color);
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5 {
    margin: 0;
    margin-bottom: .5rem;
}

a {
    color: var(--text-color);
    text-decoration: none;
}

/* width */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--selected-color);
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #888;
}

/* ========================= */
/* Components                */
/* ========================= */

/* Buttons */
button {
    background: var(--primary-color);
    border-radius: .25rem;
    padding: .5rem .7rem;
    border: 0;
    cursor: pointer;
    font-size: 1rem;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
    transform: scale(1);
}

button.outline {
    background: transparent;
    border: 1px solid var(--primary-color);
    box-shadow: none;
}

[loading] .fa-circle-notch {
    display: none;
}

[loading="true"] .fa-circle-notch {
    display: inline-block;
}

/* Inputs */
input {
    font-size: 1rem;
    border: 1px solid var(--background-color);
    background: #fff;
    border-radius: .25rem;
    padding: .5rem .7rem;
}

input:focus {
    outline: none;
    border-color: var(--selected-color);
    box-shadow: 0 0 10px var(--selected-color);
}

input:-webkit-autofill {
    box-shadow: 0 0 0 50px #fff inset;
    /* Change the color to your own background color */
    -webkit-box-shadow: 0 0 0 50px #fff inset;
    /* Change the color to your own background color */
}

input:-webkit-autofill:focus {
    background: #fff;
}

input:-webkit-autofill:active {
    background: #fff;

}

textarea {
    font-size: 1rem;
    border: 1px solid var(--background-color);
    background: #fff;
    border-radius: .25rem;
    padding: .5rem .7rem;
    resize: none;
}

textarea:focus {
    outline: none;
    border-color: var(--selected-color);
    box-shadow: 0 0 10px var(--selected-color);
}

::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #b2bcca;
    opacity: 1;
    /* Firefox */
}

:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #b2bcca;
}

::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #b2bcca;
}

.input-addon-left {
    position: absolute;
    left: .75rem;
    top: .75rem;
}

.input-addon-right {
    position: absolute;
    right: .75rem;
    top: .75rem;
}

/* Checkbox */
.checkbox {
    display: block;
    position: relative;
    padding-left: 35px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    border: 1px solid var(--background-color);
    background: #fff;
    border-radius: .25rem;
}

.checkbox:hover input~.checkmark {
    outline: none;
    border-color: var(--selected-color);
    box-shadow: 0 0 10px var(--selected-color);
}

.checkbox input:checked~.checkmark {
    background-color: var(--primary-color);
}

.checkbox:after {
    content: "";
    position: absolute;
    display: none;
}

.checkbox .checkmark:after {
    border-radius: 2px;
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.checkbox input:checked~.checkmark:after {
    display: block;
}

/* Dropdown */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown .dropdown-trigger {
    cursor: pointer;
}

.dropdown .dropdown-trigger.fa {
    cursor: pointer;
    color: #147aff;
    padding: 5px;
    border-radius: .25rem;
}

.dropdown .dropdown-trigger.fa:hover {
    background: var(--background-color);
}

.dropdown .dropdown-content {
    display: none;
    position: absolute;
    left: -175px;
    background-color: #fff;
    min-width: 225px;
    box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.2);
    border-radius: .5rem;
    z-index: 1;
}

.dropdown .dropdown-content .dropdown-item {
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    cursor: pointer;
}

.dropdown .dropdown-content .dropdown-item:first-of-type {
    border-radius: .5rem .5rem 0 0;
}

.dropdown .dropdown-content .dropdown-item:last-of-type {
    border-radius: 0 0 .5rem .5rem;
}

.dropdown .dropdown-content .dropdown-item:hover {
    background-color: var(--background-color);
}

.dropdown.open .dropdown-content {
    display: block;
}

.dropdown.open .dropdown-trigger.fa {
    background: var(--background-color);
}

/* ========================= */
/* Utils                    */
/* ========================= */
.h-100 {
    height: 100%;
}

.w-100 {
    width: 100%;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.text-discrete {
    color: var(--text-discrete-color);
    font-size: .95rem;
}

.d-none {
    display: none;
}

.d-flex {
    display: flex;
}

.d-flex-wrap {
    display: flex;
    flex-wrap: wrap;
}

.d-flex-columns {
    display: flex;
    flex-direction: column;
}

.flex-jc-center {
    justify-content: center;
}

.flex-ai-center {
    align-items: center;
}

.flex-grow-1 {
    flex-grow: 1;
}

.flex-shrink-0 {
    flex-shrink: 0;
}

.p-relative {
    position: relative;
}

.fluid input {
    width: 100%;
}

.fluid textarea {
    width: 100%;
}

.fluid button {
    width: 100%;
}

.row {
    margin: 0.7rem 0;
}

/* ========================= */
/* Layout                    */
/* ========================= */
.wrapper {
    height: 100vh;
    display: flex;
}

.container {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.header {
    position: fixed;
    width: 100vw;
    background: var(--background-color);
    height: var(--header-height);
    z-index: 100;
    padding: 0 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0px 20px 30px -25px var(--selected-color);
}

.header .logo a {
    display: flex;
}

.header .logo img {
    height: 48px;
}

.main {
    margin-top: var(--header-height);
    padding: 1rem;
    flex-grow: 1;
}

.avatar {
    line-height: 3rem;
    height: 3rem;
    width: 3rem;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--menu-color);
    text-align: center;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.avatar-menu {
    visibility: hidden;
}

.avatar-menu .username {
    font-size: .9rem;
    padding: .5rem;
}

.main-menu {
    display: none;
}

@media only screen and (max-width: 768px) {
    :root {
        --header-height: 60px;
    }

    .header {
        padding: 0 1rem;
    }

    .header .logo img {
        height: 36px;
    }

    .avatar-menu .avatar {
        line-height: 2.5rem;
        height: 2.5rem;
        width: 2.5rem;
    }
}

/* ========================= */
/* Menu                     */
/* ========================= */
.menu-container {
    background: #fff;
    border-radius: 2rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.menu-item {
    background: var(--background-color);
    border-radius: 30%;
    line-height: 3rem;
    width: 3rem;
    margin: 1rem;
    text-align: center;
    border: 2px;
    color: #147aff;
    cursor: pointer;
}

.menu-item.selected {
    color: #fff;
    background-color: var(--menu-color);
    box-shadow: 0px 9px 24px var(--selected-color);
}

.main-search-wrapper {
    margin: auto;
}

.main-search-wrapper[search] .fa-times {
    cursor: pointer;
    display: none;
}

.main-search-wrapper[search="true"] .fa-times {
    display: initial;
}


.main-search-input {
    width: 50vw;
    padding-left: 2.25rem;
    border-radius: 1rem;
}

@media only screen and (max-width: 768px) {
    .main-search-wrapper {
        margin: 0 .5rem;
    }

    .main-search-input {
        width: 100%;
    }
}

/* ========================= */
/* Overlay Popup             */
/* ========================= */
.block {
    position: fixed;
    z-index: 200;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 1.25rem;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    display: none;
}

.overlay {
    position: fixed;
    z-index: 200;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    justify-content: center;
    align-items: center;
    display: none;
    /* set to flex when visible. */
}

.overlay .popup {
    margin: 150px auto;
    padding: 20px;
    background: #fff;
    border-radius: 5px;
    width: 30%;
    position: relative;
}

.overlay .popup h2 {
    margin-top: 0;
    color: #333;
    font-family: Tahoma, Arial, sans-serif;
}

.overlay .popup .close {
    position: absolute;
    top: 10px;
    right: 20px;
    transition: all 200ms;
    font-size: 30px;
    font-weight: bold;
    text-decoration: none;
    color: #333;
    z-index: 200;
}

.overlay .popup .close:hover {
    color: #147aff;
}

.overlay .popup .content {
    max-height: 30%;
    overflow: auto;
}

.overlay .popup .message {
    width: initial;
    margin-bottom: 1rem;
}

.overlay .popup .footer {
    text-align: right;
}

@media only screen and (max-width: 768px) {
    .overlay .popup {
        margin-top: 75px;
        width: 90% !important;
    }
}

/* ========================= */
/* Toast                     */
/* ========================= */
.toast {
    visibility: hidden;
    min-width: 250px;
    margin-left: -125px;
    background-color: #222;
    color: #fff;
    text-align: center;
    border-radius: 2px;
    padding: .6rem;
    position: fixed;
    z-index: 1;
    left: 50%;
    bottom: 30px;
    border-radius: .25rem;
}

.toast.show {
    visibility: visible;
    -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
    animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

/* Animations to fade the snackbar in and out */
@-webkit-keyframes fadein {
    from {
        bottom: 0;
        opacity: 0;
    }

    to {
        bottom: 30px;
        opacity: 1;
    }
}

@keyframes fadein {
    from {
        bottom: 0;
        opacity: 0;
    }

    to {
        bottom: 30px;
        opacity: 1;
    }
}

@-webkit-keyframes fadeout {
    from {
        bottom: 30px;
        opacity: 1;
    }

    to {
        bottom: 0;
        opacity: 0;
    }
}

@keyframes fadeout {
    from {
        bottom: 30px;
        opacity: 1;
    }

    to {
        bottom: 0;
        opacity: 0;
    }
}

/* ========================= */
/* Common                     */
/* ========================= */
@keyframes pulse {
    0% {
        /*transform: scale(0.95);*/
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    }

    70% {
        /*transform: scale(1);*/
        box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    }

    100% {
        /*transform: scale(0.95);*/
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}

.user-interest-tag {
    background: lightblue;
    border-radius: .25rem;
    display: inline-block;
    padding: 2px 5px;
    margin-right: 5px;
    margin-bottom: 5px;
    font-size: .9rem;
}

.profile-photo {
    position: relative;
    height: 130px;
    width: 130px;
}

.profile-photo .img-container {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.profile-photo input {
    display: none;
}

.profile-photo label {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    text-align: center;
    color: #fff;
    padding: .6rem;
    background-color: #000000aa;
    cursor: pointer;
}

.profile-photo-zoom {
    padding: 0;
    margin: 0;
}

/*# sourceMappingURL=bundle.css.map*/