#n2-svg-map{
	fill: var(--n2-background-secondary);
	/*pointer-events: none;*/
}
#n2-svg-map .n2-svg-map-municipality {
  fill: var(--n2-yellow);
  stroke: var(--n2-black);
	pointer-events: all;
	cursor: pointer;
}

#n2-svg-map.n2-svg-map-hover .n2-svg-map-municipality:not(.n2-svg-map-municipality-hover),
#n2-svg-map:hover .n2-svg-map-municipality:not(:hover){
	fill: var(--n2-yellow-dim2);
}
#static-municipality-map .search-result-km{
	position: absolute;
	top:0; left:0;
	margin: 0;
	transform: translate(-50%, 10px);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
	pointer-events: none;
	z-index: 100;
}
#static-municipality-map .search-result-km::before{
	content: "";
	position: absolute;
	top:0; left: 50%;
	width: 10px; height: 10px;
	transform: translate(-50%, -50%) rotate(45deg);
	background: var(--n2-yellow);
}

#static-municipalities{
	position: relative;
	display: grid;
	justify-content: flex-start;
	justify-items: flex-start;
}
#static-municipalities > *{
	position: relative;
	z-index: 2;
}
#static-municipality-map{
	position: absolute;
	top: 0; right: 0;
	width: 100%; height: 100%;
	text-align: right;
	z-index: 1;
}
#static-municipality-map #n2-svg-map{
	height: 100%;
}

#main-banner{
	display: flex;
	align-items: flex-end;
	justify-content: center;
  /* max-width: 1920px; */
  width: 100%;
	height: 200px;
  background-size: cover;
  background-position: bottom;
	/*margin: auto;*/
  margin-bottom: 0px;
}
#main-banner-title{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;

	font-size: 2rem;
	line-height: 1em;
	width: 100%;
	padding: 15px;
	color: white;
	font-weight: 700;
}
#main-banner-title-inner{
	text-shadow: 0px 0px 10px var(--n2-black);
}
#main-banner-title .search-result-km{
	display: none;
	flex-shrink: 0;
	margin: 0;
	transform: translateY(15px);
}
#main-banner-title .search-result-km img{
	height: 0.85em;
}
#main-banner-title .search-result-km-value{
	font-size: 0.5em;
}
#main-banner-title .search-result-km-value:before{
  font-size: 0.5em;
}

@media (min-width: 737px){
	#static-municipalities{
		justify-items: stretch;
	}

	#main-banner{
	  margin-top: 60px;
	}
	#main-banner-title{
		font-size: 3rem;
	}
}
@media (min-width: 1250px){
	#main-banner{
		height: 300px;
	}
}

#videos-page a.n2-override{
	text-decoration: underline !important;
}
.youtube-videos iframe{
	display: block;
	margin: auto;
	margin-bottom: 10px;
	max-width: 100%;
}

#simple-page-wrapper{
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

nav[aria-label="breadcrumb"]{
	background: var(--n2-background-tertiary);
}
.breadcrumb{
	border-radius: 0px;
	background: none;
	text-align: left;
}
.breadcrumb-item + .breadcrumb-item::before{
	color: var(--n2-text-color);
}

#footer .breadcrumb{
	margin-bottom: 0;
}
#footer .copyright li{
    border:0;
}

#footer #n2-info{
	margin-top: 40px;
}
#footer #n2-info p{
	margin: 0;
	font-size: 13px;
}

#product-buy-inner{
	white-space: pre;
  line-height: 1.2em;
}

/* TOS */
.page-tos b{
	color: var(--n2-text-color);
	font-weight: 600;
}

/* User Profile */
.user-profile{
	display: flex;
	margin-bottom: 20px;
}
.user-profile-image{
	position: relative;
	flex-shrink: 0;
	width: 250px;
	height: 250px;
	margin-right: 20px;
	/*border: 2px solid var(--n2-yellow);*/
	background-position: center;
	background-size: cover;
}
.user-profile.own .user-profile-image{
	cursor: pointer;
}
.user-profile.own .user-profile-image::after{
	content: "";
	position: absolute;
	top:0; left:0;
	width: 100%;
	height: 100%;
	background-image: url("/camera.png");
	background-color: rgba(0,0,0,0.5);
  background-position: center;
  background-repeat: no-repeat;
}
.user-profile-name{
	font-size: 30px;
}
.user-profile-button{
	width: 1em;
	height: 1em;
	border-radius: 100%;
	cursor: pointer;
	opacity: 0.7;
}
.user-profile-button:hover{
	opacity: 1;
}
.user-profile:not(.own) .user-profile-button{
	display: none;
}

/* Static Page */
.static-page img{
	width: 100%;
}
.static-page h2{
	color: var(--n2-yellow);
  margin: 0;
  font-size: 2.5rem;
  margin-bottom: 10px;
  font-weight: 600;
}
.static-page h2 + p{
	color: var(--n2-text-color);
  margin: 0;
  font-size: 1.3rem;
  margin-bottom: 10px;
}
.static-page h2 + p + p{
	color: var(--n2-text-dim);
}

/* News */
.news-post{
  display: flex;
  align-items: flex-start;
	flex-direction: column;
	margin-bottom: 20px;
	color: var(--n2-text-dim);
}
#news-post-list .news-post:hover{
	background: var(--n2-background-secondary);
}
.news-post h1{
	font-size: 1.5rem !important;
	line-height: 1em !important;
	font-weight: 600;
	margin: 0 !important;
  color: var(--n2-text-dim) !important;
}
.news-post h2{
	font-size: 2rem !important;
	line-height: 1.2em !important;
	margin: 0 !important;
	margin-bottom: 10px !important;
  color: var(--n2-text-color) !important;
}
.news-post p{
	line-height: 1.3em !important;
	margin: 0 !important;
	margin-bottom: 10px !important;
	text-align: justify;
  color: var(--n2-text-dim) !important;
}
.news-post a {
  text-decoration: underline !important;
}
.is-safari .news-post p{
	text-align: initial;
}
.news-post-title span{
	color: var(--n2-text-color) !important;
}
.news-post-title a:hover > h1,
.news-post-title a:hover > h2{
	text-decoration: underline;
}

#news-post-list .news-post h2{
	font-size: 1.25rem !important;
	line-height: 1em !important;
	margin: 0 !important;
	margin-bottom: 10px !important;
	margin-top: 10px !important;
  color: var(--n2-text-color) !important;
}

.news-post-body img{
	display: block;
	max-width: 100%;
	border-radius: var(--n2-input-border-radius);
}
.news-post-poster{
	flex-shrink: 0;
	position: relative;
	width: 100%;
	overflow: hidden;
}
.news-post-poster::before{
	content:"";
	display: block;
	padding-top: 50%;
}
.news-post-poster-image{
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background-position: center;
	background-size: cover;
}
.news-post-title{
	padding: 0px;
}

#news-post h1{
	font-size: 25px !important;
  color: var(--n2-text-color) !important;
	margin-bottom: 5px !important;
}
#news-post h2{
  font-size: 16px !important;
  color: var(--n2-text-dim) !important;
  font-weight: 600;
}

.news-form-button{
	background: var(--n2-yellow);
	cursor: pointer;
}

@media (min-width: 1000px){
	#news-post-list{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 10px;
	}
}

@media (min-width: 737px){
	.news-post{
		margin: 0;
	}

	.news-post-title span{
		font-size: 0.85rem !important;
		line-height: 1em !important;
		margin: 0 !important;
	}
	.news-post h1{
		font-size: 1.5rem !important;
		line-height: 1.2em !important;
		margin: 0 !important;
	}
	.news-post h2{
		font-size: 2rem !important;
		line-height: 1.2em !important;
		margin: 0 !important;
		margin-bottom: 10px !important;
	  color: var(--n2-text-color) !important;
	}
	.news-post p{
		line-height: 1.3em !important;
		margin: 0 !important;
		margin-bottom: 10px !important;
	}
	#news-post h1{
		font-size: 25px !important;
	  color: var(--n2-text-color) !important;
	}

	#news-post-list .news-post h2{
		font-size: 1.25rem !important;
		line-height: 1em !important;
		margin: 0 !important;
		margin-bottom: 10px !important;
		margin-top: 10px !important;
	  color: var(--n2-text-color) !important;
	}
}

