@charset "utf-8";

@font-face {
    font-family: "Montserrat";
    src: url("/fonts/Montserrat-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Montserrat";
    src: url("/fonts/Montserrat-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

/* FONTS SIZES */
:root {  --fnt-title: clamp(9pt,2vw,48pt); --fnt-navlink: clamp(8pt,2vw,24pt); --fnt-txt: clamp(5pt,1.3vw,20pt); --fnt-box: 10pt; --place-card-width: 31%}

/* FOR DESIGNING */
:root {
    --clr-bg1: rgba(255, 228, 92,0.9);
    --clr-bg2: rgba(255, 187, 0,0.5);
    --clr-light: #fffede;
    --clr-txt: #854700;
    --clr-link: #007281;
    --clr-link-hover: #c24e00;
    --clr-line: #796700;
    --clr-hlt: #19554c;
}

html {
    --transition-speed: 0.5s;
}

*, *::before, *::after {
    transition: color var(--transition-speed), background-color var(--transition-speed);
}

a:link,a:visited {
    color: var(--clr-link);
}
a:hover,a:active {
    color: var(--clr-link-hover);
}

body {
    background-color: var(--clr-bg1);
    margin: 0px;
    padding: 0px;
    overflow-x: hidden;
    font-family: 'Roboto';
    font-size: 10pt;
    color: var(--clr-txt);
}
.body-container {
    position:absolute;
    left:0px;
    top:0px;
    width:100%;
    height:100%;
    display:flex;
    flex-direction: column;
    justify-content: flex-start;
}

.highlight {
    color: var(--clr-hlt);
}

/* Head */
.head-container {
    display: flex;
    justify-content: space-between;
}

.logo-container {
    width: min(192px,20%);
}
.logo-container img{
    width: min(100%, 192px);
    min-width: 48px;
    border-radius: 100%;
    border-width:0px 1px 1px 0px;
    border-style: solid;
    border-color: var(--clr-line);
}

.title-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 2%;
    padding-right: 2%;
    
}
.title-container div{
    font-size: var(--fnt-title);
    text-transform: uppercase;
    border-width: 0px 1px 0px 1px;
    border-radius: 10px;
    border-style: solid;
    border-color: var(--clr-line);
    background-color: var(--clr-bg2);
    padding: 10px;
}
.void-container {
    flex-grow: 1;
}
.navlinks-container {
    display:flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding-left: 4%;
    padding-right: 4%;    
}
.navlinks-container div {
    font-size: var(--fnt-navlink);
    padding: 2%;
    margin: 2%;
}

.userminipanel-container {
    width: min(192px,20%);
}

.userminipanel-container img {
    width: min(100%, 192px);
    min-width: 48px;
    border-radius: 100%;
    border-width:0px 0px 1px 1px;
    border-style: solid;
    border-color: var(--clr-line);    
}

.separator-container {
    width: 100%;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 20px;
}
.separator-container div {
    width:90%;
    height: 2px;
    border-radius: 5px;
    background-color: var(--clr-txt);
    border-color: var(--clr-bg2);
    border-style: solid;
    border-width: 1px;
}
/* Main */
.main-container {
    width: 100%;
    flex-grow: 1;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    align-content: flex-start;
}

/* Community */
.community-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    align-content: flex-start;
    column-gap: 10px;
    row-gap: 10px;
}
.community-items {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    align-content: center;
    column-gap: 10px;
    row-gap: 10px;
    width: 100%;
    font-size: var(--fnt-txt);
}
.community-pagenumbers {
    display: flex;
    width: 100%;
    justify-content: center;
    margin-top: 1%;
    margin-bottom: 1%;
}
.community-pagenumbers div {
    margin: 1%;
    font-size: var(--fnt-txt);    
}
.community-pagenumbers a {
    padding: 10px;
    background-color: var(--clr-bg2);
    border-radius: 10px;
    border-style: solid;
    border-width: 1px;
    border-color: var(--clr-line);
}
.community-pagenumbers a:hover {
    background-color: var(--clr-bg1);
}

.community-user-thumbnail {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 1%;
    margin-bottom: 1%;
    width: 28%;
    max-width: 360px;
    background-color: var(--clr-bg1);
    cursor: pointer;
    border-radius: 15px;
    transition: all 0.5s;
    border-color: var(--clr-line);
    border-width: 1px;
    border-style: solid;
}
.community-user-thumbnail:hover {
    background-color: var(--clr-bg2);
}

.community-user-thumbnail img {
    width: 90%;
    border-radius: 100%;
    border-color: var(--clr-bg2);
    border-style: solid;
    border-width: 1px;
}
.community-user-thumbnail-points {
    text-align: center;
    margin-top: 5%;
    margin-bottom: 5%;
}
.community-user-thumbnail-name {
    text-align: center;
    margin-top: 5%;
    margin-bottom: 5%;
}
.community-user-thumbnail-link {
    text-align: center;
    color: var(--clr-link);
    margin-bottom: 10%;
}

/* User Preview Container */
.user-preview-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    
}

