html {
    background-color: white;
}

body, html {
   /*height: 100%;*/
    /*min-height: 100vh;*/    
}

body {
    font-family: Arial;
    margin: 0px;
    color: #484848;
    display: flex;
    flex-direction: column;
    min-height: 100vh;    
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
}

a {
    color: #6e6e6e;
    text-decoration: none;
}

.main {
    /*min-height: calc(100vh - 80px - 70px - 26px);*/
    height: max-content;
}

.main-navigator {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: white;
    color: #484848;
    /*height: 70px;*/
}
.main-navigator > div {
    display: flex;
    align-items: center;
}

.main-logo {
    width: 40px; 
    margin-left: 2em;
    margin-right: 1em;
    margin-top: 10px; 
    margin-bottom: 10px; 
    transition: 100ms;
}

.main-logo:hover {
    opacity: 80%;
}

.main-logo:active,
.main-logo:focus {
    filter: grayscale(1);
}

.logo {
    transition: 100ms;
}

.logo:hover {
    opacity: 80%;
}

.logo:active,
.logo:focus {
    filter: grayscale(1);
}

.main-title {
    color: #545454;
    /*font-family: fantasy;*/
    /*font-family: none;*/
    /*font-family: "Noto Serif";*/
    font-family: "Noto Serif", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    
    font-weight: unset;
    transition: 100ms;
}

.main-title:hover {
    opacity: 80%;
}

.open-quick-search {
    margin-left: 1em;
    margin-right: 2em;
    margin-top: 10px; 
    margin-bottom: 10px; 
    cursor: pointer;
}

.top-navigator {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    background: #f3f3f3;
    /*height: 26px;*/
}

.top-navigator > a {
    font-size: 12px;
    color: #6e6e6e;
    text-decoration: none;
    margin-right: 5px;
}

.main_lang_select {
    border: none;
    background: unset;
    height: 30px;
    margin-right: 5px;
}
.main_lang_select:focus {
    outline-style: none !important;
}
/*.main_lang_select > option {
    background: #f8f8f8;
}
.main_lang_select > option:focus {
    background: gray;
}
.main_lang_select > option:focus-invisible {
    outline: -webkit-focus-ring-color auto 1px;
    outline: gray auto 1px;
    outline: none;
}*/

/* The container must be positioned relative: */
.sma-dropdown {
  position: relative;
  font-family: Arial;
}

.sma-dropdown select {
  display: none; /*hide original SELECT element: */
}

.select-selected {
  /*background-color: DodgerBlue;*/
  background-color: #f3f3f3;
}

/* Style the arrow inside the select element: */
.select-selected:after {
  position: absolute;
  content: "";
  top: 12px;
  right: 10px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-color: #6e6e6e transparent transparent transparent;
}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
  /*border-color: transparent transparent #fff transparent;*/
  border-color: transparent transparent #6e6e6e transparent;
  top: 7px;
}

/* style the items (options), including the selected item: */
.select-items div,.select-selected {
  /*color: #ffffff;*/
  color: #6e6e6e;
  padding: 5px 10px;
  border: 1px solid transparent;
  /*border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;*/
  cursor: pointer;
  font-size: 12px;
}

/* Style items (options): */
.select-items {
  position: absolute;
  /*background-color: DodgerBlue;*/
  background-color: #f3f3f3;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
}
.select-items > div {
  font-size: 10px;
}

/* Hide the items when the select box is closed: */
.select-hide {
  display: none;
}

.select-items div:hover, .same-as-selected {
  background-color: rgba(0, 0, 0, 0.1);
}

.divider {
    margin-top: 1em;
    margin-bottom: 1em;
    height: 1px; 
    width: 100%; 
    background: #e6e6e6;
}

.smaller-divider {
    margin-top: 8px;
    margin-bottom: 8px;
    height: 1px; 
    width: 100%; 
    background: #e6e6e6;
}