@media (min-width: 500px){
	.news-post{
		flex-direction: row;
	}
	.news-post-title{
		padding: 0px 15px;
	}
	.news-post-poster{
		width: 200px;
	}
	.news-post-poster::before{
		padding-top: 100%;
	}
}

.news-post .news-post-poster-image{
	transform: scale(1);
	transition: transform 100ms ease-in-out;
}
.news-post:hover .news-post-poster-image{
	transform: scale(1.1);
}

.image-input-label{
	margin: 0;
}
.image-input{
	width: 100%;
	background: var(--n2-input-background);
	border: var(--n2-input-border);
	border-radius: var(--n2-input-border-radius);
	background-size: cover;
	background-position: center bottom;
  background-clip: content-box;
	cursor: pointer;
}
.image-input::before{
	content:"";
	display: block;
	padding-top: 20.833333333%;
}
.image-input-label.image-input-square{
	display: inline-block;
}
.image-input-label.image-input-square .image-input{
	width: 200px;
}
.image-input-label.image-input-square .image-input::before{
	padding-top: 100%;
}
#news-post-form-body{

}
#news-post-form-body > .form-group,
#news-post-form-body-container > .form-group{
	display: flex;
}
#news-post-form-body-container > .form-group .fas.fa-grip-vertical{
	display: flex;
	align-items: center;
	padding-right: 10px;
	cursor: grab;
	transition: padding 100ms ease-in-out;
}
#news-post-form-body-container > .form-group:not(.ui-sortable-helper) .fas.fa-grip-vertical:hover{
	background: var(--n2-background-secondary);
	padding-left: 10px;
}
#news-post-form-body .news-post-form-body-image-label > label{
	display: inline-block;
	cursor: pointer;
	margin-bottom: 0;
}
#news-post-form-body .news-post-form-body-image{
	width: 200px;
	height: 200px;
	background: var(--n2-input-background);
	border: var(--n2-input-border);
	border-radius: var(--n2-input-border-radius);
	background-size: cover;
	background-position: center;
}
#news-post-form-body .n2-option{
	cursor: pointer;
}

/* Translate */
.n2-translate-button{
	color: var(--n2-text-color) !important;
	text-decoration: underline !important;
}
.n2-translate-button:hover{
	color: var(--n2-text-color) !important;
	text-decoration: none !important;
}

/* Menu */
#header #menu-login-button{
	display: flex;
	align-items: center;
	height: 30px;
	line-height: 1em !important;
	padding: 0px 15px;
	background: var(--n2-black);
	color: white !important;
	border-radius: var(--n2-input-border-radius);
	font-weight: 400 !important;
}
#header #menu-login-button:hover{
	color: white !important;
}
.menu-ball{
	width: 30px;
	height: 30px;
	padding: 0 !important;
	border: 2px solid var(--n2-black);
	/*border-radius: 100%;*/
	background-position: center;
	background-size: cover;
	cursor: pointer;
}
.menu-lang-item {
  display: flex !important;
	align-items: center;
  padding: 5px 10px !important;
	transition: none !important;
}
.menu-lang-item:hover .menu-ball{
	border: 2px solid var(--n2-yellow);
}
.menu-lang-item .menu-ball{
	width: 24px;
	height: 24px;
	margin-right: 5px;
	border: 2px solid var(--n2-text-color);
}
.menu-lang-item .menu-ball + div span{
	line-height: 1em;
	padding: 0;
}
.menu-lang-item .menu-ball + div svg{
	width: 50px;
	height: 16px;
}

@media (min-width: 1250px){
	.menu-lang-item .menu-ball + div svg{
		width: 38px;
		height: 12px;
	}
}

#header #menu-user-face{
	width: 40px;
	height: 40px;
	background-image: url('/assets/profile-placeholder.png');
	background-color: var(--n2-black);
}
#theme-button{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 60px;
	background: var(--n2-black);
	overflow: hidden;
}
#theme-button::before {
  content: "";
  position: absolute;
  top: 0px; left: 0px;
  display: block;
  width: 28px; height: 26px;
  background: white;
  z-index: 1;
	transition: left 100ms ease-in-out;
}
:root.theme_dark #theme-button::before{
	left: 28px;
}
#theme-button::after {
  content: "";
  position: absolute;
  top: -2px; left: -2px;
  display: block;
  width: 60px; height: 30px;
  z-index: 2;
  box-shadow: inset 0px 0px 2px rgba(0,0,0,0.5);
}
#theme-button svg {
  height: 100%;
  display: inline-block;
  z-index: 2;
	transition: fill 100ms ease-in-out !important;
}
:root.theme_dark #theme-button svg:first-child,
:root:not(.theme_dark) #theme-button svg:last-child{
	fill: white;
}
:root.theme_dark #theme-button svg:last-child,
:root:not(.theme_dark) #theme-button svg:first-child{
	fill: var(--n2-black);
}

#theme-button svg:first-child{
  height: 95%;
  width: 50%;
}

/* N2 Category Svg */
.category-svg{
	width: 50px;
	stroke: white;
}
.category-svg input:checked + svg{
	stroke: var(--n2-yellow);
}

/* N2 Input Svg */
.input-svg{
	display: inline-block;
	cursor: pointer;
}

/* N2 Input Badge */
.input-badge{
	display: inline-flex;
	margin: 0;
	margin: 2px;
}
.input-badge input{
	display: none;
}
.input-badge .badge{
  padding: 5px 10px;
	border: 1px solid var(--n2-text-color);
  /*border-radius: 1000px;*/
	background: none;
	color: var(--n2-text-color);
	font-size: 13px;
  font-weight: 400;
  cursor: pointer;
	transition: color 100ms ease-in-out, background 100ms ease-in-out;
}
.input-badge input:checked + .badge{
	background: var(--n2-yellow);
	color: var(--n2-black);
	border-color: var(--n2-yellow);
}
.input-badge input:disabled + .badge{
	opacity: 0.5;
	pointer-events: none;
}

/* With Svg */
label.input-badge.with-svg {
  width: 90px;
  height: 90px;
}
.input-badge.with-svg .badge{
	width: 100%;
	padding: 0;
	font-size: 12px;
	padding: 0px 3px;
	overflow: hidden;
}
label.input-badge.with-svg input:checked + .badge{
	background: var(--n2-yellow);
	color: var(--n2-black);
	border-color: var(--n2-yellow);
}
.input-badge.with-svg .badge svg{
	display: block;
	width: 50px;
	height: 50px;
	padding-top: 8px;
	margin: auto;
	fill: none;
	stroke: var(--n2-text-color);
  stroke-width: 10px;
	transition: stroke 100ms ease-in-out;
}
.input-badge input:checked + .badge svg{
	stroke: var(--n2-black);
}
.input-badge.with-svg .badge svg + span {
  width: 100%;
  white-space: normal;
	overflow-wrap: break-word;
}

/* With Region */
label.input-badge.with-region{
	width: 80px;
	height: 80px;
}
.input-badge.with-region .badge svg{
	width: 50px;
	height: 50px;
	padding-top: 8px;
}


.region-svg{
	width: 100px;
	height: 100px;
}
.region-svg-municipality{
	fill: var(--n2-text-color);
}
.region-svg-country{
	/*fill: var(--n2-background-secondary);*/
	stroke-width: 5px;
  stroke: var(--n2-text-color);
}
.input-badge input:checked + .badge svg .region-svg-country {
  stroke: var(--n2-black);
}
.input-badge input:checked + .badge svg .region-svg-municipality {
  fill: var(--n2-black);
}

/* N2 Rating */
#rating-form{
  padding: 20px;
	border: var(--n2-input-border);
  border-radius: var(--n2-input-border-radius);
}
.n2-rating{
	display: inline-flex;
  margin-left: -2px;
}
.n2-rating-star{
	position: relative;
	display: inline-block;
	width: 27px; height: 27px;
}
.n2-rating:not([disabled]) .n2-rating-star{
	cursor: pointer;
}
.n2-rating-star::before,
.n2-rating-star::after{
	content: "\f005";
	position: absolute;
	top: 0; left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%; height: 100%;
	color: var(--n2-yellow);
	font-size: 23px;
	font-family: var(--fa);
	font-weight: 400;
}
.n2-rating-star::after{
	opacity: 0;
	font-weight: 900;
	font-size: 17px;
}

