#map-container {
	position: relative;
	height: 80vh;

	div#l-holder {
		position: absolute;
		top: 0;
		left: 0;
		width: 15%;
		height: 100%;
		z-index: 4;
	}

	div#r-holder {
		position: absolute;
		top: 0;
		right: 0;
		width: 15%;
		height: 100%;
		z-index: 4;
	}

	div#loader {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 85vh;
		z-index: 1000;
		background-color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: nowrap;
		flex-direction: column;

		div#loader-container {
			font-family: lato, sans-serif;
			font-size: 1.2rem;
			font-weight: 800;
			text-align: center;
			line-height: 1.4em;
			letter-spacing: 0;
			padding: 0.5rem;
			border-radius: 10px;
			background-color: #fff;
			margin-top: 0;
			margin-bottom: 1.2em;
			box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.03);

			p#loader-text {
				margin: 0;
			}
		}
	}

	div#map-Mr9oxnYt {
		position: relative;
		width: 100%;
		height: inherit;
		margin: 0 0vw;
	}

	div#map-details {
		display: none;

		position: absolute;
		bottom: 30px;
		left: 50%;
		transform: translateX(-50%);

		flex-direction: column;
		justify-content: center;
		align-items: center;
		flex-wrap: nowrap;
		background-color: #fff;
		color: #000;
		z-index: 5;

		width: auto;
		height: auto;
		max-width: 92vw;
		overflow-x: scroll;
		max-height: 40vh;
		overflow: auto;
		border-style: solid;
		border-width: 0 0 3px;
		border-color: #cf3aaf;
		border-radius: 2px;
		transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
		padding: 20px;
		padding-bottom: 10px;
		box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.03);

		@media screen and (max-width: 425px) {
			width: 85%;
		}

		div {
			h3#title {
				text-transform: uppercase;
				margin: 0;
				margin-top: 0.8em;
				margin-bottom: 2em;
				color: #161616;
				font-family: raleway, Sans-serif;
				font-size: min(0.8rem, 4vw);
				font-weight: 900;
				text-transform: uppercase;
				text-align: center;
				line-height: 1.4em;
				letter-spacing: 0.8px;
			}

			div.map-details-data {
				display: flex;
				flex-direction: row;
				justify-content: center;
				align-items: stretch;
				flex-wrap: nowrap;
				gap: min(3rem, 5vw);
				padding: 0 0.8rem;
				z-index: 100;
				text-align: center;

				div.map-details-data-item {
					min-width: min(185px, 20vw);
					width: -webkit-fill-available;

					span.map-details-data-item-stat {
						color: #8d59d3;
						font-weight: 800;
						font-size: min(2.5rem, 5vw);
						font-family: lato, Sans-serif;
						overflow-wrap: normal;
						margin: 0 0 -10px;
					}

					p.map-details-data-item-detail {
						color: #595959;
						text-transform: lowercase;
						font-family: lato, Sans-serif;
						font-size: min(1.2rem, 3vw);
						font-weight: 400;
						line-height: 1.4em;
						letter-spacing: 0;
						margin-top: 0;
						margin-bottom: 1.2em;
					}
				}
			}
		}
	}

	div#form-popup {
		position: absolute;
		top: calc(50% - 200px);
		left: calc(20% - 200px);
		/*top: 0;
        left: 0;
        right: 0;
        bottom: 0;*/
		/*background-color: rgba(0,0,0,0.5);*/
		z-index: 999;
		display: none;
		justify-content: center;
		align-items: center;
		/*cursor: pointer;*/

		@media screen and (max-width: 1200px) and (min-width: 850px) {
			left: calc(25% - 200px);
		}

		@media screen and (max-width: 850px) and (min-width: 700px) {
			top: initial;
			left: 0;
			bottom: 3%;
		}

		@media screen and (max-width: 700px) and (min-width: 600px) {
			left: calc(35% - 200px);
		}

		@media screen and (max-width: 600px) and (min-width: 425px) {
			top: calc(30% - 210px);
			left: calc(50% - 210px);
		}

		@media screen and (max-width: 425px) {
			max-width: 100vw;
			top: calc(30% - 200px);
			left: auto;
			right: auto;
			bottom: auto;
		}

		div#form-popup-content {
			width: 380px;
			height: auto;
			max-width: 100vw;
			max-height: 100vh;
			overflow: auto;
			z-index: 999;
			background-color: #fff;
			border-style: solid;
			border-width: 0 0 3px;
			border-color: #cf3aaf;
			border-radius: 4px;
			transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
			padding: 20px;
			padding-bottom: 10px;
			box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.03);
			cursor: initial;

			div.contact-card {
				position: relative;
				width: 100%;
				color: #595959;
				font-family: lato, Sans-serif;
				margin: 0;

				h3 {
					text-transform: uppercase;
					margin: 0;
					color: #161616;
					font-family: raleway, Sans-serif;
					font-size: 0.8rem;
					font-weight: 900;
					text-transform: uppercase;
					line-height: 1.4em;
					letter-spacing: 0.8px;
				}

				p {
					border: 0;
					font-family: raleway, Sans-serif;
					font-size: 0.8rem;
					font-style: inherit;
					font-weight: inherit;
					line-height: 1.6em;
					margin: 0;
					outline: 0;
					padding: 0;
					padding-top: 0.2em;
					vertical-align: baseline;
				}

				button {
					position: absolute;
					top: 0;
					right: 0;
				}

				.mapboxgl-popup-close-button {
					padding: 0;
					transform: translate(10px, -10px);
				}

				form#network-form {
					margin-left: calc(-10px / 2);
					margin-right: calc(-10px / 2);
					padding: 1.5em 0;

					div.half-input-blocks {
						display: flex;
						flex-direction: row;
						justify-content: space-between;
						align-items: center;
						flex-wrap: nowrap;
						gap: 10px;

						@media screen and (max-width: 425px) {
							flex-direction: column;
							gap: 0;
						}
					}

					input[type='text'],
					input[type='email'],
					input[type='tel'],
					select {
						width: 100%;
						max-width: 100%;
						padding-right: calc(10px / 2);
						padding-left: calc(10px / 2);
						margin-bottom: 10px;
						border: 2px solid #efefef;
						background-color: transparent;
						color: #373a3c;
						vertical-align: middle;
						flex-grow: 1;
						padding: 0.75em;
						height: auto;
						border-radius: 2px;
						box-shadow: none;
						box-sizing: border-box;
						transition: all 0.2s linear;
						line-height: 1.4;
						font-size: 15px;
						min-height: 40px;

						&::-webkit-input-placeholder {
							color: #818a91;
						}

						&::selection {
							color: #fff;
							background: #0274be;
						}
					}

					input:-internal-autofill-selected {
						background-color: transparent !important;
						background-image: none !important;
						color: #373a3c !important;
					}

					select {
						-webkit-appearance: none;
						-moz-appearance: none;
						appearance: none;
						background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23373a3c'%3E%3Cpath d='M10 13.41L4.7 8.1a1 1 0 0 1 1.4-1.42l4.3 4.3 4.3-4.3a1 1 0 0 1 1.4 1.42L11 13.4a1 1 0 0 1-1 0z'/%3E%3C/svg%3E");
						background-repeat: no-repeat;
						background-position: right 0.75em top 50%, 0 0;
						background-size: 0.8em auto, 100%;
					}

					input[type='submit'] {
						width: 100%;
						height: 42px;
						display: flex;
						justify-content: center;
						align-items: center;
						background-color: #8d59d3;
						color: #fff;
						border: 0;
						box-shadow: 100px 4px 68px -24px rgb(0 62 173 / 38%) inset;
						border-radius: 6px 6px 6px 6px;
						color: #fff;
						cursor: pointer;
						font-size: 18px;
						font-weight: 800;
						font-family: raleway, Sans-serif;
						letter-spacing: 0.4px;
						line-height: 0;
						text-transform: lowercase;

						&:hover {
							box-shadow: 0 0 30px 0 rgb(0 0 0 / 19%);
						}

						&::selection {
							color: #fff;
							background: #0274be;
						}
					}
				}
			}
		}
	}

	button.mapboxgl-popup-close-button {
		font-size: 1.2rem;
		background-color: transparent;
		box-shadow: none;
		padding: 10px;

		&:hover {
			background-color: initial;
			opacity: 0.7;
			background-color: transparent;
			box-shadow: none;
		}
	}
}

