

.divessi-fullscreen-70 .locator-app {
	top: 0px;
	height: min(80vh, 800px) !important;
	margin: 0 0 0;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 10px;
	overflow: hidden;
	background-color: var(--default-background);
	color:var(--default-foreground);
}

.locator-app {

	--locator-app-filter: 0px;
	--side-safe-area:20px;

	position: relative;
	width:100%;
	height: min(55vh, 600px) !important;
	top: 0;
	left: 0;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

/* .locator-app.big-map {
	height: min(1100px) !important; 
} */

.divessi-fullscreen .locator-app,
.divessi-fullscreen-70 .locator-app {	
	margin:0 0 0 0;
	padding:0 0 0 0;
}
.divessi-fullscreen .locator-app {
	height:calc(calc(var(--app-height) - var(--navigation-height)) - 50px) !important; /*var(--navigation-height)*/
	border:0;
	border-radius: 0px;
}

.global-modal .locator-app {
	height: calc(var(--app-height) - var(--sub-nav-height)) !important;
	border:0;
	border-radius: 0px;
}

.has-filter {
	--locator-app-filter: 50px;
}

.locator-app-loader {
	position:absolute;
	width: 30px;
	height: 30px;
	right: 150px;
	top: 10px;
	transition:opacity 1s;
	opacity:0;
	z-index:5;
	pointer-events: none;
}

.locator-app-suspension {
	position:absolute;
	top:0;
	left:350px;
	width:calc(100% - 350px);
	height:100%;
	pointer-events: none;
	opacity:0;
	transition: all 0.75s;
	z-index:2;
	background-color:transparent;	
}
.map-suspension.active {
	opacity:0.5;
	pointer-events: all;
	background-color: #333;
}

.locator-app-map {
	position: absolute;
    width: calc(100% - 390px);
    height: calc(100% - var(--locator-app-filter));
    left: 390px;
    top: var(--locator-app-filter);
}




/* Results while searching/filtering */
.locator-app-results {
	position:absolute;
	width:400px;
	height:calc(100% - var(--locator-app-filter));
	left:0px;
	top:var(--locator-app-filter);
	border-right:1px solid #fff;
	overflow:hidden;
	background-color:var(--default-background);
	border-right: 1px solid var(--default-separator-color);
}
.locator-app-results-inner {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	transition:all 0.3s ease-out;
}
.locator-app-results.active .locator-app-results-inner {
	left:-100%;
}

.locator-app-results.active.map-overlay .locator-app-results-inner {
	left:0;
}




.locator-small-content .locator-app-results {
	/* width:100%; */
	width:400px;
}

.locator-small-content {
	--side-safe-area:20px;
}

.locator-small-content .locator-app-map {
	width:calc(100% - 400px);
	left:400px;	
}

.force-small-content {
	width:100%;
}

.locator-app-results .force-small-content .row {
	--page-max-width:100% !important;
}
.locator-app-results .force-small-content .row.constrain-mode-0 {
	max-width: 100% !important;
}



.locator-small-content .locator-app-results .desktop-col-end-13,
.locator-small-content .locator-app-results .desktop-col-end-12,
.locator-small-content .locator-app-results .desktop-col-end-11,
.locator-small-content .locator-app-results .desktop-col-end-10,
.locator-small-content .locator-app-results .desktop-col-end-9,
.locator-small-content .locator-app-results .desktop-col-end-8,
.locator-small-content .locator-app-results .desktop-col-end-7,
.locator-small-content .locator-app-results .desktop-col-end-6,
.locator-small-content .locator-app-results .desktop-col-end-5,
.locator-small-content .locator-app-results .desktop-col-end-4,
.locator-small-content .locator-app-results .desktop-col-end-3,
.locator-small-content .locator-app-results .desktop-col-end-2,
.locator-small-content .locator-app-results .desktop-col-end-1 {
	grid-column-end: 13 !important;
}
.locator-small-content .locator-app-results .desktop-col-start-13,
.locator-small-content .locator-app-results .desktop-col-start-12,
.locator-small-content .locator-app-results .desktop-col-start-11,
.locator-small-content .locator-app-results .desktop-col-start-10,
.locator-small-content .locator-app-results .desktop-col-start-9,
.locator-small-content .locator-app-results .desktop-col-start-8,
.locator-small-content .locator-app-results .desktop-col-start-7,
.locator-small-content .locator-app-results .desktop-col-start-6,
.locator-small-content .locator-app-results .desktop-col-start-5,
.locator-small-content .locator-app-results .desktop-col-start-4,
.locator-small-content .locator-app-results .desktop-col-start-3,
.locator-small-content .locator-app-results .desktop-col-start-2,
.locator-small-content .locator-app-results .desktop-col-start-1 {
	grid-column-start: 1 !important;
}
.locator-small-content .locator-app-results .row {
	column-gap: 0;
}

.locator-small-content .locator-app-result-card-image {
	display:none !important;
}


/* .locator-app-result {
	position: absolute;
	top:0;
	left:0;	
} */

.locator-app-result-area {
	position:absolute;
	top:0px; 
	left:0;
	height:100%;
	width:100%;
	overflow-y: auto;
	overflow-x: hidden;
	padding-bottom:50px;
	/* background-color: #fff; */
}


/* Pagination of results */
	.locator-app-pagination {
		display:none;
		position:absolute;
		bottom:0;
		left:0;
		height:50px;
		width:100%;
		text-align: center;
		line-height:54px;
		background-color:rgba(250,250,250,0.95);
		border-top: 1px solid #ddd;
		/* backdrop-filter: blur(15px);
		-webkit-backdrop-filter: blur(15px); */
		-moz-user-select: none;
		-webkit-user-select: none;
		user-select: none;
	}
	.locator-app-pagination.active {
		display:block;
	}

	.locator-app-pagination > i,
	.locator-app-pagination > div {
		display:inline-block;
		margin:0 10px;
		transition:all 0.5s;
	}
	.locator-app-pagination > i {
		opacity:0;
		pointer-events: none;
		border-radius: 5px;
		line-height: 28px;
		padding: 0 5px;
	}
	.locator-app-pagination > i:hover {
		background-color:#ddd;
	}
	.locator-app-pagination > i.active {
		opacity:1;
		pointer-events: all;
	}
	.locator-app-pagination > div {
		width:80px;
	}



/* Result Card - preview for list */
	.locator-app-result-card {
		padding: .9em calc(var(--side-safe-area) / 2);
		position: relative;
		cursor: pointer;
		width:100%;
		margin: 0em auto;
		border-bottom: 1px solid var(--default-separator-color);
		transition: border-color 300ms, box-shadow 300ms, transform 300ms;
	}	

	.locator-app-result-card.selected {
		background-color: #ccc;
	}

	.locator-app-result-card:hover {
		box-shadow: 0 0 6px 0px rgba(0,0,0,0.1);
		transform: scale(1.02);
		z-index:2;
	}

	.locator-app-result-card.highlight {
		background-color:rgba(112, 128, 144, 0.1);
	}

	.locator-app-result-card-image {
		width: 240px;		
		flex-grow:0;
		flex-shrink:0;
	}
	.locator-app-result-card-description {
		flex-grow:1;
		margin-top: 30px;
		border-bottom:1px solid transparent;
		clear:both;
	}

	.locator-app-result-card-description h2 {
		font-size: 1rem;
		line-height: 2.7rem;
		text-transform: none;
		max-width: 100%;
		font-weight: 600;
		margin-bottom: 0.5rem;
		margin-top: 4px;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}

	img.locator-app-result-card-logo {
		float: left;
		width: 40px;
		object-fit: cover;
		margin-right: 15px;
		border: 1px solid #ccc;
		border-radius: 40px;
	}

	.locator-app-result-card-description p {
		font-size: 0.9rem;
		line-height: 1.1rem;
		position: relative;
		max-width:99%;		
	}

	.locator-app-result-card-description > p + p {
		margin-top:0.75rem;
	}

	/* .locator-app-result-card-description p:after {
		position: absolute;
		bottom: 0px;
		width: 100%;
		background: linear-gradient(0deg, rgba(255,255,255,1) 10%, rgba(255,255,255,0) 100%);;
		height: 40px;
		left: 0;
		content: '';
	} */

	.locator-small-content {
		position:relative;
	}

	.locator-small-content .locator-app-result-card-description {
		margin-left:0;
	}

	.locator-small-content h2 {
		line-height:1.5em;
	}

	


/* Filter elements */

	/* Container for top-area stuff */
	.locator-app-filter {
		display: inline-flex;
		justify-content: left;
		height: var(--locator-app-filter);
		border-bottom: 1px solid var(--default-separator-color);
		padding: 8px var(--side-safe-area) 0 var(--side-safe-area);
		background-color: var(--default-contrast-background);
		align-items: center;
		width: 100%;
	}
	
	.locator-app-filter-overlay {
		position: absolute;
		background-color: rgba(0,0,0,0.4);
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 15;
		opacity:0;
		overflow:hidden;
		transition:opacity 350ms;
		pointer-events:none;
	}

	.locator-app-filter-overlay-inner {
		position: absolute;		
		left: 50%;
		top: 60px;
		z-index:20;
		transform: translateX(-50%) translateY(100vh) scale(0.7);
		height: calc(100% - 120px);
		width: 800px;
		max-width: 80vw;
		background-color: #fff;
		padding: 20px;
		border-radius: 10px;
		opacity: 0;
		overflow: hidden;
		transition: transform 450ms ease, opacity 450ms;
		box-shadow: 0 7px 10px 0px rgba(0,0,0,0.2);
	}
	
	.locator-app-filter-header {
		position: absolute;
		width: 100%;
		height: 65px;
		background-color: white;
		top: 0;
		left: 0;
		padding: 20px;
		font-weight: 600;
		font-size: 1.3rem;
		line-height: 1.5;
		color: #333;
		border-bottom: 1px solid #c0c0c0;
	}

	.locator-app-filter-footer {
		position: absolute;
		bottom: 0;
		left: 0;
		/* background: red; */
		width: 100%;
		height: 65px;
		padding: 0.5em 20px;
		text-align: right;
		border-top: 1px solid #e9e9e9;
		background-color: #f9f9f9;
		line-height: calc(65px - 1em);
	}
	.locator-app-filter-footer > * {
		vertical-align: middle;
	}

	.locator-app-filter-content {
		position:absolute;
		width:100%;
		height:calc(100% - 65px);
		overflow-y: auto;
		top:65px;
		left: 0;
		padding: 20px;
		background-color: #f0f0f0;
	}
	
	/* .locator-app-filter.active {
		
	} */

	.locator-app-filter .active .locator-app-filter-overlay {
		opacity:1;
		pointer-events:all;
	}
	.locator-app-filter .active .locator-app-filter-overlay-inner {
		transform: translateX(-50%) translateY(0vh) scale(1);
		opacity:1;
	}

	.locator-app-filter-group {
		margin-bottom: 15px;		
		padding: 10px 15px 15px 15px;
		background-color: #fff;
		border-radius: 10px;
	}
	.locator-app-filter-group.hidden {
		display:none;
	}
	.locator-app-filter-group:last-of-type {
		margin:1em 0 0em;
		border-bottom-width: 0;
	}

	.locator-app-filter-group h2 {
		font-size: 1.2rem;
		margin: 0 0 0.25em 0;
		position: sticky;
		top: -20px;
		z-index:2;
		background-color: rgba(255,255,255, 0.8);
		-webkit-backdrop-filter: blur(5px);
		-moz-backdrop-filter: blur(5px);
		backdrop-filter: blur(5px);
		padding: 0.5em 0 0.25em 0;
	}
	
	.locator-app-filter-group h2 i {
		width:25px;
		color:var(--color-ssi-red);
	}


	.locator-app-single-filter {
		/* display:flex;
		flex-wrap:wrap; */
		display:block;
		column-count: 2;
	}

	.locator-app-single-filter > label {
		/* width:50%; */
		width:100%;
		line-height: 1.8;
		font-size: 1.00rem;
		padding: 0 0.25em;
		color: #666;
		display:block;
		-webkit-column-break-inside: avoid;
	}

	.locator-app-single-filter label:hover {
		background-color: #f4f4f4;
		border-radius: 4px;
	}

	.locator-app-single-filter label span {
		margin-left:5px;
	}

	.locator-app-highlight-filters {
		/* display: inline-block; */
		display:none;
	}

	.locator-app-filter-btn {
		padding: 0.5em 1em 0.3em 1em;
		border-radius: 30px;
		font-size: 0.9rem;
		background-color: white;
		border: 1px solid #ccc;
		margin-right: 10px;
		line-height: 1.1;
		cursor:pointer;
		position:relative;
	}

	.locator-app-filter-btn.active {
		border-color: var(--color-ssi-red);
		background-color: var(--color-ssi-red);
		color: white;
	}

	.locator-app-btn-more {
		background-color:#fff;
		border-color:var(--color-ssi-red);
		color:var(--color-ssi-red);
	}

	.locator-app-btn-more i {
		margin-right: 5px;
		font-size: 1.1rem;
		line-height: 0.9rem;
		vertical-align: top;
		color: var(--color-ssi-red);
	}

	.locator-app-filter-btn > span {
		position: absolute;
		background-color: var(--color-ssi-red);
		color: white;
		border-radius: 30px;
		padding: 3px 4px 2px 5px;
		font-size: 0.65rem;
		font-weight: bold;
		top: -4px;
		right: -6px;		
		text-align: center;
	}
	.locator-app-filter-btn > span:empty {
		display:none;
	}

	.filter-slider {
		display:block;
		width:100%;
		column-count: 1;
	}
	.filter-slider label {
		width:100%;
		display:block;
	}

	.locator-app-filter-slider-container {
		overflow:hidden;
		max-height:0;
		transition:max-height 300ms, padding-top 300ms;
		padding-top: 0px;
	}
	.locator-app-filter-slider-container.active {
		max-height: 200px;
		padding-top: 40px;
	}

	.locator-app-header-buttons {
		position: absolute;
		right: 20px;
		top: 16px;
	}

	.apply-filter-btn {
		background-color: var(--color-ssi-red);
		color: rgba(255,255,255,0.75);
		color:rgba(255,255,255,0.75);
	}

	.locator-app-result-count {
		position: fixed;
		color: var(--color-ssi-red);
		right: 20px;
		font-size: 1rem;		
		top: 8px;
		opacity: 1;
		font-weight: 600;
		margin-left: auto;
		padding-top: 8px;
	}
	.result-indicator-overlay {
		display: none;
	}

	.apply-filter-btn span {
		display: inline-block;
		font-size: 1.1rem;
		line-height: 1;
		font-weight: 600;
		color:white;
	}

	.locator-center-affiliation,
	.locator-center-affiliation-main {
		display: inline-block;
		color:#ccc;
		margin-left:0.5rem;		
	}

	.locator-app-result-card.affiliation .locator-center-affiliation {		
		color:var(--color-ssi-red);
	}
	.locator-app-result-card.affiliation-main .locator-center-affiliation-main {
		color:var(--color-ssi-red);
	}

	.locator-app-result-card.hide-affiliation .locator-center-affiliation {
		display:none;
	}



.map-filter-selector {
	display: inline-block;
	position: relative;
	z-index:3;
	text-align: left;
}
.map-filter-selector > button {
	background-color: #fff;
	padding: 6px 10px 2px 10px;
	border-radius: 6px;
	margin: 0 5px 0 4px;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.3rem;
	border: 1px solid #ccc;
	cursor: pointer;
	transition:all 0.35s;
}
.map-filter-selector > button i {
	margin-left: 6px;
	font-size: 0.8rem;
}

.map-filter-selector .filter-details {
	position:absolute;
	top:40px;
	display:none;
	left:50%;
	width:50%;
}

.map-filter-selector .filter-details-inner {
	position:relative;
	left:-200px;
	max-height:80%;
	background-color:#333;
	color:#fff;
	width: 400px;
	padding:15px 10px 2px 10px;
	border-radius: 6px;
	/* border: 1px solid #ccc; */
	-webkit-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.31);
	-moz-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.31);
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.31);
}

