/*
 * Base Styles
 */
* {
	padding: 0;
	margin: 0;
}

:root {
	--gray: rgb(220,219,207); --graydark: rgb(205,204,186); }

@font-face {
	font-weight: 200;
	font-family: 'ubuntu';
	src: url('ubuntu-v12-latin-300.woff2') format('woff2'), url('ubuntu-v12-latin-300.woff') format('woff');
}

@font-face {
	font-weight: 400;
	font-family: 'ubuntu';
	src: url('ubuntu-v12-latin-regular.woff2') format('woff2'), url('ubuntu-v12-latin-regular.woff') format('woff');
}

@font-face {
	font-weight: 600;
	font-family: 'ubuntu';
	src: url('ubuntu-v12-latin-700.woff2') format('woff2'), url('ubuntu-v12-latin-700.woff') format('woff');
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: ubuntu,sans-serif;
	color: #555;
	line-height: 1.4;
	font-size: 14px;
}
main {
	padding-bottom: 60%;
	margin-bottom: 56px;
}
@keyframes fadein {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

a {
	color: inherit;
}

/*
 * Site Header
 */
#site-header {
	padding: 10px 4vw;
	font-size: 12.5px;
	line-height:15px;
	z-index:10;
	display:flex;
	flex-wrap: wrap;
}
#site-header a>img#logo {
	width: 125px;
	margin-right:25px;
}
/* Job Search */
#site-header #job-search {
	position: relative;
	flex-grow: 1;
	margin-top:20px;
	font-size: 10.5px;
	line-height:15px;
	opacity:0;
}
#site-header #job-search.ready {
	opacity:1;
}
#site-header #job-search input {
	border:1px solid #B44D5D;
	border-radius: 3px;
	width:100%;
	padding-left:24px;
	color:#777;
	height:25px;
	background-image: url("data:image/svg+xml,%3Csvg width='11' height='11' viewBox='0 0 11 11' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='translate(1 1)' stroke='%23B44D5D' fill='none' fill-rule='evenodd'%3E%3Ccircle cx='3.5' cy='3.5' r='3.5'/%3E%3Cpath d='M6 6c0 .333 1.182 1.516 3.547 3.547'/%3E%3C/g%3E%3C/svg%3E");
	background-position: 6px 6px;
	background-repeat: no-repeat;
	max-width:100%;
	box-sizing: border-box;
	font-family: inherit;
	font-size:inherit;
	line-height:inherit;
	padding-top:0;
	position: relative;
	z-index: 2;
}
#site-header #job-search input:focus {
	border-color: #B44D5D;
	outline:none;
}
#site-header ul#job-search-results li, #site-header #job-search-selection {
	background-color:var(--graydark);
	list-style-type: none;
	color:#FFF;
	cursor:pointer;
}
#site-header ul#job-search-results {
	position: absolute;
	left:0;
	right:0;
	top:22px;
	z-index:1;
	display: none;
	border-radius: 0 0 3px 3px;
}
#site-header ul#job-search-results.visible {
	display: block;
}
#site-header ul#job-search-results li {
	list-style-type: none;
	border-top:1px solid #FFF;
}
#site-header ul#job-search-results a {
	display: block;
	padding:4.5px 7px 4.5px 7px;
}
#site-header ul#job-search-results .no-results {
	display: block;
	padding:4.5px 7px 4.5px 7px;
}
#site-header ul#job-search-results .no-results a, #site-header ul#job-search-results .no-results a:last-child {
	display: inline;
	padding:0;
}
#site-header ul#job-search-results a:first-child {
	text-decoration: none;
}
#site-header ul#job-search-results li:last-child {
	list-style-type: none;
	border-top:1px solid #FFF;
	border-radius: 0 0 3px 3px;
}
#site-header ul#job-search-results li:last-child a {
	padding:4.5px 7px 4.5px 7px;
}
#site-header ul#job-search-results li:first-child {
	list-style-type: none;
	border-top:3px solid var(--graydark);
}
#site-header #job-search-selection	 {
	position: absolute;
	top:0;
	left:0;
	right:0;
	height: 25px;
	background-image: url("data:image/svg+xml,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%23FFF' fill='none' fill-rule='evenodd' stroke-linecap='square'%3E%3Cpath d='M1.5 1.5l8 8M9.5 1.5l-8 8'/%3E%3C/g%3E%3C/svg%3E");
	background-position: 6px 6px;
	background-repeat: no-repeat;
	box-sizing: border-box;
	padding-left:24px;
	padding-right:5px;
	z-index:3;
	display: none;
	border:1px solid var(--graydark);
	border-radius: 3px;
	padding-top: 4px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow: ellipsis;
}
#site-header #job-search-selection.visible {
	display: block;
}
#site-header .legend {
	color:#777777;
	width:100%;
	order:1;
	border-top:1px solid var(--graydark);
	border-bottom: 1px solid var(--graydark);
	margin-top: 30px;
}
#site-header .legend #legend-header {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	padding: 7px 10px 6px 10px;
	cursor: pointer;
}
#site-header .legend #legend-header:before {
	content: '';
	display: inline-block;
	width:10px;
	height:10px;
	background-repeat: no-repeat;
	background-image: url("data:image/svg+xml,%3Csvg width='6' height='10' viewBox='0 0 6 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 5l-6 5V0z' fill='%23777' fill-rule='evenodd'/%3E%3C/svg%3E");
	padding-right: 5px;
 }
