html {
  position: relative;
  min-height: 100%;
  padding: 0;
  margin: 0;
}

body {
  font-family: 'Inter', sans-serif;
  font-weight:100;
  font-size: 16px;
  line-height: 1.6;
  color: #000000;
  background-color: #FFFFFFF;
  padding: 0;
  margin: 0;
}

.toast{
	left: 50%;
	top: 70px; 
	position: fixed;
	transform: translate(-50%, 0px);
	z-index: 9999;
	color: #ffffff;
	background-color: #07352C; 
}

.gh-icon {
	width: 30px; /* Default size */
	text-align: center;
	margin-bottom: 5px;
}

.gh-icon-medium {
	width: 35px; /* Default size */
	text-align: center;
	margin-bottom: 5px;
}

.location-type-image-wrapper {
	text-align: center;
	margin: 0 auto;
}

.location-type-icon {
	width: 38px; /* Default size */
	text-align: center;
}

.location-type-text {
	margin: 0 auto;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .1px;
	text-align: center;
	width: 90px;
	white-space: normal;
	color: #6c6c6c; 
}

.location-type-wrapper {
  margin-top: 6px;
}

.location-type-wrapper > .row {
  overflow-x: auto;
  white-space: nowrap;
  -ms-overflow-style: none;  /* Internet Explorer and Edge */
  scrollbar-width: none;  /* Firefox */
  flex-wrap: nowrap;
}

.location-type-wrapper > .row::-webkit-scrollbar {
  display: none;  /* Hide scrollbar for Webkit browsers like Chrome and Safari */
}

.location-type-wrapper > .row > .col-4 {
  /*
  display: inline-block;
  float: none;
  */
}

.location-type-all{
	margin:0px 10px 0px 0px;
	width: 80px;
	cursor: pointer;
}

.location-type-favs{
	margin:0px 45px 0px 0px;
	width: 80px;
	cursor: pointer;
}

.location-type-divider{
	width:0px;
	margin:0px 20px 0px -20px;
	padding:0px;
	border-right: .5px solid #686868;
}

.col-4 {
	width: 80px;
	margin: auto;
	padding:0px;
	text-align: center;
	border: 1px solid #FFFFFF;
	cursor: pointer;
}

.location-type:hover .location-type-footer {
	border-bottom: 1px solid #959595;
}

.location-type-footer {
	width:40px;
	margin: auto;
	height: 1px;
}

/* neighborhood page styling */

.neighborhood-container {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.neighborhood-img {
	height: auto;
	display: block;
}

.neighborhood-image-container {
	position: relative;
	display: inline-block;
	width: 100%;
	overflow: hidden;
}

.neighborhood-image-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4); /* Grayed-out effect with 50% opacity */
	border-radius: 5px;
}

.coming-soon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	padding: 20px; /* Add padding for better spacing */
}

.neighborhood-body-desc{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

/* location page styling */

.top-of-controller{
	margin-top:15px;
}

.gh-main.top-of-controller {
	margin-top: -10px;
}

#all-locations-container {
	display: flex;
	flex-direction: column; /* Stack child elements vertically */
	align-items: center; /* Center align the items */
	gap: 0px; /* Optional: Adds space between each location container */
	margin-top:10px;
}

.location-container {
	flex-basis: 100%; /* Each location container takes full width of the parent container */
}

.location-header{
	font-size: 30px;
	font-weight: 700;
}

/* Neighborhood header row with map icon */
.neighborhood-header-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}
.neighborhood-map-btn {
	color: #E8603C;
	font-size: 26px;
	text-decoration: none;
	padding: 5px 10px;
	transition: opacity 0.15s;
}
.neighborhood-map-btn:hover,
.neighborhood-map-btn:active {
	color: #E8603C;
	opacity: 0.7;
}

/* Neighborhood map page */
.neighborhood-map-title {
	padding: 10px 0 5px;
	font-size: 24px;
	font-weight: 700;
	color: #E8603C;
}
.neighborhood-map-container {
	width: 100%;
	height: calc(100vh - 300px);
	min-height: 250px;
	border-radius: 10px;
	overflow: hidden;
}

/* Map info window styles */
.nh-map-info-window {
	max-width: 220px;
	font-family: 'Inter', sans-serif;
}
.nh-map-info-img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	border-radius: 6px;
	margin-bottom: 8px;
}
.nh-map-info-name {
	font-weight: 700;
	font-size: 15px;
	color: #222;
	margin-bottom: 4px;
}
.nh-map-info-types {
	font-size: 12px;
	color: #888;
	margin-bottom: 8px;
}
.nh-map-info-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.nh-map-info-link {
	display: inline-block;
	color: #1BA996;
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
}
.nh-map-info-link:hover {
	color: #168070;
}
.nh-map-info-walk {
	display: inline-block;
	color: #3F51B5;
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
}
.nh-map-info-walk:hover {
	color: #2c3e8f;
}

/* Map legend */
.nh-map-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	padding: 12px 0;
}
.nh-map-legend-item {
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	user-select: none;
	transition: opacity 0.2s;
}
.nh-map-legend-item.nh-map-legend-off {
	opacity: 0.35;
}
.nh-map-legend-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 1.5px solid #fff;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.12);
	flex-shrink: 0;
}
.nh-map-legend-label {
	font-size: 13px;
	font-weight: 500;
	color: #555;
}