.n2-rating:not([hover])[click="1"] .n2-rating-star:nth-child(-n+1)::after{
	opacity: 1;
}
.n2-rating:not([hover])[click="2"] .n2-rating-star:nth-child(-n+2)::after{
	opacity: 1;
}
.n2-rating:not([hover])[click="3"] .n2-rating-star:nth-child(-n+3)::after{
	opacity: 1;
}
.n2-rating:not([hover])[click="4"] .n2-rating-star:nth-child(-n+4)::after{
	opacity: 1;
}
.n2-rating:not([hover])[click="5"] .n2-rating-star:nth-child(-n+5)::after{
	opacity: 1;
}

.n2-rating[hover="1"] .n2-rating-star:nth-child(-n+1)::after{
	opacity: 0.5;
}
.n2-rating[hover="2"] .n2-rating-star:nth-child(-n+2)::after{
	opacity: 0.5;
}
.n2-rating[hover="3"] .n2-rating-star:nth-child(-n+3)::after{
	opacity: 0.5;
}
.n2-rating[hover="4"] .n2-rating-star:nth-child(-n+4)::after{
	opacity: 0.5;
}
.n2-rating[hover="5"] .n2-rating-star:nth-child(-n+5)::after{
	opacity: 0.5;
}

.n2-rating.n2-rating-small .n2-rating-star{
  width: 21px;
  height: 21px;
}
.n2-rating-small .n2-rating-star::before{
	font-size: 17px;
}
.n2-rating-small .n2-rating-star::after{
	font-size: 14px;
}
.n2-rating-small:not([hover])[click="1"] .n2-rating-star:nth-child(n+2){
	display: none;
}
.n2-rating-small:not([hover])[click="2"] .n2-rating-star:nth-child(n+3){
	display: none;
}
.n2-rating-small:not([hover])[click="3"] .n2-rating-star:nth-child(n+4){
	display: none;
}
.n2-rating-small:not([hover])[click="4"] .n2-rating-star:nth-child(n+5){
	display: none;
}
.n2-rating-small:not([hover])[click="5"] .n2-rating-star:nth-child(n+6){
	display: none;
}

.entity-rating{
	border-bottom: var(--n2-input-border);
	margin-bottom: 40px;
}
.entity-rating-top{
	display: flex;
}
.entity-rating-user-name{
	line-height: 1em;
	margin-bottom: 5px;
}
.entity-rating-user-image{
  flex-shrink: 0;
	width: 50px;
	height: 50px;
	margin-right: 15px;
	border-radius: 100%;
	background-position: center;
	background-size: cover;
}
.entity-rating .n2-rating{
	margin-bottom: 10px;
}
.entity-rating p{
	margin-bottom: 20px;
  line-height: 1.4em;
}

.entity-rating-buttons{
	margin-left: auto;
	display: flex;
	flex-direction: column;
}
.entity-rating-buttons > *{
	width: 40px;
  height: 40px;
  line-height: 40px;
  margin-bottom: 10px;
  border-radius: 100%;
  text-align: center;
  background: var(--n2-text-color);
  color: var(--n2-background);
  cursor: pointer;
}
.entity-rating-buttons > *:hover{
	background: var(--n2-yellow);
	color: var(--n2-black);
}

@media (min-width: 737px){
	.entity-rating-value{
		 padding-right: 100px;
	}
}
/* N2 Options */
.title-options{
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}
.title-options :first-child{
	margin: 0;
}
.title-options-container{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	margin-left: auto;
}
.n2-option{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	margin-left: 5px;
	color: var(--n2-black);
	background: var(--n2-yellow);
	border-radius: var(--n2-input-border-radius);
}
.n2-option::before {
	margin-right: -1px;
}
a.n2-option:hover{
	color: var(--n2-black) !important;
}
.n2-option-text{
  width: auto;
  padding: 0px 10px;
  font-weight: 600;
}

/* Google Maps */
.google-maps-wrapper{
	height: 500px;
	margin-bottom: 20px;
}
.google-maps{
	height: 100%;
	border-radius: var(--n2-input-border-radius);
}
body input[type="search"].google-map-search{
	width: 50%;
	margin-top: 10px;
	background: var(--n2-input-background);
	color: var(--n2-text-color);
	border: var(--n2-input-border);
}
body input[type="search"].google-map-search:hover{
	border: var(--n2-input-border);
}

.google-directions{
	display: flex;
	align-items: center;
	height: 40px;
	padding: 0px 10px;
	margin-top: 10px;
	color: black;
	background: white;
	font-size: 14px;

	border-radius: 3px;
	color: #565656;
	cursor: pointer;
	transition: none;
}
.google-directions:hover{
	color: black !important;
	background: #ddd;
}
.google-directions::after{
	content: '';
	display: block;
	width: 22px;
	height: 22px;
	margin-left: 10px;
	background: url('/google-directions.png') no-repeat 1px 1px/20px;
}

/* Map */
.n2-map{
	height: 100%;
}
.n2-map-wrapper{
	position: relative;
	height: 500px;
}
.n2-map .n2-map-wrapper::before{
	content: "Usa ctrl + scroll para fazer zoom";
	position: absolute;
	top: 0; left: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 30px;
	opacity: 0;
	pointer-events: none;
	color: white;
	background: rgba(0,0,0,0.7);
	transition: opacity 50ms ease-in-out;
}
.n2-map.n2-map-ctrl .n2-map-wrapper::before{
	opacity: 1;
}
.n2-map-search{
	display: flex;
	margin-bottom: 10px;
}
.n2-map-input-wrapper{
	position: relative;
	width: 100%;
}
.n2-map-search input[type="text"].n2-input{
	border-right: 0;
	border-bottom-right-radius: 0;
	border-top-right-radius: 0;
}
.n2-map-search.show-results input[type="text"].n2-input{
	border-color: white;
	border-bottom-left-radius: 0px;
}
.n2-map-results{
	display: none;
	position: absolute;
	z-index: 2;
	background: var(--n2-background);
	border: 1px solid white;
	border-top: 0;
	top: 100%;
	left: 0;
}
.n2-map-search.show-results .n2-map-results{
	display: block;
	width: 100%;
}
.n2-map-result {
  line-height: 1.2em;
  padding: 10px;
  cursor: pointer;
}
.n2-map-result:not(:last-child){
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.n2-map-result:hover{
	background: rgba(255, 255, 255, 0.1);
}
.n2-map-results:empty::before {
  content: "Não há resultados";
  text-align: center;
  width: 100%;
  display: block;
  padding: 5px 10px;
  font-style: italic;
}
.n2-map-search button{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	width: 50px;
	background: white;
	border: 0;
	border-bottom-right-radius: 5px;
	border-top-right-radius: 5px;
}

.ol-viewport{
	border-radius: var(--n2-input-border-radius);
}
.ol-overlay-container{
  transform: translate(50%, 50%);
}
.n2-map-marker{
	width: 20px;
	height: 20px;
	border-radius: 100%;
	/*background: var(--n2-background);*/
}
.n2-map-marker::before {
  content: "\f3c5";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  color: var(--n2-yellow);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translate(-50%, 10px);
  font-size: 40px;
  height: 40px;
  line-height: 40px;
  filter: drop-shadow(0 0 5px rgba(0,0,0,0.4));
}

[image-popup],
[video-popup]{
	cursor: pointer;
}
[video-popup] video{
	pointer-events: none;
}
#image-modal > .modal-body,
#video-modal > .modal-body{
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
#image-modal img,
#video-modal video{
	max-width: 100%;
	max-height: 100%;
}

.entity-map{
	margin-bottom: 20px;
}

/* Slick */
.slick{
	padding: 0px 20px;
}
.slick-list + .slick-arrow {
  right: 5px;
  left: auto;
}
.slick-arrow {
  position: absolute;
  top: 50%;
  left: 5px;
  cursor: pointer;
}