.user-data-box {
    min-width: 300px;
    width:300px;
    margin: 5px;
    font-size: var(--fnt-box);
    border-width: 0px 1px 0px 1px;
    border-radius: 10px;
    border-style: solid;
    border-color: var(--clr-line);
    background-color: var(--clr-bg2);
    padding: 20px;
}

.user-data-box-title {
    font-size: calc(var(--fnt-box) + 5pt);
    font-weight: bold;
    text-transform: uppercase;
    border-style: solid;
    border-width: 0px 0px 0px 1px;
    border-color: var(--clr-line);
    padding-left: 5px;
}

.user-data-box-subtitle {
    font-size: calc(var(--fnt-box) + 3pt);
    border-style: solid;
    border-width: 0px 0px 0px 1px;
    border-color: var(--clr-line);
    padding-left: 5px;
    padding-bottom: 5px;
    display:flex;
}

.box-userInfo {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px
}
.user-fullname {
    font-size: calc(var(--fnt-box) + 10pt);
    text-align: center;
}
.user-pic {
    width:100%;
    border-radius: 100%;
}
.box-stats {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.badges-container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 2px;
}
.badge-item {
    border-style: solid;
    border-color: var(--clr-line);
    border-width: 0px 0px 1px 0px;
    padding: 2px 0px 2px 0px;
    width:100%;
    display: flex;
}
.badge-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 5px;
}
.badge-description {
    font-size: var(--fnt-box);
}
.review-item {
    border-style: solid;
    border-color: var(--clr-line);
    border-width: 0px 0px 1px 0px;
    padding: 2px 0px 2px 0px;
    width:100%;
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    row-gap: 5px;
}

.spacer {
    height:10px;
}

.quote {
    padding: 15px;
    color: var(--clr-hlt);
    font-style: italic;
    font-size: var(--fnt-box);
    background-color: var(--clr-bg1);
    border-radius: 20px 0px 20px 0px;
    border-color: var(--clr-line);
    border-width: 1px;
    border-style: solid;    
} 
.review-item .review-submitted {
    font-size: var(--fnt-box);
}
.no-reviews {
    width:100%;
    margin: 30px 0px 30px 0px;
    border-radius: 30%;
    border: 1px solid var(--clr-line)
}
.place-item {
    border-style: solid;
    border-color: var(--clr-line);
    border-width: 0px 0px 1px 0px;
    padding: 2px 0px 2px 0px;
    width:100%;
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    row-gap: 5px;
}
.place-item .place-submitted {
    font-size: var(--fnt-box);
}
.place-type {
    font-weight: bold;
    margin-top:5px;
    margin-bottom:5px
}
.place-type-img {
    width: 32px;
    padding: 0px 5px 0px 0px;
}

.no-photos {
    width:100%;
    margin: 30px 0px 30px 0px;
    border-radius: 30%;
    border: 1px solid var(--clr-line)
}

.photo-item {
    border-style: solid;
    border-color: var(--clr-line);
    border-width: 0px 0px 1px 0px;
    padding: 2px 0px 2px 0px;
    width:100%;
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    row-gap: 5px;
}
.photo-container {
    width:100%
}
.photo-container img {
    width:100%;
    border-radius: 30px;
}



/* Place */
.place-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
}
.place-data-box {
    min-width: 300px;
    width:300px;
    margin: 5px;
    font-size: var(--fnt-box);
    border-width: 0px 1px 0px 1px;
    border-radius: 10px;
    border-style: solid;
    border-color: var(--clr-line);
    background-color: var(--clr-bg2);
    padding: 20px;
}

.place-data-box-title {
    font-size: calc(var(--fnt-box) + 5pt);
    font-weight: bold;
    text-transform: uppercase;
    border-style: solid;
    border-width: 0px 0px 0px 1px;
    border-color: var(--clr-line);
    padding-left: 5px;
    margin-bottom: 5PX;
}

.place-data-box-subtitle {
    font-size: calc(var(--fnt-box) + 3pt);
    border-style: solid;
    border-width: 0px 0px 0px 1px;
    border-color: var(--clr-line);
    padding-left: 5px;
    padding-bottom: 5px;
}

.place-creator-container {
    margin-top: 10px;
    display: flex;
    justify-content: flex-start;
}

.place-creator-container > div {
    margin:5px;
    display: flex;
    align-items: center;
}

.place-creator-photo {
    width: 95px;
    border-radius: 50%;
}

