:root {
	--routenratio: 16/14;
}

.T2878 .hide { display: none !important; }


.T2878 .routenplaner:after {
	display: block;
	content: "";
	clear: left;
}


.T2878 h3.specialfont {
	margin-bottom: 25px !important;
}

.T2878 .map {
	background-color: #0002;
	text-align: center;
    position: relative;
    aspect-ratio: var(--routenratio);
    float: none;
    margin: 0 0 30px 0;
}

.T2878 .map.privacy {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.T2878 .map.privacy > img {
	aspect-ratio: var(--routenratio);
	object-fit: cover;
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	filter: blur(0.15rem);
}
.T2878 .map.privacy .privacy_text{
	position: relative;
	z-index: 2;
	color: #FFF;
	font-size: 1.05rem;
}

.T2878 .map iframe {
	width: 100%;
    cursor: pointer;
    aspect-ratio: var(--routenratio);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
}

.T2878 .form {
	display: flex;
	flex-wrap: wrap;
}

.T2878 .form .row {
	width: 100%;
	margin: 0 0 0 0;
}

.T2878 .form .row.small { padding-top: 26px; }

.T2878 input[type=text] {
	padding: 5px 0px !important;
	width: 100%;
	text-align: center;

}

.T2878 a.send {
	text-decoration: none;
	display: flex;
	justify-content: center;
}

@media (min-width: 567px) {

	:root {
		--routenratio: 16/10;
	}
	
	.T2878 .map.privacy .privacy_text { font-size: 1.1rem; }

	.T2878 .form { justify-content: space-between; }

	.T2878 .form .row {
		width: calc( 50% - 1rem - 2.5rem);
	}

	.T2878 .form .row.small {
		width: 5rem;
	}

	.T2878 a.send { height: 100%; align-items: center; }


}

@media (min-width: 768px) {
	:root {
		--routenratio: 16/8;
	}

	.T2878 .map.privacy .privacy_text { font-size: 1.2rem; }
}

@media (min-width: 1024px) {
	:root {
		--routenratio: 16/5;
	}
}