/* Full Calendar */
#calendar{
	color: var(--n2-text-color);
}
#calendar table th{
	color: var(--n2-text-dim);
}
#calendar table tbody tr{
  border: solid 1px var(--border-color);
}

.fc table{
	margin: 0;
}
a.n2-cal-agenda-item{
	color: var(--n2-text-color);
	background: var(--n2-background-secondary);
	padding: 5px 10px;
	border:1px solid var(--n2-yellow);
	cursor: pointer;
}
a.n2-cal-agenda-item:hover{
	color: var(--n2-text-color) !important;
}
a.n2-cal-agenda-item .badge{
	margin-right: 2px;
  background: var(--n2-yellow);
  color: var( --n2-black);
}

body .fc-unthemed td.fc-today{
	background: var(--n2-background-secondary);
}

.n2-agenda-item-main{
	display: flex;
}
.n2-agenda-item-image-wrapper{
	margin-right: 10px;
}
.n2-agenda-item-image{
	width: 100px;
	height: 100px;
	border: 1px solid var(--n2-yellow);
	border-radius: var(--n2-input-border-radius);
	background-position: center;
	background-size: cover;
}
.n2-agenda-item-name{
	margin: 0;
}
.n2-agenda-item-time{
	font-size: 0.8em;
	opacity: 0.6;
}
.n2-agenda-item .badge{
	margin-right: 5px;
	background: var(--n2-yellow);
}

/* INPUTS */
.n2-label{
	margin-bottom: 5px;
}

input[type="text"].n2-input,
input[type="password"].n2-input,
input[type="email"].n2-input,
input[type="search"].n2-input{
	background: transparent;
	height: 40px;
	color: var(--n2-text-color);
	border: var(--n2-input-border);
	border-radius: var(--n2-input-border-radius);
	padding: 0px 10px;
	font-size: 16px;
}
textarea.n2-input{
	padding: 10px;
	color: var(--n2-text-color);
	border: var(--n2-input-border);
}
input[type="text"].n2-input,
input[type="password"].n2-input,
input[type="email"].n2-input,
input[type="search"].n2-input,
textarea.n2-input{
	font-family: Roboto;
	font-weight: 300;
	line-height: 1.3;
	background: var(--n2-input-background);
}
input[type="text"].n2-input:active,
input[type="password"].n2-input:active,
input[type="email"].n2-input:active,
input[type="search"].n2-input:active,
input[type="text"].n2-input:focus,
input[type="password"].n2-input:focus,
input[type="email"].n2-input:focus,
input[type="search"].n2-input:focus,
textarea.n2-input:active,
textarea.n2-input:focus{
	border-color: var(--n2-input-focus);
}

#login-agents{
	max-width: 400px;
	margin: auto;
}
#login-agents hr{
	margin-top: 20px;
	margin-bottom: 10px;
}
#login-agents .n2-button{
	background: var(--n2-yellow);
	border-color: var(--n2-yellow);
	color: var(--n2-black);
}

#form-login{
	max-width: 400px;
	margin: auto;
}
#form-login .n2-button{
	font-family: Roboto;
	font-weight: 300;
  background: var(--n2-background-secondary);
  color: var( --n2-text-color);
}
#form-login > :not(:last-child):not(:first-child){
	margin-top: 10px;
}
#form-login > :last-child{
	padding: 8px 16px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
#form-login .n2-check{
	margin-bottom: 0;
}

.n2-button.social-login-button{
	display: flex;
	align-items: center;
	padding: 8px 16px;
	line-height: 1em;
	cursor: pointer;
}
.n2-button.social-login-button svg{
}
.n2-button.social-login-button .social-icon{
	width: 25px;
	height: 25px;
	margin-right: 10px;
	text-align: center;
}
#form-login #n2-button{
	background: var(--n2-yellow);
	border-color: var(--n2-yellow);
	color: var(--n2-black);
}
#form-login #n2-button img{
	height: 25px;
}

#form-login #n2-button + hr{
	margin-top: 20px;
	margin-bottom: 10px;
}

#form-login #facebook-button{
	border-color: #4267b2;
	background: #4267b2;
	color: white;
}
#facebook-button:hover{
	color: white !important;
}
#facebook-button::before{
	content: "\f39e";
	font-family: var(--fa-brands);
	font-weight: 500;
	font-size: 1.5em;
	margin-right: 10px;
  line-height: 1em;
  width: 25px;
  text-align: center;
}
#google-button{
	background: #eee !important;
	color: var(--n2-black) !important;
	border-color: transparent !important;
}
#google-button:hover{
	color: var(--n2-black) !important;
	border-color: transparent !important;
}

/* Radio */
.n2-radio{
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	margin: 0;
}
.n2-radio > input{
	display: none;
}
.n2-radio > input + span{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border: 1px solid var(--n2-text-color);
	border-radius: 100%;
	margin-right: 5px;
	transition: border-color 100ms ease-in-out;
}
.n2-radio > input + span::before{
	content: "";
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	width: 0;
	height: 0px;
	background: var(--n2-text-color);
	border-radius: 100%;
	transition: all 100ms ease-in-out;
}
.n2-radio > input:checked + span{
	border-color: var(--n2-text-color);
}
.n2-radio > input:checked + span::before{
	width: 12px;
	height: 12px;
	background: var(--n2-text-color);
}

/* Buttons */
.n2-button{
	display: inline-block;
	background:none;
	border: 1px solid var(--n2-text-color);
	border-radius: var(--n2-input-border-radius);
	padding: 5px 15px;
	color: var(--n2-text-color);
	transition: none;
	cursor: pointer;
}
.n2-button:hover{
	background: var(--n2-yellow);
	color: var(--n2-black) !important;
	border: 1px solid var(--n2-yellow);
}
.n2-button-success{
	/*
	background: var(--n2-success);
	border-color: var(--n2-success);
	color: white;
	*/
	background: var(--n2-yellow);
	border-color: var(--n2-yellow);
	color: var(--n2-black);
}
.n2-button-danger{
	background: var(--n2-danger);
	border-color: var(--n2-danger);
	color: white;
}

/* SELECT 2 */
.n2-select{
	background-color: var(--n2-input-background) !important;
}
.n2-select option{
	background-color: var(--n2-input-background) !important;
	color: var(--n2-input-background) !important;
}
.select2{
	display: block;
	width: 100% !important;
}
body .select2-selection{
	border-radius: var(--n2-input-border-radius) !important;
}
body .select2-container--default,
body .select2-selection{
	background: var(--n2-input-background) !important;
	color: var(--n2-text-color);
}
body .select2-selection.select2-selection--single{
	height: 40px;
	display: flex;
	align-items: center;
}
body .select2-container--default .select2-selection--single .select2-selection__arrow{
	height: 40px;
}
body .select2-container--default .select2-selection--single .select2-selection__rendered{
	color: var(--n2-text-color);
}
body .select2 input{
	font-family: Roboto;
	font-weight: 300;
}
.select2-results{
	background-color: var(--n2-input-background) !important;
}
.select2-dropdown{
	/*margin-left: -1px;*/
	border-color: var(--n2-text-color);
	margin-top: -1px;
	overflow: hidden;
}
.select2-dropdown.select2-dropdown--above{
	margin-top: 1px;
}
body .select2-container--default.select2-container--focus .select2-selection--multiple{
	border-color: var(--n2-text-color) !important;
}
body .select2-container--default .select2-results__option[aria-selected="true"]{
	background: var(--n2-yellow);
	color: var(--n2-black);
}
body .select2-container--default .select2-results__option:hover,
body .select2-container--default .select2-results__option--highlighted[aria-selected]{
	background: var(--n2-select-hover-background);
	color: var(--n2-black);
}
body .select2-container--default .select2-selection--multiple .select2-selection__choice{
	background: var(--n2-select-badge-background);
	color: var(--n2-select-badge-color);
	border-color: var(--n2-select-badge-border);
}
body .select2-container--open .select2-selection{
	border-color: var(--n2-text-color);
}