.footer {
    display: flex;
    /*flex-direction: column;*/
    justify-content: space-between;
    background: #f2f2f2;
    width: -webkit-fill-available;
    padding: 1em 2em;
    margin-top: auto;
    font-size: 12px;
    /*height: 80px;*/
}

.footer > a {
    color: #a8a8a8;
}








/* Main container */

.main {
  /*margin-left: 20px;*/
}


/* Navigation (not used) */

/*ul.nav {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: rgb(48, 146, 149);
}

.nav li {
  float: left;
}

.nav li.username {
  float: right;
}

.nav li a {
  display: block;
  color: white;
  text-align: center;
  padding: 16px 18px;
  text-decoration: none;
}

.nav li p {
  display: block;
  color: white;
  text-align: center;
  padding: 0px 30px;
}

.nav li a:hover:not(.active) {
    background-color: rgb(48 136 139);
    color: white;
}

.active {
  background-color: #fa6908;
}*/


/* Forms */

label {
  font-size: 25px;
  padding: 12px 12px 12px 0;
  display: inline-block;
}

input,
textarea {
    color: #484848;    
    transition: 300ms;
}

input:focus-visible,
textarea:focus-visible {
    outline: none;
    box-shadow: #2397ff 0px 0px 5px 1px;
}

input[type=text],
input[type=password],
input[type=tel],
input[type=email],
input[type=url],
input[type=number],
select,
textarea {
/*input {*/
  /*width: -webkit-fill-available;*/
  padding: 8px 8px;
  margin: 8px 5px;
  box-sizing: border-box;
  border-radius: 4px;
  border: 1px solid #ccc;
}

input[type=file] {
    display: none;
}

.custom-file-button {
    display: flex;
    align-items: center;
}

.custom-file-button > button {
    font-size: 13px;
    padding: 6px 12px;
}

.custom-file-button > span {
    margin-left: 5px;
    font-size: 12px;
    color: #878787;
}


/*
.custom-file-input {
    background-color: #007ae8;
    color: white;
    padding: 8px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin: 0px;
    transition: 100ms;
}

.custom-file-input:hover {
  background-color: #1e85e3;
}

.custom-file-input:active {
  background-color: #74bdff;
}*/

/*input[type=file]::file-selector-button,
input[type=file]::-ms-browse {
    background-color: #007ae8;
    color: white;
    padding: 8px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin: 0px;
    transition: 100ms;
}

input[type=file]::file-selector-button:hover {
  background-color: #1e85e3;
}

input[type=file]::file-selector-button:active {
  background-color: #74bdff;
}*/

/*input[type=file] {
    opacity: 0;
}*/

/*textarea {
  width: 100%;
  height: 150px;
  padding: 12px 20px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
  resize: none;
}*/

.btn {
  background-color: #007ae8;
  color: white;
  padding: 8px 15px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin: 0px;
  transition: 100ms;
}
.btn:hover {
  background-color: #1e85e3;
}
.btn:active {
  background-color: #74bdff;
}

.delete {
  background-color: #fa0808;
}

.white-btn {
    background: white;
    color: #787878;
    border: 1px solid #d4d4d4;
}
.white-btn:hover {
    background: white;
    color: #acacac;
    border-color: #efefef;
}
.white-btn:active {
    background: white;
    color: #e6e6e6;
    border-color: #ececec;
}

.btn-small { 
    font-size: 11px;
    padding: 2px 8px;
}

.btn-green {
    background: #69d269;
}
.btn-green:hover {
    background-color: #65d965;
}
.btn-green:active {
    background-color: #aae9aa;
}

.btn-red {
    background: #f64b4b;
}
.btn-red:hover {
    background-color: #ff3636;
}
.btn-red:active {
    background-color: #eb6a6a;
}


/* Flash messages */
.flash-success {
  padding: 20px;
  background-color: #33a43a;
  color: white;
  margin: 20px 0px;
  /*border-radius: 4px;*/
}