.map-filter-selector.active .filter-details {
	display:block;
}
.map-filter-selector.active > button {
	background-color:#333;
	color:#fff;
}
.map-filter-selector.active > button i {
	transform: rotate(180deg);
}





.filter-radio-section h3,
.filter-checkbox-section h3 {
	font-size: 1rem;
	color:inherit;
	margin-bottom: 10px;
}

/* .filter-radio-section {

} */

.filter-radio-item, .filter-highlight {
	padding: 2px 10px;
	background-color: #444;
	margin-bottom: 10px;
	border-radius:5px;
}

.filter-highlight h3 {
	margin-top:5px;
}

span.filter-details-triangle {
	position: absolute;
	width: 12px;
	height: 12px;
	background-color: #333;
	top: -6px;
	left: calc(50% - 6px);
	transform: rotate(45deg);
}

/* .filter-checkbox-section {
	
}

.filter-checkbox-item {
	
} */

.locator-app-filter-text-element {
	display: inline-block;
	background-color: #fff;
	padding: 3px 10px 2px 10px;
	border-radius: 36px;
	/* margin: 0 4px 0 4px;	 */
	border: 1px solid #ccc;
	margin:0 .5em 0 0;
	position:relative;
}
.locator-app-filter-text-element > i {
	vertical-align: middle;
	margin-top: -3px;
}

