/* Basic Reset */
body * {
    margin: 0;
    padding: 0;
    font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
}

/* Body & General Styling */
body {
    background-color: #f4f4f4;
    color: #333;
    line-height: 1.6;
    padding: 0;
    margin: 0;
	direction: ltr;
}

.main-content {
    width: 100%;
}

/* Footer */
footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 15px;
    bottom: 0;
	z-index: 1;
}

header {
	box-shadow: unset;
}

.provinces {
	margin: 10px 0px 10px 0px;
	/* border-bottom: 2px solid #bdbdbd; */
	position: relative;
	/* z-index: 0; */
	padding: 10px 20px 10px 20px;
	margin-top: 1px;
	max-width: calc(100dvw - 25px);
	white-space: nowrap;
	scrollbar-width: none;
	overflow-y: hidden;
	overflow-x: auto;
	user-select: none;
	text-align: center;
	box-shadow: 0px 4px 3px -1px #cbcbcb;
	border-radius: 4px;
}

@media (hover: hover) {
	.provinces {
		scrollbar-width: thin;
	}
}

.province {
	display: inline-block;
	font-weight: 500;
	font-size: 1.1rem;	
	cursor: pointer;
	position: relative;
}

a {
	text-decoration: none;
	color: black;
}

.provinces a {
	margin-right: 25px;
}

.provinces a:last-child {
	margin-left: 0px;
}

.province.active {
	font-size: 1.17rem;		
}

.province.active::before {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	position: absolute;
	background: #00aeca;
	margin-top: 31px;
	border-radius: 4px;
	box-shadow: 0px 0px 2px 1px #00aeca;
}

div.selection {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
	padding: 0px 10px;
}

div.selection select {
	display: inline-block;
	padding: 9px;
	border-radius: .5em;
	width: 48%;
	color: black;
	box-shadow: 0 1px 10px rgb(0 0 0 / 12%);
	cursor: pointer;
	background: #ffffff;
	border: 2px solid #7f7f7f;
	font-size: 1.05rem;
	text-align: center;
}

div.selection span {
	display: inline-block;
	width: 48%;
	color: black;
	font-size: 1.1rem;
	text-align: center;
}

span img.emoji {
	position: relative;
	width: 40px;
	height: 40px;
	top: -7px;
	margin-bottom: -19px;
}

span img.emojishop {
	position: relative;
	width: 36px;
	height: 37px;
	top: -6px;
	margin-bottom: -16px;
}

.placesList {
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	padding: 0px 20px;
}

.placeItem {
	margin-top: 20px;
	padding: 10px 10px 0px 10px;
	border-radius: 15px;
	box-shadow: 0px 0px 4px 2px #bebebe;
	background: #fcfcfc;
	position: relative;
}

.placeItem img.placeIMG {
	height: 120px;
	width: 120px;
	position: absolute;
	border-radius: 4px;
	object-fit: cover;
}

body.forcedark .placeItem div.desc {
	color: #fcfcfc;
}