.location-header-small{
	font-size: 23px;
	font-weight: 700;
}

.location-subtitle{
	font-size: 24px;
	font-weight: 700;
}

.location-body{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

.location-body-desc{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	max-height: 240px;
	overflow: hidden;
}

.location-container img {
	max-width: 100%;
	height: auto;
}

/* Location card with overlay (neighborhood page) */
.location-card {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	margin-bottom: 16px;
	box-shadow: none;
	border: none;
	line-height: 0;
	width: 100%;
}

.location-card img {
	width: 100%;
	height: 175px;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

.location-card a {
	display: block;
	text-decoration: none;
	line-height: 0;
}

.location-card-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 40px 16px 12px 16px;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.65));
	line-height: normal;
}

.location-card-name {
	color: #FFFFFF;
	font-size: 20px;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.location-card .row {
	--bs-gutter-x: 0;
}

.location-image-container {
	position: relative; /* This makes it a positioning context for absolute elements inside it */
}

.location-background-image {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 14px;
}

/* classes for favorite image */

.location-unsaved-favorite-image {	
	position: absolute;
	top: 10px;
	right: 30px;
	width: 45px;
	height: 45px;
	background-image: url('/images/bookmark-off.png'); /* Initial image */
	background-size: cover; /* Ensure the image covers the entire div */
	background-position: center; /* Center the image */
}

.location-unsaved-favorite-image:hover {
	background-image: url('/images/bookmark-on.png'); /* Image on hover */
}

.location-saved-favorite-image {	
	position: absolute;
	top: 10px;
	right: 30px;
	width: 45px;
	height: 45px;
	background-image: url('/images/bookmark-saved-off.png'); /* Initial image */
	background-size: cover; /* Ensure the image covers the entire div */
	background-position: center; /* Center the image */
}

.location-saved-favorite-image:hover {
	background-image: url('/images/bookmark-saved-on.png'); /* Image on hover */
}

.leftnav-image {	
	position: absolute;
	top: 10px;
	left: 30px;
	width: 45px;
	height: 45px;
	background-image: url('/images/left-nav-off.png'); /* Initial image */
	background-size: cover; /* Ensure the image covers the entire div */
	background-position: center; /* Center the image */
}

.leftnav-image:hover {
	background-image: url('/images/left-nav-on.png'); /* Image on hover */
}

/* end classes for favorite image */

/* classes for preferences toggle button */

#preferencetogglediv{
	float:left; 
	width: 38px;
	height: 38px;
	margin: -6px 10px -4px 3px;
}

#preferencesettingsdiv{
	float:left; 
	width: 30px;
	height: 30px;
	margin: -2px 4px -5px 3px;
}

.preferences-toggle-off-image {	
	background-image: url('/images/icons/switch-off.svg'); /* Initial image */
	background-size: cover; /* Ensure the image covers the entire div */
	background-position: center; /* Center the image */
}

.preferences-toggle-on-image {	
	background-image: url('/images/icons/switch-on.svg'); /* Initial image */
	background-size: cover; /* Ensure the image covers the entire div */
	background-position: center; /* Center the image */
}

.preferences-settings {	
	background-image: url('/images/icons/prefs-off.svg'); /* Initial image */
	background-size: cover; /* Ensure the image covers the entire div */
	background-position: center; /* Center the image */
}

.preferences-settings:hover {	
	background-image: url('/images/icons/prefs-on.svg'); /* Image on hover */
}

.myplaylist{
	font-weight: 600;
	font-size:11px;
	margin: 0px 0px 5px 11px
}

/* end classes preferences toggle button */


.location-container .row {
	flex: 0 1 auto;
	--bs-gutter-x: 0;
	margin-left: 0;
	margin-right: 0;
}

.location-container > .row > .col {
	display: flex;
	flex-direction: row; /* Align children horizontally */
	flex-wrap: wrap; /* Allow items to wrap to the next line on smaller screens */
	align-items: center; /* Vertically center align items in the row */
	justify-content: space-between; /* Adjust this based on your design needs */
}

.location-contact-container {
	background-color: #07352C;
	color: #FFFFFF;
	border-radius: 10px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	height: 100%;
	margin-top:5px;
}

.contact-info{
	color: #FFFFFF;
	width: 100%;
	overflow: hidden;
}

.location-hours {
	color: #FFFFFF;
	width: 100%;
}

.hours-status {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	padding: 2px 10px 4px;
	border-radius: 12px;
	vertical-align: middle;
	position: relative;
	top: -2px;
}

.hours-open {
	background-color: #2e7d32;
	color: #FFFFFF;
}

.hours-closed {
	background-color: #c62828;
	color: #FFFFFF;
}

.ways-to-connect {
	color: #FFFFFF;
	width: 100%;
	white-space: nowrap;
	padding-bottom: 1px;
}

.location-info-titles {
	font-weight:700;
	font-size: 17px;
}

.whathits {
	border-radius: 10px;
	padding: 14px 16px 14px 10px;
	margin-left: 0;
}

.whathitsicons{
	background-repeat: no-repeat;
	background-position: center 2px;
	height:42px;
	width:42px;
}

.whathitstablecell {
	width:42px;
	vertical-align:top;
	padding-right:7px;
}

.whathits td b {
	font-size: 18px;
}

.whathitsbreak {
	display: block;
	margin-bottom: 1em;
}