body .select2-selection.select2-selection--multiple{
	display: flex !important;
}
body .select2-search.select2-search--inline .select2-search__field{
	margin: 6px 0px;
	color: var(--n2-text-color);
}
body .select2-container--default .select2-selection--multiple .select2-selection__choice{
	margin-top: 5px;
	margin-bottom: 5px;
}
body .select2-container--default .select2-selection--multiple{
	padding-left: 0.5em;
}
body .select2-container--default .select2-selection--multiple .select2-selection__clear{
	margin-top: 6px;
}
body .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body .select2-search.select2-search--inline{
	padding: 0;
}

body .select2-selection.select2-selection--single .select2-selection__rendered[title]{
	padding-left: 20px !important;
}
body .select2-selection.select2-selection--single .select2-selection__clear{
	position: absolute !important;
	left: 8px;
}
body .select2-search--dropdown{
	background: var(--n2-input-background);
}

body select:not([data-placeholder]) + .select2 .select2-selection.select2-selection--single .select2-selection__rendered[title]{
	padding-left: 8px !important;
}

/* DataTable */
/*
body .dataTables_wrapper .dataTables_filter input{
	background: none;
	color: white;
	border: var(--n2-input-border);
	border-radius: var(--n2-input-border-radius);
	padding: 2px 10px;
}
body .dataTables_wrapper .dataTables_filter input:focus{
	background: none;
	color: white;
	border: var(--n2-input-border);
}
*/
body .dataTables_length,
body .dataTables_filter{
	height: 60px;
	display: flex;
	align-items: center;
}

body .dataTables_length label{
	display: flex;
	margin:0;
}
body .dataTables_length .select2{
	/*margin: 0px 10px;*/
	margin: 0px;
	width: 200px !important;
}
body .dataTables_wrapper{
	margin-bottom: 40px;
}
body table.dataTable thead td{
	border-bottom: var(--n2-input-border);
}
body table.dataTable tbody td{
	border-bottom: var(--n2-light-border);
}
body table.dataTable.no-footer{
	border-bottom: var(--n2-input-border);
}
body .dataTables_wrapper .dataTables_info{
	color: var(--n2-text-color);
}

body .dataTables_wrapper .dataTables_paginate .paginate_button{
	color: var(--n2-text-color) !important;
	border-radius: 0px;
	border: none;
	padding: 0;
}
body .dataTables_wrapper .dataTables_paginate .paginate_button:hover{
	color: var(--n2-text-color) !important;
	background: none;
	border: none;
	border-bottom: 1px solid var(--n2-text-color);
}
body .dataTables_wrapper .dataTables_paginate .paginate_button.current{
	color: var(--n2-text-color) !important;
	background: none !important;
	border: none;
	border-bottom: 1px solid var(--n2-text-color);
}
body .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
	color: var(--n2-text-color) !important;
	background: none !important;
	border: none;
	border-bottom: 1px solid var(--n2-text-color);
}


/* N2 Check */
.n2-check{
	position: relative;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
}
.n2-check input{
	position: absolute;
	top: 0; left: 0;
	width: 1px; height: 1px;
	margin: 0;
}
.n2-check input + span{
	position: relative;
	display: inline-block;
  width: 16px; height: 16px;
	border: 1px solid var(--n2-text-color);
	margin-right: 5px;
}
.n2-check input + span::before{
	content:"";
	position: absolute;
	top:2px; left:2px;
	width: 10px;
	height: 10px;
	background: var(--n2-text-color);
	opacity: 0;
}
.n2-check input:checked + span::before{
	opacity: 1;
}

/* Smart Check */
.smart-check{
  display: inline-flex;
	align-items: center;
  margin: 0px;
}
.smart-check input {
    display: none;
}
.smart-check input:checked + span {
  background: var(--n2-check-background);
	box-shadow: inset 0 0 0px var(--n2-black);
}
.smart-check input + span {
	flex-shrink: 0;
  position: relative;
  display: inline-block;
  width: 45px;
  height: 25px;
  background: #666;
  border-radius: 1000px;
  margin-right: 5px;
  cursor: pointer;
  transition: background 100ms ease-in-out, box-shadow 100ms ease-in-out;
	box-shadow: inset 0 0 2px var(--n2-black);
}
.smart-check input:checked + span::before {
    transform: translateX(100%);
    margin-left: -6px;
}
.smart-check input + span::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-left: 1px;
  border: 3px solid transparent;
  background-clip: padding-box;
  box-sizing: border-box;
  border-radius: 100%;
  background-color: var(--n2-background);
  transition: all 100ms ease-in-out;
}
.smart-check input:disabled + span {
  opacity: 0.7;
	background: var(--n2-salmon);
	background-color: white;
	background: var(--n2-salmon);
}
.smart-check input:disabled + span::before{
}

.sm-label .smart-check{
  display: flex;
  align-items: center;
  height: var(--bs-input-height);
}
.sm-label .smart-check.smart-check-inline{
  display: inline-flex;
}

.smart-check.smart-check-text input:not(:checked) + span + span > :first-child,
.smart-check.smart-check-text input:checked + span + span > :last-child{
  display: none;
}

.cleanandsafe-check{
	margin: 5px 0px;
}
.cleanandsafe-check img{
  width: 100px;
  margin-right: 10px;
	cursor: pointer;
}

/* CARDS/MODALS */
html .card{
	border: none;
}
html .card-header{
	color: var(--n2-black);
	background: var(--n2-yellow);
}
html .card-body{
	color: var(--n2-text-color);
	background: var(--n2-background);
}
html .modal-content{
	background: none;
}
html .modal-footer{
	color: var(--n2-text-color);
	background: var(--n2-background);
	border-top: var(--n2-light-border);
}

.card.with-badge > .card-header,
.card.with-close > .card-header,
.card.with-back > .card-header{
  display:flex;
  align-items: center;
}
.card.with-close > .card-header > .close-button{
  color:var(--n2-black);
  margin-left:auto;
  cursor:pointer;
  flex-shrink: 0;
}

/* CLOSE BUTTON */
.close-button{
  font-size:30px;

  position:relative;
  display:inline-block;
  width:1em;
  height:1em;
}
.close-button::before,
.close-button::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:80%; height:0.05em;
  background:var(--n2-black);
}
.close-button.close-button-white::before,
.close-button.close-button-white::after{
  background:white;
}
.close-button::before{
  transform: translate(-50%, -50%) rotate(45deg);
}
.close-button::after{
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* Entity Properties */
.entity-properties{

}
.entity-properties .entity-property {
	display: flex;
	width: 100%;
	align-items: center;
}
.entity-properties .fa-grip-vertical{
  padding: 20px;
  cursor: grab;
  height: 100%;
  display: flex;
  align-items: center;
  border-right: 1px solid;
  margin-right: 10px;
}
.entity-properties.no-grip .fa-grip-vertical{
	display: none;
}
.entity-properties .entity-property-inner{
	width: 100%;
}

/* Search Component */
#search-component{
	max-width: 1000px;
	margin: auto;
	width: 100%;
	padding: 0px 15px;
}

#loading,
#loading2{
	display: inline-block;
	font-size: 2rem;
}

@media (min-width: 737px){
	#loading,
	#loading2{
		display: block;
	}
}

#search-page-wrapper{
	height: 100vh;
	color: var(--n2-text-color);
}
#search-container{
	position: absolute;
	top: 0; left: 0;
	width: 100%;
  height: 100%;
	padding-top: 70px;
	z-index: 10;
	background: var(--n2-background);
	transition: top 250ms ease-in-out;
}
#search-container.hide{
	top: -100%;
}
#search-container .hide-button,
#search-container .show-button{
	position: absolute;
	top: 100%; left: 50%;
	transform: translateX(-50%);
	width: 40px; height: 40px;
	line-height: 40px;
	margin-top: 60px;
	font-size: 30px;
	text-align: center;
	filter: drop-shadow(0 0 1px var(--n2-black));
	color: var(--n2-yellow);
	font-family: var(--fa);
	font-weight: 600;
	cursor: pointer;
}
#search-container .hide-button{
	top: auto; bottom: 0;
}
#search-container:not(.hide) .show-button{
	display: none;
}