#site-header .legend #legend-header.active+ul {
	display:block;
}
#site-header .legend #legend-header.active:before {
	transform-origin: center;
	transform: rotate(90deg)translate(6px, 4px);
}
#site-header .legend ul {
	list-style-type: none;
	display:none;
	margin-left:auto;
	padding: 3px 10px 10px 10px;
}
#site-header .legend li {
	padding:2px 0;
	display: flex;
 	padding-left: 0;
}
#site-header .legend-image {
	width:60px;
	flex-grow: 0;
	text-align: right;
	margin: -2px 0;
}
#site-header .legend-image svg {
    display: inline-block;
}
#site-header .legend-image svg.legend-icon {
	width:15px;
	height:15px;
	transform: translateY(2px);
}
#site-header .legend-label {
	padding-left:7px;
	flex-shrink: 0;
	min-width:6.5em;
}
#site-header .reset-widget {
	display: none;
}
#site-header #reset-btn {
	border:1px solid #B44D5D;
	border-radius: 3px;
	width:100%;
	padding-left: 16px;
	color:#FFF;
	background-color:#B44D5D;
	height:25px;
	background-image: url("data:image/svg+xml,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%23FFF' fill='none' fill-rule='evenodd' stroke-linecap='square'%3E%3Cpath d='M1.5 1.5l8 8M9.5 1.5l-8 8'/%3E%3C/g%3E%3C/svg%3E");
	background-position: 6px 6px;
	background-repeat: no-repeat;
	max-width:100%;
	box-sizing: border-box;
	font-family: inherit;
	padding-top:1px;
	position: relative;
	z-index: 0;
	min-width:25px;
	opacity: 0;
	font-size: inherit;
	line-height: inherit;
}
#site-header #reset-btn.visible {
	opacity: 1;
}
#site-header #reset-btn span {
	display:none;
}

/*
 * Visualization
 */
svg#viz {
	transition: opacity 0.5s ease;
	font-size: 18px; /* was: font-size: 20px; */
	width: 100%;
	/*padding-top: 4em;*/
	overflow: visible;
}
#viz>#container {
	animation: fadein 1.2s ease 0.3s both;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
#viz g.symbol-group use {
	stroke: white;
	stroke-width: 3px;
	transition: fill 1s ease, transform 0.3s ease;
}
#viz g {
	cursor: pointer;
	--inside: var(--col); --center: var(--gray); --outside: var(--gray);
}
#viz .src g.symbol-group use {
	--center: var(--graydark); --outside: var(--graydark);
}
#viz .related g.symbol-group use {
	--center: var(--gray); --outside: var(--col);
}
#viz .active g.symbol-group use {
	--inside: white; --center: var(--col); --outside: var(--col);
}
#close, #viz g:focus {
	outline: 0;
}
#viz #container>g {
	animation: fadein 0.7s ease 1.3s both;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