input.locator-app-text-input {
	border: 0px;
	margin: 0;
	padding: 0;
	font-size: 1rem;
	line-height: 1.3rem;
	display: inline-block;
	font-weight: 600;
	width:230px;
}
input.locator-app-text-input:focus {
	outline: none;
}
input.locator-app-text-input::placeholder {
	font-size:0.9rem;
	padding-top:3px;
}

.filter-input-element {
	display:block;
	padding: 8px 5px 6px 27px;
	font-size: 0.9rem;
	line-height: 1.1rem;
	position: relative;
	color:#ccc;
} 

.filter-input-element input {
	position: absolute;
	left: 0px;
	top: 7px;
}



.filter-radio-item > .filter-checkbox-section {
	padding-left:27px;
}

.filter-radio-item > .filter-checkbox-section .filter-input-element,
.filter-standalone .filter-input-element {
	padding:2px 5px 4px 27px;
}

.filter-radio-item > .filter-checkbox-section .filter-input-element input,
.filter-standalone .filter-input-element input {
	left:0;
	top:0;
}

.filter-checkbox-section.n-up-2 .filter-checkbox-item,
.filter-radio-section.n-up-2 .filter-radio-item {
	display:inline-block;
	width:49%;
} 
.filter-standalone {
	padding-bottom:6px;
}