.gh-links{
	color:#ffffff;
	font-size: 1.9em;
	margin-right: 10px;
}

.ways-to-connect > div {
	margin-top: 6px;
}

.noresults-title {
	display: block;
	font-weight:700;
	font-size: 26px;
}

.noresults-subtitle {
	display: block;
	font-weight:700;
	font-size: 20px;
}

.noresults-subtext {
	display: block;
	font-weight:400;
	font-size: 14px;
}

.noresults-img {
	max-height: 100px;
	width: auto;
}

.noresults-btn {
	color: #ffffff;
	background-color: #07352C;
	font-size: 16px;
	font-weight: 600;
	padding: 10px 30px;
	border-radius: 10px;
	margin-top: 12px;
	margin-bottom: 8px;
	width: auto;
}

.noresults-btn:active {
	background-color: #0a4a3f;
	color: #ffffff;
}


/* marketing styles */

.gh-marketing-header {
	font-family: 'Raleway', sans-serif;
}

.gh-marketing-subtext {
	font-family: 'Inter', sans-serif;
	margin-top:10px;
}

.flex-container {
	display: flex;
	justify-content: space-around; /* Distributes space around items */
	align-items: flex-start; /* Aligns items vertically */
	flex-wrap: wrap; /* Allows items to wrap to next line on smaller screens */
	margin-top:20px;
}

.marketing-flex-container{
	width:70%;
	margin:auto;
	margin-top:20px;
}

.marketing-icon {
	width: 50px; /* Default size */
	height: 50px; /* Default size */
	text-align: center;
	margin-bottom:-5px;
	fill: #eb7a64;
}

.marketing-icon-text {
	font-weight: 600;
	font-size: 14px;
	color: #eb7a64;
	margin-top: 25px;
	flex-basis: calc(25% - 20px); /* Each item takes up roughly a quarter of the container width, adjust the 20px to control spacing */
	text-align: center;
	margin: 10px; /* Spacing between items */	
	white-space: nowrap;
}

.marketing-icon:hover {
	fill: #dd3c1c;
}

.signup-container{
	flex-basis: 50%;
}

.collections-container{
	flex-basis: 40%;
	margin-top:30px;
	padding: 0;
}

.collections-graphic-container{
	flex-basis: 20%;
}

#signup-flex-container{
	width: 70%;
}

/* 404 page styles */

.gh404-flex-container {
  display: flex;
  flex-wrap: wrap; /* Allow items to wrap to the next row */
  justify-content: space-between; /* Split 30/70 */
  width: 90%;
  margin: 0 auto; /* Center the container */
  top: 20px;
}

.gh404-image-container {
  flex-basis: 20%; /* Take up 30% of the available width */
  text-align: center;
}

.gh404-content-container {
  flex-basis: 80%; /* Take up 70% of the available width */
  padding: 0 10px; /* Add some spacing */
}

.gh404-bottom-container {
	height:350px;
}

.verify-flex-container {
	width:100%;
	display: flex;
	flex-wrap: wrap;
}

.verify-column-left {
	flex: 15%; 
	box-sizing: border-box;
	padding: 10px; 
	display: grid;
	place-items: center;
}

.verify-column-right {
	flex: 85%; 
	box-sizing: border-box;
	padding: 10px; 
}

/* text styles */

.large-text {
	font-weight: 800;
	font-size:55px;
	line-height: 1.2;
}

.medium-text {
	font-size:40px;
	font-weight: 700;
	line-height: 1.2;
}

.small-text {
	font-size:18px;
	font-weight: 400;
	line-height: 1.4;
}

.tiny-text {
	font-size:15px;
	line-height: 1.5;
}

.tiniest-text {
	font-size:13px;
	line-height: 1.5;
}

/* div styles */

.navbar-default {
  box-shadow: none;
}

.gh-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.gh-main {
	margin: auto;
	width: 100%;
	margin-top: 10px;
	top: 60;
	flex: 1;
}

.gh-100 {
	margin: auto;
	width: 100%;
	padding-top: 10px;
}

.gh-90 {
	margin: auto;
	width: 90%;
	padding-top: 10px;
}

.gh-90.gh-location-page {
	width: 100%;
}

.gh-80 {
	margin: auto;
	width: 80%;
	padding-top: 10px;
}

.gh-50 {
	margin: auto;
	width: 50%;
	padding-top: 10px;
}

.gh-header {
	margin: auto;
	width: 95%;
	padding-top:5px;
	height:60px;
}

.gh-footer {
  margin: auto;
  width: 90%;
  height: 60px;
  padding-bottom:30px;
  text-align: center;
  font-weight:700;
}

.noresults-row {
	margin-top:50px;
}

.noresults-container {
	display: flex;
    align-items: flex-start;
	width: 100%;
	height: auto;
  }
  
.noresults-left {
	  width: 30%; /* Adjust the width as needed */
	  display: flex;
	  justify-content: center;
	  align-items: center;
}

.noresults-right {
	 width: 70%;
	 display: flex;
	 flex-direction: column; /* Stack child elements vertically */
	 justify-content: center;
}

/* end div styles */

.gh-navbar-brand {
	margin: 0px 3px 0px 0px;
}

.gh-footer-left{
	float: left;
	width:50%;
}

.gh-footer-right {
	float: right;
	width:50%;
}