#viz .active text, #viz .related text {
	fill: #111;
}
#viz g>text {
	transition: fill 0.5s ease, opacity 0.5s ease;
	text-anchor: middle;
}
#viz g:focus use, #viz g.active g.symbol-group use {
	fill: #333;
}
#viz>#lines .dst:not(.dash) {
	stroke-width: 8;
}
#viz>g#lines {
	transform: translateY(-3px);
}
#viz>g#lines>path.dash {
	stroke-width: 4px;
}
#viz>g#lines>path {
	stroke-width: 6.4px;
	stroke: var(--gray);
	fill: none;
}
#viz>text#stufen {
	animation: fadein 1.2s ease 2.3s both;
	transition: fill 1s ease;
	font-size: 1.2em;
	text-transform: uppercase;
	transform: translate(30px,960px) rotate(-90deg);
}
#viz text#stufen tspan:not(.active) {
	fill: var(--graydark);
}
#viz>#iso>path {
	fill: none;
	stroke: #EEE;
}
svg#viz text {
	fill: #777;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
#viz rect {
	fill: white;
}
#viz rect.text-underlay-mobile {
	display: none;
}
#viz .active rect.text-underlay-mobile, #viz .src rect.text-underlay-mobile, #viz .related rect.text-underlay-mobile {
	display:unset;
}
#viz rect.text-underlay-mobile.text-height-2 {
	height: 57px;
}
#viz rect.text-underlay-mobile.text-height-3 {
	height:78px;
}
#viz rect.text-underlay-mobile.stacked {
	height:30px;
}
#viz rect.text-underlay-mobile.no-form {
	width:84px;
	transform: translateX(-22px);
}
#viz rect.text-underlay-mobile.tiny {
	width: 10px;
    transform: translate(25px, -1px);
}
#viz g.symbol-group use {
	transition: fill 1s ease, transform 0.3s ease;
	fill: transparent;
}
#viz g.symbol-group use {
	transform: scale(0.25) translate(-250px,-580px);
}
#viz g g.symbol-group:hover use, #viz g.active g.symbol-group use {
	transform: scale(0.3) translate(-250px,-580px);
}
#viz g.sekundarstufe2 g.symbol-group use {
	transform: scale(0.25) translate(-250px,-600px);
}
#viz g.sekundarstufe2 g.symbol-group:hover use, #viz g.sekundarstufe2.active g.symbol-group use {
	transform: scale(0.3) translate(-250px,-600px);
}
#viz g g.symbol-group use.mini {
	transform: scale(0.09) translate(-250px,-650px);
}
#viz g g.symbol-group:hover use.mini, #viz g.active g.symbol-group use.mini {
	transform: scale(0.108) translate(-250px,-650px);
}

/* school level text/frame elements */
#viz g:not(.mobile-stufe)>text:not(.short), #viz>#iso {
	display: none;
}
#mobile-stufen {
	opacity:0;
	transition: opacity 1s ease 0.5s;
}
#mobile-stufen.visible {
	opacity:1;
}
.mobile-stufe {
	font-size: 1.15em;
}
svg#viz .mobile-stufe>text {
	fill:var(--graydark);
	text-anchor: start;
}
svg#viz .mobile-stufe.active>text {
	fill:#777;
}
svg#viz .mobile-stufe.active .frame {
	stroke:#777;
}
#viz.show {
	opacity: 0.3;
	pointer-events: none;
}

/*
 * Details
 */