.locator-app-preview {
	position:absolute;
	top:0;
	left:100%;	
	height:100%;
	width:100%;
	background-color:#fff;
	
}

.locator-app-preview.map-overlay {
	position: absolute;
    top: 40px;
    /* left: 400px; */
    height: 100%;
    width: calc(100% - 400px);
    background-color: #fff;	
}

.locator-app-preview.map-overlay.active {
    left: 400px;
	transition: transform 450ms ease, opacity 450ms;
}

.locator-app-preview.active.map-overlay .locator-preview-back {
	display: none;
}

.locator-app-preview.active {
    left: 0;
	transition: transform 450ms ease, opacity 450ms;
}

.locator-app-btn-close {
	/* position: absolute; */
	/* left: 15px; */
	/* top: 15px; */
	/* width: 31px; */
	/* height: 31px; */
	text-align: center;
	/* line-height: 31px !important; */
	font-size: 17px !important;
	/* cursor: pointer; */
	/* z-index: 10; */
	/* background-color: rgba(255,255,255,0.6); */
	border-radius: 30px;
	display: inline-block;
	/* margin-top: 5px; */
	vertical-align: middle;
	margin-right: 0.3em;
}
.locator-app-btn-right {
	left:unset;
	right:15px;
}
.locator-preview-back {
	position: absolute;
	width: 100%;
	height: 40px;
	top: 0;
	left: 0;
	padding: 7px 0 0 var(--side-safe-area);
	color: var(--color-ssi-red);
	cursor: pointer;
	background-color: var(--default-contrast-background);
	/* box-shadow: 7px 0px 7px 4px rgba(0,0,0,0.3); */
	z-index: 10;
}
.locator-preview-back p {
	line-height: 1;
	font-size: 1rem;
	display: inline-block;
	vertical-align: bottom;
	font-weight: 600;
	margin-top: 7px;
}