.elementor-kit-13 button {
	margin: 0.4em;
	font-weight: 800;
	font-family: lato, sans-serif;
	color: black;
	padding: 0;
}

.elementor-kit-13 input[type='button']:hover,
.elementor-kit-13 input[type='button']:focus,
.elementor-kit-13 input[type='submit']:hover,
.elementor-kit-13 input[type='submit']:focus {
	background-color: #8d59d3;
	box-shadow: 0 0 30px 0 rgb(0 0 0 / 19%);
}

.elementor-kit-13 button,
.elementor-kit-13 .elementor-button {
	text-transform: inherit;
	text-decoration: inherit;
	letter-spacing: inherit;
	background-color: inherit;
	box-shadow: none;
	border-radius: inherit;
	padding: 0;
	color: inherit;
	background-color: transparent;
}

.elementor-kit-13 button:hover,
.elementor-kit-13 button:focus,
.elementor-kit-13 .elementor-button:hover,
.elementor-kit-13 .elementor-button:focus {
	background-color: transparent;
	box-shadow: none;
}

#gform_confirmation_message_1 {
	margin: 2rem 1rem;
}

div.mapboxgl-control-container {
	z-index: 5;

	div.mapboxgl-ctrl-top-right {
		right: 0;
		top: 0;
		position: absolute;
		z-index: 5;

		div.mapboxgl-ctrl {
			div.mapboxgl-ctrl.mapboxgl-ctrl-group {
				button {
					margin: 0;
				}

				button + button {
					border-radius: 0 0 0 0;
					cursor: pointer;
				}

				button + button + button + button {
					border-radius: 0 0 4px 4px;
				}

				button.mapboxgl-ctrl-reset .mapboxgl-ctrl-icon {
					background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' viewBox='0 96 960 960' width='48'%3E%3Cpath d='M120 936V706h60v127l148-148 43 43-148 148h127v60H120Zm490 0v-60h127L590 729l43-43 147 147V706h60v230H610ZM327 466 180 319v127h-60V216h230v60H223l147 147-43 43Zm306 0-43-43 147-147H610v-60h230v230h-60V319L633 466Z'/%3E%3C/svg%3E");
					background-size: 70%;
					background-repeat: no-repeat;
					background-position: center;
				}
			}
		}
	}
}