.flash-error {
  padding: 20px;
  background-color: rgb(235, 47, 47);
  color: white;
  margin: 20px 0px;
  border-radius: 4px;
}

.flash-error > p {
        margin: 0;
}


/* Error messages */

.error {
  color: red;
  font-size: 12px;
}

.error-border {
  border: 2px solid red !important;
}

.alert {
    padding: 10px 2em;
    border-radius: 10px;
    background: #3795ea;
    color: white;
    margin-bottom: 1em;
    display: none;
}

.alert > p{
    margin: 0;
}

.alert-error {
    background: #f64b4b;
}

.alert-success {
    background: #69d269;
}


/* for ui-autocomplete */
.ui-autocomplete {
    /*display: block !important;  comment here */
    position: absolute;
    background: white;
    max-height: 500px;
    height: max-content;
    overflow: auto;
    overflow-x: hidden;
    z-index: 6;
    border: solid 1px #e0e0e0;
    border-radius: 4px;
    /*transform: translate(0px, -20px);*/
    width: -webkit-fill-available;
    max-width: 500px;
    margin-left: 5px;
    margin-right: 15px;
    padding: 0;
    list-style-type: none;
    /*transition: 100ms;*/
}

.ui-autocomplete > li {
    padding: 5px 10px;
    font-size: 12px;
    /*transition: 100ms;*/
}

.ui-helper-hidden-accessible {
    display: none;
}

.auto-complete-selectable-item{
    padding-left: 20px !important;
}

.auto-complete-selectable-item:hover {
    background-color: #007ae8;
    cursor: pointer;
}

.auto-complete-selectable-item:hover,
.auto-complete-selectable-item:hover > a,
.auto-complete-selectable-item:hover > span,
.auto-complete-selectable-item:hover > div{
    color: white;
}

.auto-complete-item-type {
    font-weight: bold;
    padding-bottom: 0px !important;
}

.show-more-link {
    cursor: pointer;
    color: #15abfa;
    font-weight: bold;
    transition: 100ms;
}

.show-more-link:hover {
    color: #077fff;
}

.more-than-five {
    padding-left: 20px !important;
    padding-top: 0px !important;
    font-weight: bold;
}



/* SUB SEARCH */
.quick_search_area {
    position: fixed;
    height: 100%;
    width: 100%;
    /*background-color: #00000052;*/
    z-index: 5; 
}

.background-quick-search-area {
    position: fixed;
    height: 100%;
    width: 100%;
    background-color: #00000052;
    z-index: 6; 
}

.close-quick-search {
    position: fixed;
    height: 200px;
    padding-top: 12px;
    padding-left: 10px;
    padding-right: 30px;
    right: 0;
    color: white;
}

.close-quick-search > i {
    cursor: pointer;
}