.locator-app-preview-content {
	/* --side-safe-area: 15px; */
	position:absolute;
	top:40px;
	left:0;
	width:100%;
	height:calc(100% - 40px);
	overflow-y:auto;
	z-index:9;
	transition:opacity 350ms, transform 350ms;	
}

.map-overlay .locator-app-preview-content {
	top:0px
}
.locator-app-preview-content.hidden {
	opacity:0;
	transform: scale(0.95);	
}

.locator-app-preview-content.mapoverlay.hidden {
	opacity:0;
	transform: scale(0.95);	
	left:-100px;
}
/* .page-preview-with-close .page-preview-content {
	height:calc(100% - 50px);
	top:50px;
} */

.locator-app-filter-search-result {
	position:absolute;
	top:30px;
	left:0;
	width:100%;
	display:none;
	background-color:white;
	text-align: left;
	border-radius: 5px;
	box-shadow: 0 3px 5px 3px rgba(0,0,0,0.2);
	border: 1px solid #e0e0e0;
	z-index: 100;
}

.locator-app-filter-search-result.active {
	display:block;
}
.locator-app-filter-result-item {
	font-size:0.9rem;
	line-height:1rem;
	padding: 5px 8px;
	border-bottom:1px solid #eee;
	border-radius:4px;
	cursor:pointer;
}
.locator-app-filter-result-list .locator-app-filter-result-item:last-of-type {
	border-bottom:0px;
}

.locator-app-filter-result-item:hover {
	background-color:slategrey;
	color:white;
}

.locator-app-filter-result-list h2 {
	font-size:0.9rem;
	line-height:1rem;
	/* padding:5px 8px; */
	border-bottom:1px solid #333;
	max-width:100%;	
	margin: 10px 8px 5px 8px;
	text-transform: none;
}



.locator-app-preview-content article {
	padding:0;
}

.locator-app-preview-content article > section {
	padding:10px !important;
}
.locator-app-preview-content article > section:first-of-type {
	padding:0 !important;
}

.locator-app-preview-content .col p {
	font-size:1rem;
	line-height:1.2rem;
	color:var(--default-contrast-foreground);
}

.locator-app-preview-content h1 {
	font-size: 1.2rem;
	line-height: 1.1;
}

.locator-app-preview-content .col > * + * {
	margin-top: 15px;
}




.center-labels {
	/* margin:0 0 10px 0; */
	position:absolute;
	top:20px;
	right:20px;
}
.center-labels span {
	display: inline-block;
	font-size: 0.775rem;
	border: 1px solid #ddd;
	border-radius: 20px;
	padding: 1px 10px 0px 10px;
	margin-right: 5px;
	margin-bottom: 5px;
	background-color: #f9f9f9;
}

.center-labels img {
	width: 60px;
	height: 60px;
}


.locator-divesite-rating-preview {
	/* position:absolute;
	top:20px;
	right:15px; */
	color: #ddd;
	font-size: 0.65rem;
	float: right;
	margin-top: -4px;
	margin-left: 10px;
}
.locator-divesite-rating-preview .star-active {
	color:var(--color-ssi-red);
}

.locator-preview-stats {
	width:100%;
	border-collapse: collapse;
}

.locator-preview-stats td {
	padding: 0px 0;
	font-size: 0.9rem;
	line-height: 1.2rem;
}


.locator-app-result-generic {
	gap: 20px;
	isolation: isolate;
	display:flex;
	/* padding: .75em calc(var(--side-safe-area) / 2); */
}

.locator-app-result-generic .generic-left {
	width: 60px;
	flex-shrink: 0;
	position:relative;
}

.locator-app-result-generic .generic-right {
	flex-grow: 1;
}

.locator-app-result-generic .generic-left img {	
	width:90%;
	margin:5%;
	position:relative;
	z-index:1;
}

.locator-app-result-divesite {
	display:block;
}



/* .locator-app-result-generic .generic-left::before {
	position:absolute;
	top:0;
	left:0;
	width:60px;
	height:60px;
	background-color:white;
	content:'';
} */



/* .locator-app-result-job .job-right {
	
} */

/* .locator-app-result-job img {

} */

.locator-app-result-generic h2 {
	font-size: 1rem;
	line-height: 1.1;
	margin-bottom: 0.1em;
	position: relative;
	padding-right: 40px;
}

.locator-app-result-generic h3 {
	font-size: 1rem;
	line-height: 1.1;
}