.place-type-container {
    font-weight: bold;
    margin-top:5px;
    margin-bottom:5px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.place-description {
    margin-top: 5px;
    margin-bottom: 5px;
}

.photo-item-uploader {
    display: flex;
    align-items: center;
}

.photo-item-uploader img {
    width:64px;
    border-radius: 50%;
    margin: 5px;
}

.place-map-container {
    width: 100%;
    height: 200px;
}
.place-map-container .mapbox {
    border-radius: 30px;
    margin: 20px 0px 20px 0px;
}
.service-container {
    display:flex;
    flex-wrap:wrap;
    column-gap:14px;
    row-gap:10px;
    margin:10px 0px 10px 0px
}
.service-container img {
    width: 64px;
}
.create-update {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center
}
.progress-box {
    border:1px solid var(--clr-line);
    width:100px;
    border-radius:5px;
    display:flex
}
.progress-bar {
    border:none;
    background-color: var(--clr-hlt);
}
.social-container {
    display: flex;
    gap: 5px;
    align-items: center;
    margin: 5px  0px 5px 0px;
}
.bus-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.bus-tag {
    border-radius: 10px;
    border: 1px solid var(--clr-line);
    padding: 5px;
    background-color: var(--clr-bg1);
}

/* Businesses */
.bus-container {
    display: flex;
    gap: 10px;
    padding: 10px;
    margin: 10px;
    border-width: 1px 0px 1px 0px;
    border-radius: 10px;
    border-style: solid;
    border-color: var(--clr-line);
    background-color: var(--clr-bg1);    
    flex-wrap: wrap;
    justify-content: center;
    cursor: pointer;
}
.bus-container:hover {
    background-color: var(--clr-bg2);    
}
.bus-lst {
    display: flex;
    align-items: center;
}
.bus-icon {
    width:32px;
    height:32px;
}
.bus-title {
    width:250px;
}
.bus-creator-img {
    width:32px;
    height:32px;
    border-radius:100%;
    border:1px solid var(--clr-line);
    margin-left:5px;
}
.bus-street {
    display: flex;
    align-items: center;
    width:550px;
}
@media screen and (max-width: 1350px) {
.bus-street {
    display: none;
}
}
@media screen and (max-width: 800px) {
.bus-updated {
    display: none;
}
}
@media screen and (max-width: 600px) {
.bus-claimed {
    display: none;
}
}
@media screen and (max-width: 475px) {
.bus-created {
    display: none;
}
}


.button-container {
    width: 100%;
    margin: 20px 0px 20px 0px;
    cursor: pointer;
    transition: all;
    transition-duration: 0.25s;
}
.button-container:hover  {
    font-size: calc(var(--fnt-box) + 2pt);
}
.button-container:hover > div  {
    background-color: var(--clr-link-hover);
}
.button-container > div {
    border-radius: 20px;
    font-weight: bold;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--clr-link);
    color: var(--clr-light);
}

/* Login */
.login-container {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.login-input {
    padding: 5px;
    border-radius: 5px;
    border: 1px solid var(--clr-line);
    background-color: var(--clr-light);
    margin-bottom: 10px;
}

.login-button {
    border-radius: 20px;
    font-weight: bold;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--clr-link);
    color: var(--clr-light);
    border: 1px solid var(--clr-line);
    cursor: pointer;
    font-family: var(--fnt-box);
    transition: all;
    transition-duration: 0.25s;
    height: 40px;
}
.login-button:hover  {
    font-size: calc(var(--fnt-box) + 2pt);
    background-color: var(--clr-link-hover);
}
.login-status {
    margin: 20px 0px 20px 0px;
    font-weight: bold;
    text-align: center;
}

/* Dashboard */
.dashboard-icon {
    width:128px;
    margin: 10px 0px 10px 0px;
    border-radius: 30%;
}
.dashboard-data-box {
    min-width: 150px;
    width:150px;
    margin: 5px;
    font-size: var(--fnt-box);
    border-width: 0px 1px 0px 1px;
    border-radius: 10px;
    border-style: solid;
    border-color: var(--clr-line);
    background-color: var(--clr-bg2);
    padding: 20px;    
    text-align: center;
}

.lock-icon {
    padding: 5px;
    width:16px
}

.admin-title {
    margin: 20px 0px 20px 0px;
    text-align: center;
    font-size: var(--fnt-title);
}

/* Main Page */
.home-container {
  max-width: 900px;
  margin: 0 auto;
  padding: 2rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #1f2933;
}

.trial-intro h1 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.trial-intro h2 {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}

.intro-text,
.closing-text {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.info-block {
  background: var(--clr-bg1);
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.25rem;
  border: 1px solid var(--clr-line);
}

.info-block ul {
  padding-left: 1.2rem;
  margin: 0.5rem 0 0;
}

.info-block li {
  margin-bottom: 0.4rem;
}

.note {
  font-size: 0.9rem;
  color: var(--clr-hlt);
  margin-top: 0.75rem;
}

strong {
  font-weight: 600;
}



/* Foot */
.foot-container {
    width: 100%;
    height: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;    
}

/* Map */
.mapbox {
    width:100%;
    height:100%;
}