#search-wrapper{
	height: 100%;
}
#search-wrapper #main-banner{
	margin-top: 0;
	margin-bottom: 20px;
}
#results-container{
	position: absolute;
	top: 0; left: 0;
	width: 100%;
  height: 100%;
	padding-top: 44px;
}
#results-wrapper{
	display: grid;
	grid-template-rows: 1fr max-content;
	grid-template-columns: minmax(0, 1fr);
	height: 100%;
}
#results-grid{
	grid-row: 2;
	display: grid;
	grid-template-rows: min-content 1fr;
}
#results-buttons{
	padding: 10px;
}
#results-grid .n2-button{
	width: 100%;
	margin-bottom: 10px;
}
#results-grid .badge{
	background: var(--n2-yellow);
	color: var(--n2-black);
	margin-right: 3px;
}
#results-map > #map{
	height: 100%;
	border-radius: 0;
}

@media (max-width: 899px){
	#results-grid > .has-scroll{
		display: none;
	}
}
@media (min-width: 900px){
	#results-grid{
		grid-row: 1;
	}
	#results-wrapper{
		display: grid;
		grid-template-columns: 400px 1fr;
		grid-template-rows: minmax(0, 1fr);
		height: 100%;
	}
	#results-open-button{
		display: none;
	}
}

/* Search Map */
body .gm-style .gm-style-iw-c{
	max-width: none !important;
	max-height: none !important;
	background: none;
	padding: 0;
	border-radius: var(--n2-input-border-radius);
}
body .gm-style .gm-style-iw-c [aria-label="Close"]{
	display: flex;
	align-items: center;
	justify-content: center;
	top:0 !important; right: 0 !important;
	opacity: 0.8 !important;
	filter: drop-shadow(0 0 3px var(--n2-black));
}
body .gm-style .gm-style-iw-c [aria-label="Close"]:hover{
	opacity: 1 !important;
}
body .gm-style .gm-style-iw-c [aria-label="Close"]::before{
	content: "\f00d";
	display: block;
	color: var(--n2-yellow);
	font-family: var(--fa);
	font-weight: 600;
	filter: drop-shadow(0 0 2px var(--n2-black));
	font-size: 16px;
}
body .gm-style .gm-style-iw-c [aria-label="Close"] img{
	display: none !important;
}
body .gm-style .gm-style-iw-t::after{
	background: linear-gradient(
		45deg,
		var(--n2-background) 50%,
		rgba(255,255,255,0) 51%,
		rgba(255,255,255,0) 100%
	);
	top: -1px;
}
body .gm-style.gm-style-dark .gm-style-iw-t::after{
	top: -1px;
	border: 2px solid var(--n2-yellow);
	border-top-width: 0px;
	border-right-width: 0px;
	box-shadow: -2px 2px 2px 0 rgba(0,0,0,.4)
}
body .gm-style .gm-style-iw-d{
	max-width: none !important;
	max-height: none !important;
	overflow: hidden !important;
}

body .gm-style .poi-info-window{
	padding: 20px;
  border-radius: var(--n2-input-border-radius);
  background: var(--n2-background);
  width: 250px;
}
body .gm-style.gm-style-dark .poi-info-window{
	border: 2px solid var(--n2-yellow);
}
body .gm-style .poi-info-window div,
body .gm-style .poi-info-window a{
	background: none;
	color: inherit;
}
body .gm-style .poi-info-window a{
	color: var(--n2-text-color) !important;
	text-decoration: underline !important;
}
body .gm-style .poi-info-window a:hover{
	color: var(--n2-yellow) !important;
	text-decoration: underline !important;
}
body .gm-style .poi-info-window .full-width{
	width: auto;
}

/* Merch */
.merch{
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
}
.merch-image{
	max-width: 100%;
  max-height: 300px;
  margin-right: auto;
	margin-bottom: 15px;
}
/*
.merch-image{
	flex-shrink: 0;
	width: 100%;
	height: 300px;
	margin-right: 20px;
	background-position: top left;
	background-size: contain;
	background-repeat: no-repeat;
}
*/
.merch-right h2{
	font-size: 25px;
	font-weight: 600;
	line-height: 1.2em;
	margin: 0;
	margin-bottom: 5px;
	color: var(--n2-text-color);
}
.merch-right h3{
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2em;
	margin: 0;
	margin-bottom: 10px;
	color: var(--n2-text-dim);
}
.merch-right p{
	white-space: pre-wrap;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--n2-text-dim);
	margin: 0;
	text-align: justify;
}
.is-safari .merch-right p{
	text-align: initial;
}
.merch-right p.merch-price{
	font-size: 20px;
	font-weight: 500;
	color: var(--n2-text-color);
}
.merch-buy{
	font-weight: 500;
	color: var(--n2-text-color);
}

@media (min-width: 737px){
	.merch{
		flex-direction: row;
		display: grid;
		grid-template-columns: 250px 1fr;
		grid-gap: 20px;
	}
	.merch-image{
		max-width: 250px;
	  max-height: 300px;
	  margin: 0px;
		justify-self: flex-start;
	}
}

/*
.merch-list{
	display: flex;
	flex-wrap: wrap;
}
.merch{
	width: 100%;
	padding: 10px;
}
.merch-image{
	width: 100%;
	height: auto;
	border: 1px solid var(--n2-yellow);
	background-size: cover;
	background-position: center;
}
.merch-image::before{
	content:"";
	display: block;
	padding-top: 100%;
}
.merch-bottom{

}
.merch-name{
  color: white;
  font-size: 25px;
  margin-top: 5px;
}

.merch-properties{
	margin-top: 10px;
}
.merch-properties > *{
	display: flex;
	flex-direction: column;
	line-height: 1em;
	margin-bottom: 10px;
}
.merch-properties b{
	font-weight: 500;
	margin-right: 5px;
	margin-bottom: 5px;
	color: var(--n2-text-dim);
}
.merch-properties b + *{
	color: white;
}
.merch-properties ul{
	margin: 0;
}
.merch-properties ul li{
	padding: 0;
}

@media (min-width: 535px){
	.merch{
		width: 50%;
	}
}
@media (min-width: 737px){
	.merch{
		width: 33.333333333%;
	}
	.merch-bottom{
		padding: 5px;
	}
	.merch-properties b + *{
		padding-left: 10px;
	}
}
*/

/* Search Results */
.search-results{
	background: var(--n2-background);
	/*
	width: 100%;
	max-width: 1200px;
	margin: auto;
	*/
}
.search-result{
	display: flex;
	padding: 20px;
	background: var(--n2-input-background);
	color: var(--n2-text-color);
	border-radius: var(--n2-input-border-radius);
	margin-bottom: 20px;
	font-family: "Montserrat", Roboto;
}
.search-result:hover{
	/*background: rgba(255,255,255,0.05);*/
	box-shadow: 0 0 10px rgba(0,0,0,0.3)
}
.search-result-wrapper{
	width: 100%;
}
.search-result-main{
	display: flex;
}
.search-result-image-wrapper{
	position: relative;
	text-align: center;
}
.search-result-image{
	position: relative;
	display: block;
	width: 150px;
	height: 150px;
	margin-right: 20px;
	border: 2px solid var(--n2-yellow) !important;
	border-radius: var(--n2-input-border-radius);
	background-position: center;
	background-size: cover;
}
.search-result-km{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 15px;
  margin-top: 10px;
  margin-right: 20px;
  background: var(--n2-yellow);
  color: var(--n2-black);
}
.search-result-km img{
	height: 40px;
}
.search-result-km-value {
	position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 25px;
  font-weight: 400;
  margin-left: 10px;
  line-height: 0.7em;
}
.search-result-km-value::before {
  content: "KM";
  font-size: 12px;
  font-weight: 600;
}