.locator-app-result-generic p {
	font-size: 0.9rem;
	line-height: 1.3;	
	margin-top: 3px;
}
.locator-app-result-generic p.no-break {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.locator-app-result-generic p i {
	margin-right: 5px;
	width: 11px;
	color: #000;
}

.locator-app-result-generic p a {
	color: hsl(200, 20%, 50%);
}

img.locator-indicator-pro {
	width: 30px;
	height: auto;
	/* margin-left: 10px; */
	/* margin-top: -7px; */
	position: absolute;
	right: 0;
	top: -8px;
}

.locator-app-preview-divesite {
	display:flex;
	gap:1.5rem;
	width:100%;
	padding: 1rem calc(var(--side-safe-area) / 2);
}
.locator-app-preview-divesite .generic-left {
	width:35%;
	flex-shrink: 0;
	flex-grow: 0;
}
.locator-app-preview-divesite .generic-right {
	width:65%;
}

.locator-app-preview-divesite .generic-left img {
	aspect-ratio: 16/9;
	object-fit: cover;
	border-radius: var(--border-radius);
	overflow:hidden;
}

.locator-app-preview-divesite h2 {
	line-height: 1.15;
	font-size: 1rem;
	white-space:unset;
	padding-top:0.2em;
}

.locator-app-preview-divesite .spec-table {
	display: flex;
	float:right;
	margin-left: 15px;
	background-color: hsl(270 20% 40% / .12);
	border-radius: 45px;
}
.locator-app-preview-divesite .spec-table .spec-item {
	width: 70px;
	text-align: center;
	font-size: 1rem;
	color: var(--default-contrast-foreground);
	border-left: 1px solid var(--default-separator-color);;
	font-weight: 600;
	padding: 0.2rem 0 0rem;
}
.locator-app-preview-divesite .spec-table .spec-item:first-of-type {
	border:0;
}
.locator-app-preview-divesite .spec-table .spec-item span,
.locator-app-preview-divesite .spec-table .spec-item i {
	font-size:0.6em;
	color: #777;	
}


/* .locator-app-preview-divesite .spec-table .spec-item i {	
	font-size: 0.7em;
	margin-right: 0.3em;
	color: #aaa;
} */


.divesite-list-header {
	position: sticky;
	z-index: 10;
	background-color: var(--default-contrast-background);
	top: 0;
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	border-bottom: 1px solid var(--default-separator-color);
}

.divesite-list-header:after {
	content: '';
	clear: both;
	display: block;
}

.divesite-list-header-inner {
	display: flex;
	padding: 8px var(--side-safe-area) 6px var(--side-safe-area);
	color: var(--default-foreground);
	font-size: 1.1rem;
	line-height: 2;
	float: right;
}

.divesite-list-header-item {
	width: 70px;
	text-align: center;
	border-left: 1px solid var(--default-separator-color);
	cursor:pointer;
	position:relative;
}

.divesite-list-header-item-c {
	line-height: 1.3;
}

.divesite-list-header-item-c span {
	font-size: 0.7rem;
	display: block;
}

.divesite-list-header-inner > .divesite-list-header-item:first-of-type {
	width:195px;
}


.divesite-list-header-item.active-asc,
.divesite-list-header-item.active-desc {
	color:var(--color-ssi-red);
}

.divesite-list-header-item.active-asc::after,
.divesite-list-header-item.active-desc::after {
	position: absolute;	
	font-family: 'Line Awesome Free';
	font-weight: 900;
	font-size: 0.7rem;
	transform: translateX(14px);
	top: 0px;
}

.divesite-list-header-item.active-asc::after {
	content: '\f106';
}

.divesite-list-header-item.active-desc::after {
	content: '\f107';
}

.divesite-list-header > .divesite-list-header-item:first-of-type {
	border:0;
}


/* loader */
.is-searching .locator-app-loader {
	opacity: 1;
}
/* .is-searching .locator-app-result-count {
	opacity:0;
} */

.label-style {
    background-color:#ff9900;
    padding:0.25em 0.5em;	
    border-radius: 10px
}

.custom-map-control-button {
	background-color: #fff;
	border: 0;
	border-radius: 2px;
	box-shadow: 0 1px 4px -1px rgba(0, 0, 0, 0.3);
	margin: 10px;
	padding: 0 0.75em;
	font: 400 18px Roboto, Arial, sans-serif;
	overflow: hidden;
	height: 40px;
	cursor: pointer;
}
.custom-map-control-button:hover {
	background: rgb(235, 235, 235);
}

.locator-grid-container {
	display:flex;
	flex-wrap: wrap;
	gap:15px;
}

.locator-grid-card {
	display:block;
	width: calc(33% - 8px);
	border: 1px solid #e0e0e0;
	border-radius: var(--border-radius);
	transition: transform 400ms, box-shadow 400ms;
}
.locator-grid-card:hover,
.locator-grid-card.active {
	border-color: var(--color-ssi-red);
	color: var(--color-ssi-red);
	transform: scale(1.05);
	box-shadow: 0 0 5px 3px rgba(0,0,0,0.3);
}

.locator-grid-card h2 {
	font-size: 0.8rem;
	line-height: 1.1;
	padding: 0.5em 0.5em 0.2em 0.75em;
}

.locator-grid-card img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.locator-grid-card-fit-contain h2 {
	border-top:1px solid #e0e0e0;
	/* background-color: #e0e0e0; */
}

.locator-grid-card-fit-contain img {
	object-fit: contain;
	padding: 0.75em;
}


/* FIX FOR SMALL CONTENT */
.locator-small-content .locator-app-preview-divesite .generic-left {
	width:90px;
}

.locator-small-content .locator-app-preview-divesite .generic-left .image-copyright {
	position:initial;
	text-align: left;
	margin-top:5px;
	box-shadow: none;
	text-shadow: none;
	color:#999;
	max-width: unset;
	font-size: 0.7rem;
	line-height:1;
}

.locator-small-content .locator-app-preview-divesite .generic-right {
	width: calc(100% - 90px);
}

.locator-small-content .locator-app-results.active .locator-app-result {
	 display:none; 
}
.locator-small-content .locator-app-results.active.map-overlay .locator-app-result {
	display: block;
}

.locator-small-content .locator-app-preview-divesite .generic-right {
	display:flex;
	flex-wrap: wrap;
}

.locator-small-content .locator-app-preview-divesite .generic-right > * {
	width: 100%;
}

.locator-small-content .locator-app-preview-divesite .generic-right h2 {
	order:1;
	border-bottom: 1px solid #333;
}
.locator-small-content .locator-app-preview-divesite .generic-right .spec-table {
	order:2;
	float:none;
	margin-left: auto;
	margin-right: 10px;
	margin-top:15px;
	margin-bottom:15px;
	width: 210px;
	background-color: transparent;
}

.locator-small-content .locator-app-preview-divesite .generic-right .spec-table .spec-item {
	border-color: #eee;
}

.locator-small-content .locator-app-preview-divesite .generic-right .locator-app-result-card-description {
	order:3;
	margin-top:0;
}

.locator-small-content .divesite-list-header {
	padding: 0em calc(var(--side-safe-area) / 2);
}

.locator-small-content .locator-app-result-card-description p {
	font-size: 0.8rem;
	line-height: 1rem;
}

.locator-small-content .locator-app-preview-divesite {
	padding: 0.3rem calc(var(--side-safe-area) / 2);
}

.locator-app .heatmap-slider {
	top:60px;
	position: absolute;
	width: 310px;
	z-index: 10;
	left: calc(50% + 200px);
	transform: translatex(-50%);
	background-color:#fffffff9;
	border-radius: 99px;
	border:1px solid #00000044;
	display: flex;
	height:40px;
	justify-items: center;
	gap:0px;
}
.locator-app .heatmap-month-display {
	width:80px;
	font-size:.95em;
	flex-grow: 0;
	flex-shrink: 0;
	text-align: center;
	color:#666;
	line-height:40px;
	font-weight: 600;

}
.locator-app .heatmap-month-slider {
	width:170px;
	flex-grow: 0;
	flex-shrink: 0;
}

.locator-app input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	cursor: pointer;
}