.placeItem div.desc {
	color: black;
	margin-top: 15px;
	margin-left: 133px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.desc h2 {
	font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.placeItem div.descHolder {
	height: 122px;
	overflow: hidden;
}

.placeItem div.extra, .searchItem div.extra {
	display: inline-block;
	/*border: 2px solid #00c2c1;*/
	background: #fbfbfb;
	width: fit-content;
	padding: 5px 10px 5px 6px;
	border-radius: 5px;
	text-align: center;
	font-size: 1.1rem;
	margin-bottom: 5px;
	transition: background-color 0.2s linear;
	cursor: pointer;
	user-select: none;
}

.extraItems {
	margin-top: 10px;
	text-align: left;
	color: black;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: clip;
}

@media (hover: none) {
	.extraItems {
		overflow: auto;
	}
}

@media (min-width: 740px) {
	.extraItems {
		text-align: right;
	}
}

.placeItem div.extra img, .searchItem div.extra img {
	width: 28px;
	margin-bottom: -10px;
	margin-right: -3px;
	margin-left: -4px;
}

div.extra:hover, div.extra:active, div.extra:focus, div.extra:visited {
	background-color: #e8e8e8;
}

main {
	margin-bottom: 20px;
	min-height: calc(100.0dvh - 315px);
}

.pagination {
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	position: relative;
	height: 45px;
	margin-top: 25px;
	padding: 0px 20px;
}

.pagination a {
	position: absolute;
	padding: 8px;
	border-radius: 4px;
	box-shadow: 0px 0px 4px 2px #83a4a4;
	background: white;
	transition: background 0.2s linear;
}

.pagination a:hover, .pagination a:active, .pagination a:focus {
	background: #e8e8e8;
}

.pagination a.next {
	right: 20px;
}

.pagination a.prev img {
	transform: rotate(180deg);
}

.nextpage img {
	height: 30px;
	margin-bottom: -14px;
	top: -2px;
	position: relative;
}


body.forcedark {
	scrollbar-color: #888 #121212;
}

body.forcedark::-webkit-scrollbar-track {
	background: white;
}

body.forcedark a {
	color: #fcfcfc;
}
	
body.forcedark .provinces {
	background: #393939;
	margin-top: 0px;
	box-shadow: none;
}
	
body.forcedark div.selection span {
	color: #fcfcfc;
}
	
body.forcedark {
	background: #26272b;
}
	
body.forcedark .placeItem {
	background: #1a1a1b; /*linear-gradient(129deg, #001421, #300323);*/
	box-shadow: none;
	padding-bottom: 10px;
}
	
body.forcedark .placeItem div.extra, .searchItem div.extra {
	color: black;
	background: #e8e8e8;
}

body.forcedark .pagination a {
	color: black;
}

body.forcedark div.selection select {
	background: #15161a;
	color: #e9e9e9;
}
	
input {
	background: #e6e6e6;
	color: black;
}
	
body.forcedark .placeItem {
	margin-bottom: 4px;
}

@media (hover: none) {	
	body.forcedark .placesList {
		padding: 0px 10px;
	}
}

.placeIMG.noimg {
	background-color: gray;		
}

 .placeItem img.placeIMG.noimg {
	width: 110px;
	height: 110px;
	padding: 5px;
}

.PLRate {
	position: absolute;
    top: 1px;
    right: 6px;
    z-index: 1;
    background: inherit;
    direction: ltr;
    padding: 4px 4px 0px 4px;
    border-radius: 6px;
}

.PLRate img {
	width: 25px;
	margin-bottom: -8px;
    margin-right: -3px;
}

body.forcedark .PLRate {
	color: white;
}

.descemo {
	margin-bottom: -9px;
}

.descitem {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	height: 30px;
}

.descphone {
	position: relative;
    width: 24px;
    margin-bottom: 0px;
    top: 8px;
    margin-right: 0px;
	/*transform: rotate(260deg);*/
}

.descitem.left {
	float: right;
	direction: ltr;
	font-size: 1.05rem;
}

.descworld {
	position: relative;
    width: 24px;
    margin-bottom: 0px;
    top: 8px;
    left: 3px;
    margin-left: 7px;
}

.PLStars {
	display: inline-block;
    overflow: hidden;
    white-space: nowrap;
	margin-bottom: -9px;
}

.selectionSelector {
	position: fixed; 
	align-items: end;
	top: 0px;
	left: 0px;
	width: 100.0dvw;
	height: 100.0dvh;
	background-color: rgba(0, 0, 0, 0.6);
	z-index: 2;
	display: none;
	opacity: 0;		
	transition: opacity 0.2s linear;
}

.SSContainer {
	position: relative;
	bottom: 0px;
	height: min(65dvh, 500px);
	width: 100.0dvw;
	max-width: 50dvh;
	margin-left: auto;
	margin-right: auto;
	background: white;
	border-radius: 60px 60px 0px 0px;
}

.SSContainer input {
	margin-top: 20px;
	margin-left: 50px;
	width: calc(100% - 120px);
	border-radius: 8px;
	font-size: 1rem;
	color: black;
	background: none;
	border: 2px solid gray;
	padding: 4px 6px;
	height: 34px;
	transition: border 0.2s linear;
}

.SSContainer input:focus {
	outline: none;
}

.SSitems {
	--heightVal: calc(65dvh - 96px);
	margin: 10px 60px 20px 62px;
	/*height: calc(45dvh - 96px);*/
	height: min(var(--heightVal), 404px);
	overflow-y: auto;
	overflow-x: hidden;
	text-align: center;
}

.SSItem {
	color: black;
	font-size: 1.2rem;
	padding: 10px 10px 9px 10px;
	cursor: pointer;
	transition: background-color 0.2s linear, border-bottom 0.2s linear;
	display: none;
}

.SSItem.visible {
	display: block;
}

.SSItem:not(:last-child) {			
	border-bottom: 1px solid #f5f5f5;
}

.SSItem.gray {
	background-color: #f5f5f5;
}

body:not(.forcedark) .SSItem:hover {
	background-color: #c6c6c6;
}

@media (max-width: 500px) {
	.SSitems {
		margin: 10px 25px 20px 28px;
	}
}

body.forcedark .SSContainer {		
	background: #393939;
}

body.forcedark .SSContainer input {		
	background: #ffffff;
	color: black;
	border: 2px solid #ffffff;
}

body.forcedark .SSContainer .SSItem {
	color: white;
}

body.forcedark .SSItem.gray {
	background-color: #000000;
}

body.forcedark .SSItem:not(:last-child) {
	border-bottom: 2px solid #000000;
}

body.forcedark .SSItem:hover, body.forcedark .SSItem.child:hover {
	border-bottom: 2px solid lime;
}

.SSContainer input.invalid, body.forcedark .SSContainer input.invalid {
	border: 2px solid #cb0000;
}

.SSContainer input.valid, body.forcedark .SSContainer input.valid {
	border: 2px solid #00cba0;
}

.SSItem.child {
	background-color: inherit;
	width: calc(100% - 60px);
	margin-left: auto;
	margin-right: auto;
	font-size: 1.08rem;
	text-align: right;
	padding: 7px 10px;
}

body.forcedark .SSItem.child {
	border-bottom: 2px solid #484747;
}