.search-result-info{
	width: 100%;
}
.search-result-title{
	font-size: 25px;
	font-weight: 500;
	margin-bottom: 5px;
}
.search-result-description{
	max-width: 500px;
	font-size: 16px;
	line-height: 1.2em;
}
.search-result-link{
	flex-shrink: 0;
	display: flex;
	display: none;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	height: 35px;
	border: 2px solid var(--n2-yellow);
	border-radius: var(--n2-input-border-radius);
	margin-left: auto;
	transition: none;
}
.search-result.entity-abstract .search-result-link{
	display: none;
}
.search-result-tags {
  display: flex;
	flex-wrap: wrap;
  padding-bottom: 5px;
}
.search-result-tags .badge {
  margin-right: 3px;
  margin-bottom: 3px;
	background: var(--n2-yellow);
	color: var(--n2-black);
}

.search-result-image-wrapper .entity-favorite{
	position: absolute;
	top: 5px; left: 0;
	filter: drop-shadow(0 0 3px var(--n2-black));
}

.search-result-none{
	text-align: center;
	margin: 30px auto;
	font-style: italic;
	display: block;
}
.search-result-other{
	min-width: 200px;
	max-width: 500px;
	border-bottom: solid 1px rgba(255, 255, 255, 0.3);
	text-align: center;
	margin: 30px auto;
	padding: 10px 0px;
	margin-top: 0;
	flex: 1 0 100%;
}
.results-list-wrapper:not(:empty){
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--n2-text-dim);
}
.results-list-wrapper .search-result-wrapper{
	display: flex;
}
.results-list-wrapper .search-result-map{
	display: none;
}
.results-list-wrapper .search-result-details:not(:empty) + .search-result-description:not(:empty){
	border-top: var(--n2-input-border);
	padding-top: 10px;
	margin-top: 10px;
}

.cleanandsafe-badge{
  position: absolute;
  top: 2px; right: 2px;
  height: 30%;
}
.agent-badge{
	width: 100px;
	margin-top: 10px;
	margin-right: 20px;
}

.map-search-results .search-result{
	padding: 10px;
}
.map-search-results .search-result-main{
	flex-wrap: wrap;
}
.map-search-results .search-result-image-wrapper{
	position: relative;
}
.map-search-results .search-result-image{
	width: 100px;
	height: 100px;
	margin-right: 10px;
}
.map-search-results .search-result-info{
	flex: 1;
	display: flex;
	flex-direction: column;
}
.map-search-results .search-result-info .search-result-title{
	font-size: 20px;
	margin: 0;
	margin-bottom: 10px;
	line-height: 1em;
}
.map-search-results .search-result-info .search-result-description,
.map-search-results .search-result-info .search-result-details{
	display: none;
}
.search-result-info .search-result-details > *{
	display: flex;
	flex-direction: column;
	line-height: 1em;
	margin-bottom: 10px;
}
.search-result-info .search-result-details b{
	font-weight: 500;
	margin-right: 5px;
	margin-bottom: 5px;
	color: var(--n2-text-dim);
}
.search-result-info .search-result-details b + *{
	color: var(--n2-text-color);
	word-break: break-word;
}
.search-result-info .search-result-details ul{
	margin: 0;
}
.search-result-info .search-result-details ul li{
	padding: 0;
}
.map-search-results .search-result-map{
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: auto;
}
.map-search-results .search-result-image-wrapper > .entity-favorite.entity-favorite-simple{
	position: absolute;
	top: 5px; right: 0;
	margin-right: 10px;
	filter: drop-shadow(0 0 3px var(--n2-black));
}

.search-result-image .search-result-image-inner{
	display: none;
}

body .gm-style .search-result{
	width: 350px;
	padding: 0;
	margin: 0;
	border-radius: var(--n2-input-border-radius);
	cursor: auto;
}
body .gm-style .search-result,
body .gm-style .search-result:hover{
	background: var(--n2-background);
	box-shadow: none;
}
body .gm-style .search-result-main{
	flex-direction: column;
}
body .gm-style .search-result-image{
	width: 100%;
	margin-right: 0;
	border: 0 !important;
	border-bottom-right-radius: 0px;
	border-bottom-left-radius: 0px;
}
body .gm-style .search-result-km{
	margin: 0 !important;
}
body .gm-style .search-result-info{
	padding: 20px;
	padding-top: 10px;
	font-size: 14px;
}
body .gm-style .search-result-title{
	/*text-align: center;*/
}
body .gm-style .search-result-description{
	display: none;
}
body .gm-style .search-result-map{
	display: none;
}
body .gm-style .entity-favorite{
	position: absolute;
	top: 5px; left: 0;
	filter: drop-shadow(0 0 3px var(--n2-black));
}

body .gm-style.gm-style-dark .search-result::after{
	content: "";
	position: absolute;
	top:0; left:0;
	display: block;
	width: 100%; height: 100%;
	border: 2px solid var(--n2-yellow);
	border-radius: var(--n2-input-border-radius);
	pointer-events: none;
}

@media (min-width:737px){
	:not(.gm-style-iw-d):not(.map-search-results) > .search-result .search-result-image-wrapper > .entity-favorite{
		display: none;
	}
}

/* Routes */
#user-route{

}
#user-route .title-options{
	margin-bottom: 0;
}
#user-route #user-route-date{
	color:white;
	font-size: 16px;
}
#user-route #user-route-date .badge{
	background: var(--n2-yellow);
	color: black;
}
#user-route #user-route-description:not(:empty){
	color: var(--n2-text-dim);
	margin-top:20px;
}