.search-area-sub {
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*background: #3c3c3c;*/
    /*background-image: linear-gradient(180deg, black, #3c3c3c);*/
    background-image: linear-gradient(180deg, #363636, #858585);
    /*background-image: linear-gradient(180deg, black, #223b3d);*/
    color: white;
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 10px;
    padding-right: 10px;
    height: 200px;
    top: 0;
    bottom: 0;
    left: 10px;
    right: 10px;
    margin: auto;
    position: fixed;
    border-radius: 20px;
    z-index: 7; 
}

.search-area-sub > div > h2 {
    width: max-content;
    margin-left: auto;
    margin-right: auto;
    width: -webkit-fill-available;
    text-align: center;
}

.search-fields-sub {
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-input-sub {
    /*width: 300px;*/
    width: -webkit-fill-available;
    max-width: 500px;
    padding-left: 30px !important;
}

.main-search-input-div {
    width: -webkit-fill-available;
    max-width: 500px;    
}

.search-icon-main {
    position: absolute;
    color: #4d4d4d;
    transform: translate(15px, 20px);
}

.location-area {
    padding: 1em 2em;
    font-size: 11px;
    color: #a6a6a6;
}

.location-question {
    cursor: pointer;
    color: #6cadff;
}

.location-error {
    color: red;
}

.request-location {
    font-size: 14px;
}

.location-area-text {
    display: flex;
}

.delete-geolocation {
    cursor: pointer;
    color: red;
    margin-left: auto;
    display: block;
    width: max-content;
}


.item-loading {
    height: 100%;
    position: relative; 
    /*background-color: #e2e2e2;*/
    background-color: #f1f1f1; 
}

.item-loading::after { 
    display: block; 
    content: ""; 
    position: absolute; 
    width: 100%; 
    height: 100%; 
    transform: translateX(-100%); 
    background: -webkit-gradient(linear, left top, 
                right top, from(transparent),  
                color-stop(rgba(200, 200, 200, 0.2)), 
                to(transparent)); 
    background: linear-gradient(90deg, transparent, 
            rgba(200, 200, 200, 0.2), transparent); 
    animation: item-loading 1.5s infinite; 
} 

.logged-in {
    display: flex;
    align-items: flex-end;
}

.logged-in > span {
    color: #aaaaaa;
    font-size: 14px;
}

.logged-in > a {
    color: #f3103d;
    font-size: 24px;
    margin-left: 1em;
    margin-right: 1.5em;
}

.login-btn {
    margin-right: 1.5em;
}

.vertical-spacer {
    width: 100%;
    height: 1em;
    display: block;
}

.required {
    color: red;
}

@keyframes item-loading { 
    100% { 
        transform: translateX(100%); 
    } 
} 

.recommended_size {
    font-size: 11px; 
    color: gray; 
    margin: 0;
}

.card_file_preview > div > img {
    /*height: 100px;*/
    object-fit: cover;
    width: 250px;
    height: 157px;
    border-radius: 18px;
}

@media screen and (max-width: 450px) {
    .top-navigator > a {
        font-size: 11px;
    }
    
    .select-selected {
        font-size: 11px;
    }
    
    .main-logo {
        margin-left: 1em;
        margin-right: 10px;
        width: 30px;
    }
    .main-title {
        font-size: 16px;
        padding-right: 10px;
    }
    
    .open-quick-search {
        margin-right: 1em;
    }
    
    .footer {
        font-size: 11px;
    }
    
    .typeahead.dropdown-menu {
        /*width: 250px !important;*/
        width: -webkit-fill-available;
        max-width: none;
        font-size: 12px;
    }
    
    .search-area-sub {
        height: 200px;
        left: 5px;
        right: 5px;
    }
    
    .search-area-sub > div > h2 {  
        font-size: 16px;
    }
    
    .search-input-sub {
        /*width: 250px !important;*/
        width: -webkit-fill-available;
        max-width: none;
        font-size: 12px;
    }
    
    #search-btn-sub {
        font-size: 12px;
    }
    
    .search-fields-sub {
        flex-direction: column;
    }
    
    .close-quick-search {
        padding-right: 20px;
    }
    
    .main-search-input-div {
        /*width: 250px !important;*/
        width: -webkit-fill-available;
        max-width: none;
        font-size: 12px;
    }
    
    .location-area {
        padding-bottom: 0px;
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .delete-geolocation {
        text-align: right;
    }
    
    .logged-in > a {
        margin-left: 10px;
        margin-right: 10px;
    }
    
    .logged-in > span {
        font-size: 12px;
    }
    
    .alert {
        font-size: 12px;
    }
    
    .accordion {
        font-size: 12px;
        padding-top: 7px;
        padding-bottom: 7px;
    }
    
    .request-location {
        font-size: 12px;
    }
    
    .location-area-text > span {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    
    
    .flash-success {
        padding: 15px;
        margin: 10px 0px;
        font-size: 12px;
    }

    .flash-error {
        padding: 15px;
        margin: 10px 0px;
        font-size: 12px;
    }
    
    .recommended_size {
        font-size: 10px;
    }
    
    
    .card_file_preview > div > img {
        /*height: 70px;*/
        height: 157px;
    }
} 