section#details:not(.visible) {
	opacity: 0;
}
#details {
	cursor: pointer;
	position: fixed;
	top: 0; /*new*/
	right: 0;
	bottom: 0;
	left:0;
	z-index: -1;
	transform: translate(0, calc(100% - 57px));
	transition: transform 0.5s ease, opacity 0.5s ease;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	overflow-x: hidden;
	overflow-y: hidden;
}
#details.visible {
	z-index: 20;
}
#viz.show+#details {
	transform: translate(0,0);
	overflow-y: auto;
}
#detailNav {
	position: absolute;
	left:0;
	z-index: 2;
	padding: 16px 15px;
	width: 100%;
	display: flex;
	font-size: 16px;
	line-height: 24px;
}
#detailNav .display-indicator {
	appearance: none;
	cursor: pointer;
	background-color: transparent;
	border: none;
	display: block;
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%23555' fill='none' fill-rule='evenodd' stroke-linecap='square'%3E%3Cpath d='M9.5 0l10 9.5M9.5 0l-9 9.5M9.5.5v19'/%3E%3C/g%3E%3C/svg%3E");
	width:20px;
	height:20px;
	background-size: contain;
	background-repeat: no-repeat;
	margin-top: 5px;
	margin-right:10px;
}
#viz.show+#details #detailNav .display-indicator {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%23555' fill='none' fill-rule='evenodd' stroke-linecap='square'%3E%3Cpath d='M.5.5l19 19M19.5.5l-19 19'/%3E%3C/g%3E%3C/svg%3E");
}
#detailNav .display-indicator:active, #detailNav .display-indicator:focus {
	outline:none;
	border:none;
}
#detailNav .nav-link {
	margin-left:30px;
	border-bottom:1px solid #555;
}
#detailNav .nav-link.active, #detailNav .nav-link:hover {
	border-bottom-color:#B44D5D;
	color:#B44D5D;
}
#detailContent {
	background: var(--gray);
	padding: 71px 15px 15px 15px;
	min-height: 100%;
	width:100%;
	box-sizing: border-box;
	font-size: 12.5px;
	line-height: 22px;
}
#detailContent .details-tab {
	display: none;
}
#detailContent .details-tab.active {
	display: block;
}
#details p+p {
	padding-top: 1em;
}
#detailContent #jobs-details ul {
	list-style-type: none;
}
#detailContent>p {
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
#details h2 {
	font-size: 21px;
	line-height: 25px;
	padding-bottom: 0.75em;
}
#details h3 {
	font-weight: 800;
	font-size: inherit;
	line-height: inherit;
	padding-top: 1.9em;
	padding-bottom: 0.1em;
}
#details a:hover {
	color:#B44D5D;
}

/*
 * Intro Overlay
 */