.user-routes{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
	margin-right: -10px;
	margin-left: -10px;
}
.user-route-wrapper{
	width: 50%;
	padding:10px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.user-route{
	width: 100%;
	border-radius: var(--n2-input-border-radius);
	color: var(--n2-yellow);
	position: relative;
	/* cursor: pointer; */
	overflow: hidden;
}
.user-route .user-route-image-wrapper{
	position: relative;
	display: block;
	width: 100%;
	height: 200px;
	overflow: hidden;
}
.user-route .user-route-image{
	display: block;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: transform 250ms ease-in-out;
}
.user-route .user-route-image:hover{
	transform: scale(1.1);
}
.user-route .badge-group:not(:last-child){
	margin-right: 5px;
	margin-bottom: 5px;
}

.user-route .user-route-name{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	padding: 15px;
	font-size: 25px;
  background: var(--n2-input-background);
  color: var(--n2-text-color);
}
.user-route .badge{
	background: var(--n2-yellow);
	font-size: 12px;
}
.user-route .user-route-name-wrapper{
	display: flex;
	align-items: center;
	width: 100%;
}
.user-route .user-route-name-wrapper > :first-child{
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.user-route .user-route-name-wrapper .n2-option{
	font-size: 14px;
	margin-left: auto;
}
.user-route-number {
	display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
	margin-left: auto;
  background: var(--n2-yellow);
  color: var(--n2-black);
  text-align: center;
  border-radius: 100%;
	font-size: 20px;
	font-weight: 600;
}
.user-route-face{
	display: block;
  width: 40px;
  height: 40px;
	margin-right: 10px;
	border-radius: 100%;
	background-size: cover;
	background-position: center;
}

/* Entity */
.entity{
 max-width: 1000px;
 margin: auto;
}
.entity-top{
	display: flex;
	margin-bottom: 10px;
}
.entity-image{
	position: relative;
	flex-shrink: 0;
	width: 200px;
	height: 200px;
	margin-right: 20px;
	margin-bottom: 10px;
	border: 2px solid var(--n2-yellow);
	border-radius: var(--n2-input-border-radius);
	background-position: center;
	background-size: cover;
}
.entity-favorite{
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 2px solid var(--n2-yellow);
	border-radius: var(--n2-input-border-radius);
	margin-top: 10px;
	margin-right: 20px;
	padding: 5px 10px;
	color: var(--n2-yellow);
	cursor: pointer;
	font-weight: 600;
}
.entity-favorite.entity-favorite-simple{
	border: none;
	background: none;
	margin-right: 0px;
}
.entity-favorite:hover,
.entity-favorite.favorite{
	background: var(--n2-yellow);
	color: var(--n2-background);
}
.entity-favorite.entity-favorite-simple:hover,
.entity-favorite.entity-favorite-simple.favorite{
	background: none;
	color: var(--n2-yellow);
}
.entity-favorite.disabled{
	opacity: 0.5;
	pointer-events: none;
}
.entity-favorite i{
	font-size: 20px;
}
.entity-favorite.entity-favorite i{
	font-size: 28px;
}
.entity-favorite:not(.favorite) i:last-of-type,
.entity-favorite:not(.favorite) span:last-of-type{
	display: none;
}
.entity-favorite.favorite i:first-of-type,
.entity-favorite.favorite span:first-of-type{
	display: none;
}
.entity-title{
	font-size: 30px;
	margin-bottom: 20px;
	color: var(--n2-text-color);
}
.entity-tag{
	margin-top: 10px;
	font-size: 20px;
	color: var(--n2-text-color);
}
.entity-tag .badge{
	background: var(--n2-yellow);
}
.entity-property-list{
	margin-top: 20px;
}
.entity-property{
	display: flex;
	background: var(--n2-background);
}
.entity-property > span:first-child{
	margin-right: 10px;
	font-weight: 600;
}
.entity-property ul{
	margin: 0;
}
.entity-property li{
	padding: 0;
}
.entity-images{
	margin-top: 20px;
}
.entity-images .slick-slide{
	display: flex;
	justify-content: center;
}
.entity-images .entity-image-slide{
	display: inline-block;
	width: 100%;
	height: 200px;
	margin: 0px 10px;
	border: 2px solid var(--n2-yellow);
	border-radius: var(--n2-input-border-radius);
	background-position: center;
	background-size: cover;
}
.entity-description{
	line-height: 1.3em;
	white-space: pre-wrap;
}

.entity-related-entities{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.entity-related{
	width: 25%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 20px 20px;
	border-radius: var(--n2-input-border-radius);
}
.entity-related:hover{
	background: rgba(255,255,255,0.05);
	box-shadow: 0 0 10px rgba(0,0,0,0.3)
}
.entity-related-image{
	position: relative;
	flex-shrink: 0;
	width: 150px;
	height: 150px;
	margin-bottom: 10px;
	border: 2px solid var(--n2-yellow) !important;
	border-radius: var(--n2-input-border-radius);
	background-position: center;
	background-size: cover;
}
.entity-related-title{
	font-size: 20px;
	text-align: center;
	line-height: 1.1em;
}
.entity-related-entities hr{
	margin: 20px;
	width:100%;
}

/* Entity Abstract */
.search-result-image-wrapper,
.entity-image,
.entity-related-image{
	overflow: hidden;
	flex-shrink: 0;
}
.search-result.entity-abstract .search-result-image::before,
.entity.entity-abstract .entity-image::before,
.entity-related.entity-abstract .entity-related-image::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	height: 200px;
	width: 30px;
	background: var(--n2-yellow);
	border-bottom-right-radius: 5px;
	border-top-right-radius: 5px;
	transform: translate(-50%, -50%) rotate(45deg) translate(50%);
	z-index: 0;
}
.entity-abstract .search-result-image::after,
.entity.entity-abstract .entity-image::after,
.entity-related.entity-abstract .entity-related-image::after{
  content: "\f129";
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0; left: 0;
  color: var(--n2-black);
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
	font-size: 15px;
}

.entity.entity-abstract .entity-image::after{
	font-size: 20px;
}

/* Small Entity */
#route-list{
	position: relative;
	color: var(--n2-text-color);
	border: 1px solid var(--n2-text-color);
	border-width: 1px 0px;
}
#route-list:empty::before{
	content: attr(empty);
	display: block;
	width: 100%;
	padding: 10px;
	text-align: center;
}
:not(#route-list) > .small-entity .fa-grip-vertical,
:not(#route-list) > .small-entity .small-entity-remove{
	display: none;
}
#route-list > .small-entity{
	cursor: auto;
}

.small-entity .fa-grip-vertical{
	display: flex;
	padding: 10px;
	margin-right: 10px;
	border-right: 1px solid	var(--n2-text-color);
	cursor: grab;
	align-self: stretch;
	align-items: center;
}
.small-entity{
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px;
	margin: 5px 0px;
	cursor: pointer;
	z-index: 1;
	border: 2px solid transparent;
	background: var(--n2-input-background);
	color: var(--n2-text-color);
}
.small-entity::before{
	content: "";
	position: absolute;
	top:0; left:0;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: var(--n2-input-border-radius);
	opacity: 0.1;
	z-index: -1;
}
.small-entity:hover::before{
	background: var(--n2-text-color);
}
.small-entity.selected::before{
	background: var(--n2-yellow);
}
.small-entity.selected{
	border: 2px solid var(--n2-yellow);
	border-radius: var(--n2-input-border-radius);
}
.small-entity-image{
	position: relative;
	flex-shrink: 0;
	width: 60px;
	height: 60px;
	border: 2px solid var(--n2-yellow);
	margin-right: 10px;
	border-radius: var(--n2-input-border-radius);
	background-size: cover;
	background-position: center;
}
.small-entity.selected .small-entity-image::before{
	content: "\f00c";
	position: absolute;
	top:0; left:0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: var(--n2-input-border-radius);
	background: rgba(0,0,0,0.5);
	color: var(--n2-yellow);
	font-family: var(--fa);
	font-weight: 600;
	font-size: 25px;
}
.small-entity-info{
	padding-right: 10px;
	margin-right: auto;
}
.small-entity-name{
	font-size: 20px;
}
.small-entity-remove{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	margin-right: 5px;
	border-radius: var(--n2-input-border-radius);
	font-size: 20px;
	cursor: pointer;
}
.small-entity .small-entity-remove:hover{
	background: var(--n2-yellow);
	color: var(--n2-black);
}
.small-entity .badge{
	background: var(--n2-yellow);
	color: var(--n2-black);
}


.small-entity .search-result-km{
	flex-shrink: 0;
	margin: 0;
}

/* MEDIA QUERIES */

@media (min-width:737px){
	#results-container{
		padding-top: 70px;
	}
}

@media (max-width:736px){

	/* Search Results */
	.search-results{
		display: flex;
		flex-wrap: wrap;
	}
	.search-result{
		display: inline-block;
		width: 40%;
		margin-right: 20px;
	}
	.search-result-main{
		width: 100%;
		flex-direction: column;
		align-items: center;
	}
	.search-result-image-wrapper{
		width: 100%;
	}
	.search-result-image{
		width: 100%;
		height: auto;
		margin-right: 0px;
		margin-bottom: 10px;
	}
	.search-result-image .search-result-image-inner{
		display: block;
		width: 100%;
		padding-top: 100%;
	}
	.search-result-km{
		margin-right: 0px;
		margin-bottom: 10px;
	}
	:not(.search-result-image-wrapper) > .search-result-link{
		display: none;
	}
	.search-result-other{
		display: none;
		/* display: inline-block; */
		border: 1px solid rgba(255, 255, 255, 0.3);
    vertical-align: top;
    margin-top: 20px;
	}

	.agent-badge{
		margin: 0;
	}

	/* Entity */
	.entity-top{
		flex-direction: column;
		align-items: center;
	}
	.entity-top > :first-child{
		width: 100%;
	}
	.entity-image{
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}
	.entity-favorite{
		margin: 0;
		margin-bottom: 10px;
	}
	.entity-title{
		text-align: center;
	}
	.entity-property{
		flex-direction: column;
	}
	.entity-property > :not(:first-child){
		margin-left: 10px;
	}
	.entity-property > :not(:first-child){
		margin-left: 10px;
	}
	.entity-images .slick-list{
		padding: 0% 10%;
	}

	/* Entity Related */
	.entity-related{
		width: 50%;
	}
	.entity-related-image{
		width: 200px;
		height: 200px;
	}

	/* Routes */
	.user-route-wrapper{
		width: 100%;
	}

}

@media (max-width:639px){

	/* Search Results */
	.search-result{
	}

	/* Entity */
	.entity-images .slick-list{
		padding: 0% 100px;
	}
}

@media (max-width:575px){

	/* Search Results */
	.search-result{
		width: 80%;
		margin-right: 20px;
	}

	/* Entity */
	.entity-images .slick-list{
		padding: 0% 7%;
	}

	/* Small Entity */
	.small-entity{
		flex-direction: column;
		text-align: center;
	}

	/* Entity Related */
	.entity-related{
		width: 100%;
	}
}