.gh-footer-text {
	float:right;
	margin:0px 0px 0px 2px;
	cursor: pointer;
	font-size: 15px;
}

.gh-header-loggedin {
	height: 70px;
	position: sticky;
	top: 0;
	z-index: 1020;
	background-color: #fff;
	width: 100%;
	padding-left: 2.5%;
	padding-right: 2.5%;
	box-sizing: border-box;
}

.gh-header-loggedin .gh-signup {
	margin-top: 6px;
}

.gh-header-loggedin .btn-gh-base-sm {
	padding: 7px 12px;
	font-size: 16px;
}

.gh-header-loggedin .navbar-toggler-icon::before {
	font-size: 20px;
}

.gh-header-loggedin #preferencesettingsdiv {
	width: 34px;
	height: 34px;
}

.gh-header-loggedin #preferencetogglediv {
	width: 42px;
	height: 42px;
}

.gh-header-loggedin .myplaylist {
	font-size: 12px;
}

.gh-back {
	float: left;
	margin-top: 10px;
}

.gh-back a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #f0f0f0;
	color: #07352C;
	font-size: 18px;
	text-decoration: none;
	transition: background 0.15s;
}

.gh-back a:active {
	background: #ddd;
}

.gh-home {
	float: left;
	margin-top: 10px;
	margin-left: 8px;
}

.gh-home a,
.gh-home a:visited,
.gh-home a:hover,
.gh-home a:link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #f0f0f0;
	color: #F15A3C !important;
	font-size: 22px;
	text-decoration: none;
	transition: background 0.15s;
}

.gh-home a:active {
	background: #ddd;
}

/* Side Menu (Offcanvas) */
.gh-side-menu {
	max-width: 320px;
}

.gh-side-menu .offcanvas-header {
	padding: 20px 24px 8px 24px;
	padding-right: max(24px, env(safe-area-inset-right));
}

.gh-side-menu .btn-close {
	width: 1.2em;
	height: 1.2em;
	padding: 10px;
}

.gh-side-menu-logo {
	text-align: left;
}

.gh-side-menu-logo img {
	height: 44px;
}

.gh-side-nav {
	display: flex;
	flex-direction: column;
	padding-top: 4px;
}

.gh-side-nav-item {
	display: block;
	padding: 10px 24px;
	padding-right: max(24px, env(safe-area-inset-right));
	color: #333;
	text-decoration: none;
	font-size: 18px;
	font-weight: 500;
	font-family: "Inter", sans-serif;
	transition: background 0.15s;
	min-height: 44px;
	line-height: 1.3;
}

.gh-side-nav-item:hover,
.gh-side-nav-item:active {
	background: #f0f0f0;
	color: #07352C;
}

.gh-nav-icon {
	display: inline-block;
	width: 22px;
	margin-right: 14px;
	text-align: center;
	font-size: 16px;
	color: #666;
}

.gh-side-nav-item:hover .gh-nav-icon,
.gh-side-nav-item:active .gh-nav-icon {
	color: #07352C;
}

.gh-side-nav-divider {
	height: 1px;
	background: #eee;
	margin: 8px 24px;
}

.gh-logo {
	float:left;
	margin-top: 0px;
	cursor: pointer;
}

.gh-logo-image {
	height: 60px;
	margin-top: 7px;
}

.gh-title {
	float:left;
    font-weight:600;
    font-size: 18px;
	margin-top: 7px;
	cursor: pointer;
}

.gh-error {
	color: #ce2013;
	font-weight:600;
	font-size:13px;
}

.gh-signup {
	float:right;
	margin-top: 10px;
	width: 170px;
}

.gh-innersignup {
	float:right;
	margin-right: 0px;
}

.gh-city-photo {
	max-width: 720px;
	width: 300px;
}

.gh-tiny-msg {
	font-size: 13px;
}

.dropdown-style {
	background-color: #1BA996;	
}

.dropdown-style > li > a:hover {
	background-color: #1BA996;
}

/* text */

.gh-common-block {
	font-weight: 300;
}

.gh-dropdown-text {
	font-size:15px;
}