#intro-overlay {
	position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255,255,255,0.7);
	z-index:50;
	color:#777777;
	display: none;
}
#intro-overlay.visible {
	display: block;
}
#intro-overlay .intro-content {
	margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
	min-height:100%;
	max-width:840px;
	box-sizing: border-box;
	padding:4vw;
}
#intro-overlay .intro-title {
	font-size: 30px;
	line-height: 1.15;
	font-weight: normal;
	margin-bottom: 0.2em;
}
#intro-overlay .intro-text {
	font-size: 16px;
	line-height: 1.225;
}
#intro-overlay #enter-btn {
	appearance: none;
	display: block;
	width: 10.5em;
	line-height: 1em;
	margin:2em auto 11vh auto;
	font-size: 12.5px;
	line-height: 2.15;
	border: none;
	background-color: #777777;
	color:#FFFFFF;
	border-radius: 3px;
	cursor: pointer;
}
#intro-overlay #enter-btn:focus, #intro-overlay #enter-btn:active {
	outline: none;
	box-shadow: none;
}
@media (min-width: 1200px) {
	body {
		font-size: unset;
	}
	#detailContent {
		padding: 4vw;
	}
	#detailNav {
		padding: 4vw;
	}
	#intro-overlay .intro-content {
		padding:2vw;
	}
}
@media (min-width: 640px) and (max-width : 799px) {
	/*
	 * Site Header, 640-799
	 */
	#site-header {
		padding: 20px 3vw;
		flex-wrap: nowrap;
 	}
	#site-header #job-search {
    	margin-right:auto;
		width: 190px;
	}
	#site-header .legend {
		width:auto;
		margin-left:auto;
		padding-top:0;
		margin-top:13px;
		border:none;
	}
	#site-header .legend ul {
		padding:0;
	}
	#site-header .legend li {
		padding:0 0 0 25px;
		display: block;
	}
	#site-header .legend li:first-child {
		padding-left:0;
	}
	#site-header .legend-image {
		display: block;
		text-align: left;
		height:25px;
		margin: 0 auto -6px 0;
	}
	#site-header .legend-image svg {
		display: block;
	}
	#site-header .legend-image .legend-icon {
		 transform: translateY(1px);
	 }
	#site-header .legend-label {
    	padding-left: 0;
	}
	#site-header .legend #legend-header {
		display: none;
	}
	#site-header .legend ul, #site-header .legend #legend-header.active+ul {
		 display: flex;
	}
	#site-header .reset-widget {
		padding: 20px 20px 0 20px;
	}

	/*
	 * Visualization, 640-799
	 */
	#viz {
		 margin-top:-5.4vw;
	 }
	#viz .mobile-stufe .frame {
		width:488px;
	}
	#viz .mobile-stufe .label-bg {
		transform: translate(-23px, 5px);
    }
	#viz .mobile-stufe text {
		transform: translate(-31px, -5.5px);
	}
	#viz .mobile-stufe#mobile-stufe-teritaer {
		 transform: translate(56px, -25px);
	}
	#viz .mobile-stufe#mobile-stufe-teritaer .frame {
		 height: 375px;
	}
	#viz .mobile-stufe#mobile-stufe-sekundar-2 {
		 transform: translate(56px, 440px);
	}
	#viz .mobile-stufe#mobile-stufe-sekundar-2 .frame {
		height: 260px;
   	}
	#viz .mobile-stufe#mobile-stufe-sekundar-1 {
		transform: translate(56px, 730px);
	}
	#viz .mobile-stufe#mobile-stufe-sekundar-1 .frame {
		height: 105px;
   	}
	#viz rect.text-underlay-mobile {
		height:20px;
	}
	#viz rect.text-underlay-mobile.text-height-2 {
		height:30px;
	}
	#viz rect.text-underlay-mobile.text-height-3 {
		height:41px;
	}
	#viz rect.text-underlay-mobile.stacked {
		height:20px;
	}
	#viz rect.text-underlay-mobile.no-form {
		 transform: translateX(4px);
	 }
	#viz rect.text-underlay-mobile.tiny {
		width: 50px;
    	transform: translate(0, 0);
	}
}
@media (min-width: 640px) {
	main {
    	padding-bottom: 0;
		margin-bottom: 0;
	}

	/*
	 * Site Header, 640+
	 */
	#site-header #job-search {
		font-size: inherit;
	}
	#site-header .legend-image svg.legend-icon {
		width:19px;
		height:19px;
		transform: none;
	}

	#site-header .reset-widget {
		display: block;
	}

	/*
	 * Visualization, 640+
	 */
	svg#viz {
		font-size: 8px;
	}
	#viz>#lines .dst:not(.dash) {
		stroke-width: 6.4;
	}
	#viz>g#lines {
		transform: translateY(-20px);
	}
	#viz g.symbol-group use {
		transform: scale(0.20) translate(-250px,-580px);
	}
	#viz g g.symbol-group:hover use, #viz g.active g.symbol-group use {
		transform: scale(0.24) translate(-250px,-580px);
	}
	#viz g.sekundarstufe2 g.symbol-group use {
		transform: scale(0.20) translate(-250px,-610px);
	}
	#viz g.sekundarstufe2 g.symbol-group:hover use, #viz g.sekundarstufe2.active g.symbol-group use {
		transform: scale(0.24) translate(-250px,-610px);
	}
	#viz g g.symbol-group use.mini {
		transform: scale(0.072) translate(-250px,-650px);
	}
	#viz g g.symbol-group:hover use.mini, #viz g.active g.symbol-group use.mini {
		transform: scale(0.0864) translate(-250px,-650px);
	}

	/*
	 * Details, 640+
	 */
	#details {
		top:10px;
		left:10px;
		right:10px;
		transform: translate(30%, 75%);
	}
	#detailNav {
    	padding: 42px 58px;
	}
	#detailNav .display-indicator {
		background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd' stroke-linecap='square' stroke='%23555'%3E%3Cpath d='M.5.5l19 19M.5.5h12M.5.5v12'/%3E%3C/g%3E%3C/svg%3E");
		margin-right:22px;
	}
	#detailContent {
		padding:114px 58px 58px 58px;
		font-size: 16px;
		line-height: 26px;
	}
	#detailContent h2 {
		font-size: 31.5px;
		line-height: 36px;
		padding-bottom:1em;
	}

	/*
	 * Intro Overlay
	 */
	#intro-overlay .intro-content {
		padding:3vw;
	}
	#intro-overlay .intro-title {
		font-size: 60px;
	}
	#intro-overlay .intro-text {
		font-size: 28px;
	}
	#intro-overlay #enter-btn {
		font-size: 18px;
	}
}
@media (min-width: 800px) {
	/*
	 * Site Header, 800+
	 */
	 #site-header {
 		position: absolute;
 		left:0;
 		right: 0;
 		top: 0;
		width: 13.5vw;
    	min-width: 180px;
		max-width: 220px;
 		left:auto;
 		display:block;
		padding: 30px 2vw;
 	}
 	#site-header a>img#logo {
 		width:100%;
 		margin-bottom: 25px;
 	}
	#site-header #job-search {
    	margin-top: 0;
	}
	#site-header .legend {
 		margin-top:12px;
 		padding:4px 0 2px 0;
 	}
 	#site-header .legend #legend-header:before {
 		display: none;
 	}
 	#site-header .legend ul, #site-header .legend #legend-header.active+ul {
 		 display: block;
 	}
	#site-header .legend li {
		padding-left: 5px;
	}
	#site-header .legend #legend-header {
		padding: 4px 0 7px 0;
	}
	#site-header .legend ul {
		padding: 0 0 2px 0;
	}
	#site-header .reset-widget {
		padding: 11px 0;
	}
	#site-header #reset-btn span {
		display:inline;
	}
 	/*
	 * Visualization, 800+
	 */
	#viz #iso, #viz g:not(.mobile-stufe)>text:not(.short) {
		display: unset;
	}

	svg#viz {
		font-size: 14px;
		position: fixed;
		left: 0;
		top: 0;
		height: 100%;
		padding-top: 0;
	}
	#viz>g#lines {
		transform: translateY(0);
	}
	#viz g.symbol-group use, #viz g.sekundarstufe2 g.symbol-group use {
		transform: scale(0.11) translate(-550px,-660px);
	}
	#viz g g.symbol-group:hover use, #viz g.active g.symbol-group use, #viz g.sekundarstufe2 g.symbol-group:hover use, #viz g.sekundarstufe2.active g.symbol-group use {
		transform: scale(0.14) translate(-550px,-660px);
	}
	#viz g g.symbol-group use.mini {
		transform: scale(0.09) translate(-450px,-650px);
	}
	#viz g g.symbol-group:hover use.mini, #viz g.active g.symbol-group use.mini {
		transform: scale(0.108) translate(-450px,-650px);
	}
	#viz g.stationen g.symbol-group use {
		transform: scale(0.13) translate(-570px,-580px);
	}
	#viz g.stationen g.symbol-group:hover use, #viz g.stationen.active g.symbol-group use {
		transform: scale(0.165) translate(-570px,-580px);
	}
	#viz g>text.short {
		display: none;
	}
	#mobile-stufen {
		display:none;
	}
	#viz .active rect.text-underlay-mobile, #viz .src rect.text-underlay-mobile, #viz .related rect.text-underlay-mobile {
		display:none;
	}
	#viz .active rect.text-underlay-mobile.no-form, #viz .src rect.text-underlay-mobile.no-form {
		display: block;
		transform: translate(-35px, -10px);
    	width: 120px;
	}

	/*
	 * Details, 800+
	 */
	#details {
		top:30px;
		left:auto;
		right:0;
		bottom:0;
		transform: translate(40%, 75%);
	}
	#detailContent {
		position: relative;
		width: 750px;
	}
	#detailNav {
		width: 750px;
	}

	#details h2 {
		font-weight: 100;
		font-size: 2em;
	}

	#details>#close {
		cursor: pointer;
		position: absolute;
		background: none;
		border: none;
		right: 0;
		top: 0;
		padding: 1em;
		margin: 4vw;
		transition: transform 0.5s ease 0.1s;
	}

	#close:after, #close:before {
		content: "";
		width: 100%;
		height: 1px;
		background: currentColor;
		position: absolute;
		left: 0;
	}
	#details>#close:hover {
		transform: scale(0.7) rotate(180deg);
	}
	#details>#close:after {
		transform: rotate(45deg);
	}
	#details>#close:before {
		transform: rotate(-45deg);
	}

	/*
	 * Intro Overlay
	 */
	#intro-overlay .intro-content {
		padding:30px;
	}
}
@media (min-width: 1200px) {
	#details {
		transform: translate(25%, 75%);
	}
}