.locator-app input[type="range"]::-webkit-slider-runnable-track {
	background: #e0e0e0;
	height: 0.25rem;
	border-radius: 99px;
} 
.locator-app input[type="range"]::-moz-range-track {
	background: #e0e0e0;
	height: 0.25rem;
	border-radius: 99px;
}

.locator-app input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none; /* Override default look */
	appearance: none;
	margin-top: -0.55em; /* Centers thumb on the track */
	background-color: var(--color-ssi-red);
	height: 1rem;
	width: 1rem;
	border-radius: 99px;    
 }
 .locator-app input[type="range"]::-moz-range-thumb {
    border: none; /*Removes extra border that FF applies*/
    border-radius: 0; /*Removes default border-radius that FF applies*/
    background-color: var(--color-ssi-red);
    height: 1rem;
    width: 1rem;
	border-radius: 99px;
}


.locator-app .heatmap-month-play {
	width:50px;
	flex-grow: 0;
	flex-shrink: 0;
	line-height:40px;
	text-align: center;
	cursor:pointer;
}



@media (max-width: 768px) {

	:root {
		--app-offset: 280px;
	}

	.global-modal {
		--app-offset: 230px;
	}

	.locator-app-map .gm-bundled-control-on-bottom {
		bottom:145px !important;
	}

	.has-filter {
		--locator-app-filter:50px;
		--map-height:calc(100% - 50px);
	}

	.locator-app-highlight-filters {
		display:none;
	}

	.locator-app-filter {
		top:0;
		left:0;
		width:100%;
		z-index:99;		
	}

	.locator-app-filter-overlay {
		z-index:150;
		background-color: rgba(0,0,0,0.8);
	}

	.locator-app-filter-overlay-inner {
		z-index:155;
		top: var(--default-double-padding);
		height: calc(100% - calc(2 * var(--default-double-padding)));
		max-width: calc(100vw - var(--default-double-padding));
	}

	.locator-app-filter-header {
		height:55px;
		font-size:1rem;
		line-height:1.4;
	}

	.locator-app-filter-content {
		height:calc(100% - 55px);
		top:55px;
	}

	.locator-app-filter-group h2 {
		font-size: 1rem;
	}

	.locator-app-single-filter {
		column-count: 1;
	}

	.locator-app-single-filter label {
		font-size: 0.875rem;
		width:100%;
	}

	.locator-app-single-filter label > input {
		width: 9px;
		margin-top: 6px;
	}

	.locator-app-single-filter label > span {
		margin-left: 5px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}


	.locator-app-map {
		width:100% !important;
		height:var(--map-height);
		top:var(--locator-app-filter);
		left:0 !important;
	}

	.locator-app-results {
		z-index:140;
		left:0 !important;
		top:calc(var(--map-height) + var(--locator-app-filter));
		height:100%;
		width:100%;
		transition:all 350ms ease-in-out;
		overflow:unset;
	}
	.locastor-app-results-inner {
		height: calc(100% - 200px);
	}

	.locator-app-result {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		/* -webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-moz-backface-visibility: hidden;
		-webkit-transform: translate3d(0, 0, 0);
		-moz-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0); */
	}

	.locator-small-content .locator-app-results {
		width:100%;
	}

	.locator-app-preview {
		left:0;
		opacity:0;
		transition: all 350ms ease-in-out;
		pointer-events: none;
	}

	.locator-app-results.active {
		top:0 !important;
		height:100% !important;
	}

	.locator-app-results.active .locator-app-results-inner {
		left:0;
	}

	.locator-app-results.active .locator-app-preview {
		opacity:1;		
		pointer-events: all;
	}

	.locator-app-loader {
		right:100px;		
	}

	input.locator-app-text-input {
		width:80px;
	}

	.locator-grid-card {
		width: calc(50% - 8px);
	}

	.locator-app-result-count {
		/* font-size: 0.75rem;
		line-height: 1;
		text-align: right;
		padding-top: 5px; */
		font-size: 0.9rem;
		line-height: 1;
		text-align: center;
		padding: 22px 10px 14px 10px;
		position: absolute;
		top: -50px;
		left: 0;
		right: 0;
		background-color: #fff;
		border-radius: 10px 10px 0 0;
		border-bottom: 1px solid #ccc;
		z-index: 11;
		box-shadow: 0 -5px 4px 0 rgba(0,0,0,0.13);
		color:#333;
	}
	.locator-app-result-count::before {
		content: '\f106';
		font-family: 'Line Awesome Free';
		font-weight: 900;
		color: var(--color-ssi-red);
		background-color: white;
		position: absolute;
		top: 11px;
		width: 36px;
		height: 36px;
		transform: translateX(-50%) translateY(-50%);
		border-radius: 99px;
		/* border: 1px solid #ff9900; */
		line-height: 31px;
		font-size: 1rem;
		z-index:-1;
	}

	/* .locator-app-result-count::after {
		content:'';		
		position:absolute;
		left:50%;
		top: 11px;
		width: 40px;
		height: 3px;
		transform:translateX(-50%);
		border-radius:10px;
		background-color:#ccc; 
	} */

	.result-indicator-overlay {
		position: absolute;
		width: 100%;
		height: calc(var(--app-height) - 220px);
		background-color: transparent;
		bottom: 50px;
		left: 0;
	}

	.locator-app-results.result-list-view-active {
		top:180px;
		height:calc(var(--app-height) - var(--app-offset));	
	}

	.locator-app-results.result-list-view-active .locator-app-result-count::before {
		content: '\f107';
	}

	.locator-app-results.result-list-view-active .result-indicator-overlay {
		display:block;
		
	}

	.locator-app-preview-divesite .generic-left {
		width:90px;
	}

	.locator-app-preview-divesite .generic-left .image-copyright {
		position:initial;
		text-align: left;
		margin-top:5px;
		box-shadow: none;
		text-shadow: none;
		color:#999;
		max-width: unset;
		font-size: 0.7rem;
		line-height:1;
	}

	.locator-app-preview-divesite .generic-right {
		width: calc(100% - 90px);
	}

	.locator-app-results.active .locator-app-result {
		display:none;
	}

	.locator-app-preview-divesite .generic-right {
		display:flex;
		flex-wrap: wrap;
	}

	.locator-app-preview-divesite .generic-right > * {
		width: 100%;
	}

	.locator-app-preview-divesite .generic-right h2 {
		order:1;
		border-bottom: 1px solid #333;
	}
	.locator-app-preview-divesite .generic-right .spec-table {
		order:2;
		float:none;
		margin-left: auto;
		margin-right: 10px;
		margin-top:15px;
		margin-bottom:15px;
		width: 210px;
		background-color: transparent;
	}

	.locator-app-preview-divesite .generic-right .spec-table .spec-item {
		border-color: #eee;
	}

	.locator-app-preview-divesite .generic-right .locator-app-result-card-description {
		order:3;
		margin-top:0;
	}

	.divesite-list-header {
		padding: 0em calc(var(--side-safe-area) / 2);
	}

	.locator-app-result-card-description p {
		font-size: 0.8rem;
		line-height: 1rem;
	}

	.locator-app-preview-divesite {
		padding: 0.3rem calc(var(--side-safe-area) / 2);
	}

	.widget-affiliations-locator-integration {
		display:none;
	}

	
}