.gradient-text {
background-color: #07352C;
background-image: linear-gradient(45deg, 	#1BA996, #07352C);
background-size: 100%;
background-repeat: repeat;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
-moz-background-clip: text;
-moz-text-fill-color: transparent;
}


/* fields - base input styling */

input[type="text"],
input[type="tel"],
input[type="email"],
select,
textarea {
	font-size: 16px;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 8px;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	color: #333;
	font-family: "Inter", sans-serif;
	box-sizing: border-box;
	transition: border-color 0.2s;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus {
	border-color: #1BA996;
	outline: none;
}

select {
	padding-right: 32px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
}

.phonenum {
	width: 100% !important;
	max-width: 200px;
}

.phonenum_waitlist {
	width: 100% !important;
	max-width: 200px;
}

.SMSverification {
	width: 120px !important;
	text-align: center;
	font-size: 24px;
	letter-spacing: 6px;
	font-weight: 600;
}

.signupfield {
	width: 100%;
	margin: 6px 0px 0px 0px;
}

.suggestionfield {
	width: 100% !important;
}

.suggestiontextarea {
	width: 100% !important;
	height: 90px;
	vertical-align: top;
	resize: vertical;
}

/* labels */

.signuplabel {
	display: block;
	width: 100% !important;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: #555;
}

.suggestionlabel {
	display: block;
	width: 100% !important;
	font-size: 14px;
	font-weight: 600;
	color: #555;
	margin-bottom: 4px;
}


/* divs */

.signupdiv {
	display: block;
	margin-bottom: 14px;
}

.suggestiondiv {
	display: block;
	margin-top: 10px;
	margin-bottom: 10px;
}

.suggestionlargediv {
	margin-top: 10px;
}

.preferencediv {
	display: inline-block;
	border: 1px solid #07352C;
	border-radius: 7px;
	font-size: 14px;
	font-weight: 400;
	padding: 0px 8px 0px 8px;
	margin:  10px 2px 2px 2px;
	cursor: pointer;
}

.preferencediv_selected {
	background-color: #07352C;
	color: #FFFFFF;
}

.preferencediv_notselected {
	background-color: #FFFFFF;
	color: #1BA996;
}

.preferencescountainerdiv {
	text-align: center;
}

/* modals */

.modal-title{
	font-weight:500;
}

/* Bottom Sheet Modals */
.gh-bottom-sheet .modal-dialog {
	margin: 0;
	max-width: 100%;
	width: 100%;
	display: flex;
	align-items: flex-end;
	min-height: 100%;
}

.gh-bottom-sheet .modal-content {
	width: 100%;
	border-radius: 16px 16px 0 0;
	border: none;
	background: #fff;
	display: flex;
	flex-direction: column;
	max-height: 100vh;
	max-height: 100dvh;
}

.gh-bottom-sheet.fade .modal-dialog {
	transform: translateY(100%);
	transition: transform 0.3s ease-out;
}

.gh-bottom-sheet.show .modal-dialog {
	transform: translateY(0);
}

.gh-bottom-sheet .modal-content::before {
	content: '';
	display: block;
	width: 36px;
	height: 4px;
	background: #d0d0d0;
	border-radius: 2px;
	margin: 10px auto 0;
}

.gh-bottom-sheet .modal-header {
	border-bottom: none;
	padding: 8px 20px 0 20px;
	flex-shrink: 0;
}

.gh-bottom-sheet .modal-title {
	font-size: 20px;
	font-weight: 700;
	color: #07352C;
}

.gh-bottom-sheet .modal-body {
	padding: 12px 20px 20px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.gh-field-row {
	display: flex;
	gap: 12px;
}

.gh-bottom-sheet .modal-footer {
	border-top: none;
	padding: 0 20px calc(20px + env(safe-area-inset-bottom));
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #fff;
	flex-shrink: 0;
}

.gh-bottom-sheet .modal-footer .btn {
	width: 100%;
	border-radius: 12px;
	padding: 14px;
	font-size: 17px;
	font-weight: 600;
}

.gh-bottom-sheet .modal-footer .btn-gh-secondary {
	background-color: #cccccc;
	color: #ffffff;
	padding: 10px;
	font-weight: 500;
}

.gh-bottom-sheet .signupfield,
.gh-bottom-sheet .suggestionfield,
.gh-bottom-sheet .suggestiontextarea,
.gh-bottom-sheet .phonenum,
.gh-bottom-sheet .SMSverification,
.gh-bottom-sheet select {
	font-size: 17px;
	padding: 14px 16px;
	border: 1px solid #e0e0e0;
	border-radius: 12px;
	background: #f8f8f8;
	color: #333;
	width: 100%;
}

.gh-bottom-sheet .signupfield:focus,
.gh-bottom-sheet .suggestionfield:focus,
.gh-bottom-sheet .suggestiontextarea:focus,
.gh-bottom-sheet .phonenum:focus,
.gh-bottom-sheet .SMSverification:focus,
.gh-bottom-sheet select:focus {
	background: #fff;
	border-color: #1BA996;
}

.gh-bottom-sheet .signuplabel,
.gh-bottom-sheet .suggestionlabel {
	font-size: 15px;
	font-weight: 600;
	color: #333;
	margin-bottom: 6px;
}

.gh-bottom-sheet .signupdiv {
	margin-bottom: 16px;
}

.gh-bottom-sheet .suggestiondiv {
	margin-bottom: 16px;
	margin-top: 0;
}

.gh-bottom-sheet .suggestiontextarea {
	height: 100px;
	resize: none;
}

.gh-bottom-sheet .preferencediv {
	border-radius: 20px;
	padding: 6px 16px;
	font-size: 15px;
	font-weight: 500;
	margin: 6px 4px;
	border-width: 1.5px;
}

.gh-bottom-sheet .preferencescountainerdiv {
	text-align: center;
}

.gh-bottom-sheet .successcountainerdiv {
	font-size: 16px;
	line-height: 1.5;
}

.gh-change-link {
	display: inline-block;
	font-size: 13px;
	color: #1BA996;
	text-decoration: none;
	font-weight: 500;
	margin-top: 6px;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

/* Input with inline button (phone change, SMS verify) */
.gh-input-with-btn {
	display: flex;
	gap: 8px;
	align-items: stretch;
}

.gh-input-with-btn .signupfield {
	flex: 1;
	min-width: 0;
}

.gh-input-with-btn .btn {
	flex-shrink: 0;
	padding: 12px 16px;
	font-size: 15px;
	border-radius: 10px;
}

.gh-inline-sub {
	margin-top: 6px;
	display: flex;
	align-items: center;
	gap: 12px;
}

/* Inline edit sections (profile phone/email) */
.gh-inline-edit {
	margin-top: 10px;
}

.gh-inline-hint {
	font-size: 13px;
	color: #888;
}

.gh-inline-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 12px;
}

.gh-inline-btn {
	font-size: 15px !important;
	padding: 10px 20px !important;
	border-radius: 10px !important;
	flex-shrink: 0;
}

.gh-inline-cancel {
	font-size: 14px;
	color: #888;
	text-decoration: none;
	font-weight: 500;
}

.gh-inline-cancel:hover {
	color: #666;
}

.gh-inline-success {
	font-size: 15px;
	color: #07352C;
	background: #e8f5e9;
	border-radius: 10px;
	padding: 14px 16px;
	line-height: 1.4;
}

.gh-error {
	display: block;
	font-size: 13px;
	color: #d32f2f;
	margin-top: 8px;
}

.gh-inline-success-msg {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 16px;
	margin-top: 12px;
	background-color: rgba(27, 169, 150, 0.15);
	border-radius: 8px;
	color: #1BA996;
	font-size: 15px;
	font-weight: 500;
}

.gh-success-icon {
	font-size: 18px;
	font-weight: 700;
}

/* buttons */

.btn {
  text-transform: unset !important;
  box-shadow: none;
}

.btn-gh-base {
	box-shadow: none;
	font-size: 16px;
	font-weight: 700;
	padding: 5px 25px 5px 25px;
	background-position: center left 10px, center left 10px;
}

.btn-gh-base:hover {
	box-shadow: none;
}

.btn-gh-base-sm {
	box-shadow: none;
	font-size: 14px;
	font-weight: 400;
	padding: 5px 10px 5px 10px;
	background-position: center left 10px, center left 10px;
}

.btn-gh-base-sm:hover {
	box-shadow: none;
}

.btn-gh-base-rounded {
	box-shadow: none;
	font-size: 16px;
	font-weight: 700;
	padding: 10px 25px 10px 25px;
	background-position: center left 10px, center left 10px;
	border-radius: 30px;
}

.btn-gh-base-rounded:hover {
	box-shadow: none;
}

.btn-gh-primary {
	color: #ffffff;
	background-color: #09493d;
	box-shadow: none;
}

.btn-gh-primary:hover {
	color: #ffffff;
	background-color: #07352C;
	box-shadow: none;
}

.btn-gh-secondary {
	color: #ffffff;
	background-color: #aaaaaa;
	box-shadow: none;
}

.btn-gh-secondary:hover {
	color: #ffffff;
	background-color: #999999;
	box-shadow: none;
}

.btn-gh-orange {
	color: #ffffff;
	background-color: #F15A3C;
	box-shadow: none;
}

.btn-gh-orange:hover {
	color: #ffffff;
	background-color: #db5338;
	box-shadow: none;
}

.btn-gh-danger {
	color: #ffffff;
	background-color: #dc3545;
	box-shadow: none;
}

.btn-gh-danger:hover {
	color: #ffffff;
	background-color: #bb2d3b;
	box-shadow: none;
}

.btn-gh-danger:disabled {
	background-color: #6c757d;
	cursor: not-allowed;
	opacity: 0.65;
}

/* Delete Account Section */
.gh-delete-account-section {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid #e0e0e0;
	text-align: center;
}

.gh-delete-account-link {
	color: #999;
	font-size: 13px;
	text-decoration: none;
}

.gh-delete-account-link:hover {
	color: #dc3545;
	text-decoration: underline;
}

.btn-gh-dark-blue {
	color: #ffffff;
	background-color: #243864;
	box-shadow: none;
}

.btn-gh-dark-blue:hover {
	color: #ffffff;
	background-color: #19294b;
	box-shadow: none;
}

.btn-gh-light-green {
	color: #ffffff;
	background-color: #1BA996;
	box-shadow: none;
}

.btn-gh-light-green:hover { 
	color: #ffffff;
	background-color: #189887;
	box-shadow: none;
}

.btn-gh-gold {
	color: #ffffff;
	background-color: #E1C33A;
	box-shadow: none;
}

.btn-gh-gold:hover {
	color: #ffffff;
	background-color: #c0a632;
	box-shadow: none;
}

.btn-gh-alert {
	color: #ffffff;
	background-color: #ce2013;
	box-shadow: none;
}

.btn-gh-alert:hover {
	color: #ffffff;
	background-color: #ce2013;
	box-shadow: none;
}

.btn-gh-light {
	color: #000000;
	background-color: #e8e8e8;
	box-shadow: none;
}

.btn-gh-light:hover {
	color: #000000;
	background-color: #d5d5d5;
	box-shadow: none;
}

.navbar-toggler-icon {
  background-image: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.navbar-toggler-icon::before {
  font-family: FontAwesome;
  content: "\f0c9"; /* fa-bars, fa-navicon */
}


/* filters for svgs */

.filter-white{
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(225deg) brightness(102%) contrast(104%);
}

.filter-gold {
	filter: invert(99%) sepia(64%) saturate(5495%) hue-rotate(327deg) brightness(94%) contrast(87%);
}

.filter-orange {
	/* Color now baked into SVG fill="#F15A3C" */
}

.filter-orange:hover {
	opacity: 0.85;
}

/* front page designs */

.wave-separator {
	display: grid;
	grid-template-rows: auto auto; /* This sets up two rows */
	margin-top: 35px;
	align-items: start; /* This ensures that content starts at the top */
}

.wave-separator svg {
  	width: 100%; /* Full width */
  	height: auto; /* Maintain aspect ratio */
  	margin: 0;
  	padding: 0;
  	grid-row: 1 / 2; /* Explicitly place the SVG in the first row */
}

.bottom-wave-separator {
	display: grid;
	grid-template-rows: auto auto; /* This sets up two rows */
	align-items: start; /* This ensures that content starts at the top */
}

.bottom-wave-separator svg {
	  width: 100%; /* Full width */
	  height: auto; /* Maintain aspect ratio */
	  margin: 0;
	  padding: 0;
	  grid-row: 1 / 2; /* Explicitly place the SVG in the first row */
}

.content-container { 
  	grid-row: 2 / 3; /* Explicitly place the content in the second row */
}

.three-column-container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr; /* Creates three columns of equal width */
	margin:auto;
}

.two-column-container {
	display: grid;
	grid-template-columns: 1fr 1fr; /* Creates two columns of equal width */
	gap: 10px; /* Optional: Adds space between the columns */
	margin:auto;
}

.new-release-header{
	text-align: center;
}

.new-release-image {
	width: 400px;
	height: auto;
	border-radius: 5px;
}

.new-release {
	margin: 0px 10px 20px 10px;
}

.new-release-coming-soon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	width: auto;
	height: 60px;
}

.dark-green-block {
	background-color: #07352C;
	color: #FFFFFF;
}

.gold-block {
	background-color: #e6c479;
	color: #000000;
}

/* colors */

.dark-green-text {
	color: #07352C;
}

.light-green-text {
	color: #1BA996;
}

.blue-text {
	color: #2CA5B7;
}

.orange-text {
	color: #F15A3C;
}

.dark-blue-text{
	color: #243864;
}

.gold-text {
	color: #E1C33A;
}

.white-text {
	color: #FFFFFF;
}

.black-text {
	color: #000000;
}

.red-text {
	color: #ce2013 !important;
}

/* links */

a {
  text-decoration: none;
  color: #2CA5B7;
  font-weight: 500;
}

a:link {
  color: #2CA5B7;
  font-weight: 500;
}

a:visited {
  color: #2CA5B7;
  font-weight: 500;
}

a:hover {
  text-decoration: underline;
  cursor: hand;
}

/* landing page */

.gh-landing-greeting {
	padding: 0 0 5px 0;
	margin-top: -5px;
}

.gh-greeting-text {
	font-family: 'Raleway', sans-serif;
	font-size: 34px;
	font-weight: 800;
	color: #243864;
	line-height: 1.2;
}

.gh-activity-summary {
	font-size: 16px;
	color: #888;
	margin-top: 4px;
}

.gh-landing-section {
	margin-top: 16px;
}

.gh-landing-section:last-child {
	padding-bottom: 20px;
}

.gh-section-header {
	margin-bottom: 8px;
}

.gh-section-title {
	font-family: 'Inter', sans-serif;
	font-size: 23px;
	font-weight: 700;
	color: #07352C;
}

/* horizontal scroll cards (favorites, near me) */

.gh-scroll-row {
	display: flex;
	overflow-x: auto;
	gap: 12px;
	padding-bottom: 4px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.gh-scroll-row::-webkit-scrollbar {
	display: none;
}

.gh-scroll-card {
	min-width: 160px;
	max-width: 160px;
	flex-shrink: 0;
	text-decoration: none;
	color: inherit;
}

.gh-scroll-card:hover {
	text-decoration: none;
	color: inherit;
}

.gh-scroll-card img {
	width: 100%;
	height: 120px;
	object-fit: cover;
	border-radius: 8px;
}

.gh-scroll-card-placeholder {
	width: 100%;
	height: 120px;
	border-radius: 8px;
	background: #e8e8e8;
}

.gh-scroll-card-name {
	font-size: 14px;
	font-weight: 600;
	margin-top: 6px;
	color: #333;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gh-scroll-card-sub {
	font-size: 12px;
	color: #999;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* neighborhood explore cards */

.gh-city-label {
	font-size: 14px;
	font-weight: 700;
	color: #F15A3C;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-top: 1px;
	margin-bottom: 6px;
}

.gh-neighborhood-card {
	margin-bottom: 16px;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.gh-neighborhood-card a {
	display: block;
	text-decoration: none;
	color: inherit;
}

.gh-neighborhood-card a:hover {
	text-decoration: none;
}

.gh-neighborhood-card-img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
}

.gh-neighborhood-card-locked {
	position: relative;
}

.gh-neighborhood-card-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.4);
	border-radius: 10px;
}

.gh-neighborhood-card-badge {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(0,0,0,0.6);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	padding: 6px 16px;
	border-radius: 20px;
	white-space: nowrap;
}

.gh-neighborhood-card-info {
	padding: 0 0 8px 0;
}

.gh-neighborhood-card-name {
	font-size: 20px;
	font-weight: 700;
	color: #1BA996;
}

.gh-neighborhood-card-desc {
	font-size: 15px;
	color: #555;
	line-height: 1.5;
	margin-top: 2px;
	margin-bottom: 8px;
}

/* recently added grid */

.gh-recent-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.gh-recent-card {
	text-decoration: none;
	color: inherit;
	min-width: 0;
}

.gh-recent-card:hover {
	text-decoration: none;
	color: inherit;
}

.gh-recent-card img {
	width: 100%;
	height: 110px;
	object-fit: cover;
	border-radius: 8px;
}

.gh-recent-card-placeholder {
	width: 100%;
	height: 110px;
	border-radius: 8px;
	background: #e8e8e8;
}

.gh-recent-card-name {
	font-size: 14px;
	font-weight: 600;
	color: #333;
	margin-top: 6px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gh-recent-card-sub {
	font-size: 12px;
	color: #999;
}

/* responsiveness */

/* Small (sm) - mobile */
@media only screen and (max-width: 576px){

	/*
	.large-text {
		font-size:40px;
		font-weight: 800;
	}
	
	.medium-text {
		font-size:17px;
		font-weight: 400;
	 }  
 
}

/* Medium (md) - tablets */
@media only screen and (max-width: 768px) {
	
	.gh-logo-image {
		height: 55px;
		margin-top: 3px;
	}
	
	/* adjust collections for small screens */
	.collections-graphic-container {
		display:none;
	}
	
	.collections-container{
		flex-basis: 100%;		
	}
	
	/* adjust signup for small screens */
	#signup-flex-container{
		width: 90%;
	}
	
	.signup-container{
		flex-basis: 100%;
	}
	
	.collections-container{
		flex-basis: 100%;
	}
	
	/* marketing icons */
	
	.marketing-flex-container{
		width:100%;
	}
	
    .marketing-icon-text {
		flex-basis: calc(50% - 20px); /* Adjust each item to take up half of the container width */
		max-width: 50%;  /* Ensure the maximum width is also 50% */
		margin: 5px; /* Spacing between items */	
	}
	
	.marketing-icon {
		width: 45px; /* Default size */
		height: 45px; /* Default size */
	}
	
	.large-text {
		font-size:38px;
		font-weight: 800;
	}
	
	.medium-text {
		font-size:30px;
		font-weight: 400;
	 } 
	
	.small-text {
		font-size:15px;
		font-weight: 400;
	}
	
	.top-of-controller{
		margin-top:15px;
	}
	
	.location-body-desc{
		max-height: 264px;
	}
	
	.location-body{
		margin-top: 0;
	}
	
	.location-container{
		/*margin-top:15px;*/
	}
	
	.location-header-small{
		font-size: 19px;
	}
	
	.location-type-divider{
		margin:0px 5px 0px 5px;
	}
	
	.location-type-playlist{
		margin-right:0px;
		margin-left: -10px;
	}
	
	.location-type-favs{
		margin:0px 0px 0px -10px;
	}
	
	.location-saved-favorite-image {	
		top: 10px;
		right: 20px;
		width: 40px;
		height: 40px;
	}
	
	.location-unsaved-favorite-image {	
		top: 10px;
		right: 20px;
		width: 40px;
		height: 40px;
	}
	
	.leftnav-image {	
		top: 10px;
		left: 20px;
		width: 40px;
		height: 40px;
	}	
	
	.whathitsicons{
		height:40px;
		width: 40px;
	}

	.whathitstablecell {
		width:40px;
	}
	
	.location-contact-container{
		flex-direction: column;
	}

	.where-youre-going{
		margin-top: 20px;
	}

	.contact-info {
		width: 100%;
		font-size: 87%;
		overflow: normal;
	}

	.location-hours {
		font-size: 87%;
	}

	.ways-to-connect{
		width: 100%;
		font-size: 87%;
	}
	
	.noresults-row{
		margin-top:20px;
	}

	.noresults-container {
		width: 100%;
		margin: auto;
		height: auto;
		flex-direction: column;
		align-items: center;
		padding-bottom: 30px;
	}

	.noresults-left {
		 width: 100%;
		 padding-bottom: 10px;
		 text-align: center;
	}

	.noresults-right {
		 width: 100%;
		 text-align: center;
	}

	.noresults-title {
		text-align: center;
	}

	.noresults-subtitle {
		text-align: center;
	}

	.noresults-subtext {
		font-weight:400;
		font-size: 17px;
		text-align: left;
		line-height: 1.5;
	}

	.noresults-img {
		max-height: 90px;
	}
	
	.cityfield {
		width: 100% !important;
		margin-bottom: 8px;
	}
	
	.gh404-flex-container {
		flex-direction: column; /* Stacked vertically on mobile */
		top: 0px;
	  }
	
	.gh404-image-container,
	.gh404-content-container {
	 	flex-basis: 100%; /* Take up 100% width on mobile */
	}
	
	.gh404-bottom-container {
		height:50px;
	}
	
	.new-release-image {
		width:350px;
		height:auto;
	}
	
	.new-release {
		margin: 0px 0px 20px 0px;
	}

	/* landing page mobile */
	.gh-greeting-text {
		font-size: 28px;
	}

	.gh-scroll-card {
		min-width: 140px;
		max-width: 140px;
	}

	.gh-scroll-card img {
		height: 105px;
	}

	.gh-recent-card img {
		height: 95px;
	}
}

/* Large (lg) - laptops */
@media only screen and (max-width: 992px) {

}

/* Extra-large (xl) - desktops */
@media only screen and (max-width: 1200px) {
	
	.location-header{
		font-size: 26px;
	}
	
 }