/* ====
// VARS
// ==== */

:root {
	--color-darkblue: #1e325a;
	/* rgb: 30, 50, 90 */
	--color-darkblue-50: rgba(30, 50, 90, 0.5);
	--color-cyan: #00ffff;
	--color-white: #ffffff;
	--color-gray: #dddddd;

	--color-background: var(--color-darkblue);
	--color-highlight: var(--color-cyan);
	--color-default: var(--color-white);
	--color-input: var(--color-background);
	--color-input-placeholder: var(--color-darkblue-50);
}



/* reset
----------------------------------------------- */
* {
	margin: 0;
	padding: 0;
}

td,
th {
	text-align: left;
	vertical-align: top;
}

input[type="text"],
input[type="password"],
input[type="file"],
textarea {
	-moz-box-sizing: content-box;
	resize: none;
}

input[type="hidden"] {
	display: none !important;
}

img {
	border: 0px;
}



/* links
----------------------------------------------- */
a.nn {
	text-decoration: none;
}

a.nn:hover {
	text-decoration: none;
}

a.ny {
	text-decoration: none;
}

a.ny:hover {
	text-decoration: underline;
}

a.yn {
	text-decoration: underline;
}

a.yn:hover {
	text-decoration: none;
}

a.yy {
	text-decoration: underline;
}

a.yy:hover {
	text-decoration: underline;
}



/* font
----------------------------------------------- */
@font-face {
	font-family: 'My_WebFont';
	src: url('../dummy/fonts/My_WebFont.eot');
	src: url('../dummy/fonts/My_WebFont.eot?#iefix') format('embedded-opentype'),
		url('../dummy/fonts/My_WebFont.woff') format('woff'),
		url('../dummy/fonts/My_WebFont.ttf') format('truetype'),
		url('../dummy/fonts/My_WebFont.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}




/* black */
.fg_000000 {
	color: var(--color-default);
}

.bg_000000 {
	background-color: var(--color-default);
}

/* white */
.fg_ffffff {
	color: var(--color-default);
}

.bg_ffffff {
	background-color: var(--color-default);
}

/* red */
.fg_b80000 {
	color: var(--color-highlight);
}

.bg_b80000 {
	background-color: var(--color-highlight);
}

/*
Background:	#ffffff (white)
Content:	#1e1e1e (light black)
Header h1:	#9caa3b (green)
Header h2:	#ee4117 (red)
Footer:		#b5cede (dark black)

a (standard):	#0040b6 (dark blue)
a (visited):	#5999de (light blue)
a (active):	#cc0000 (pink)
*/



/*
Body copy:		1.2em/1.6em Verdana, Helvetica, Arial, Geneva, sans-serif;
Headers:		2.7em/1.3em Helvetica, Arial, "Lucida Sans Unicode", Verdana, sans-serif;
Input, textarea:	1.1em Helvetica, Verdana, Geneva, Arial, sans-serif;
Sidebar heading:	1.5em Helvetica, Trebuchet MS, Arial, sans-serif;

Notes:	decreasing heading by 0.4em with every subsequent heading level
*/


/* common
----------------------------------------------- */
html {
	overflow-y: scroll;
}

body,
div,
p,
td,
th,
h1,
h2,
h3,
h4,
li,
a,
span,
input,
textarea,
select,
option,
legend,
label {
	font-family: Radikal, Arial, Helvetica, sans-serif;
	font-size: 30px;
	line-height: 34px;
	color: var(--color-default);
}

input,
textarea,
select,
option {
	color: var(--color-input);
}

a {
	text-decoration: none;
	outline: none;
}

a:hover {
	text-decoration: underline;
}

.clearafter:after {
	display: block;
	content: '.';
	visibility: hidden;
	height: 0;
	line-height: 0;
	clear: both;
	margin: 0;
}

.mobileContentHint {
	display: none;
}



/* page layout
----------------------------------------------- */
body {
	background-color: var(--color-background);
}

div.page-content {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
	padding: 188px 30px 0px 30px;
}

div.page-content div.box-container {
	position: relative;
	margin-bottom: 70px;
}

div.page-content div.box {
	position: relative;
	z-index: 10;
	background-color: var(--color-background);
	padding: 10px 100px 40px 100px;
}

div.page-content div.box-arrow {
	/*
	position: absolute;
	z-index: 5;
	bottom: -52px;
	left: 100px;
	width: 140px;
	height: 52px;
	background: transparent url(../img/box-arrow.png) 0px 0px no-repeat;
    */
	display: none;
}



/* header
----------------------------------------------- */
div.page-header {}

div.page-header img {
	display: block;
	width: 100%;
	height: auto;
}


/* main navigation
----------------------------------------------- */



/* footer
----------------------------------------------- */



/* content
----------------------------------------------- */

div.box-2 {
	display: none;
}

div.box-3 {
	display: none;
}

div.box-4 {
	display: none;
}

div.progress-2 div.box-2 {
	display: block;
}

div.progress-2 div.box-3 {
	display: none;
}

div.progress-3 div.box-2 {
	display: block;
}

div.progress-3 div.box-3 {
	display: block;
}

div.progress-3 div.box-4 {
	display: none;
}




div.box>* {
	max-width: 600px;
}

div.box .narrow {
	display: block;
	max-width: 450px;
}

div.box .wide {
	display: block;
	max-width: 800px;
}

div.box div.section {
	padding-bottom: 40px;
}

div.box h2 {
	font-size: 70px;
	line-height: 76px;
	font-weight: bold;
	max-width: 677px;
	padding-bottom: 100px;
	margin-left: -80px;
}

div.box h3 {
	font-weight: bold;
	padding-bottom: 20px;
}

div.box strong.highlight {
	padding-bottom: 4px;
}

div.box ul {
	margin-left: -77px;
	list-style-type: none;
}

div.box ul li {
	padding-left: 77px;
	background: transparent url(../img/dots-white.png) 0px 19px no-repeat;
}

div.box div.button-container {
	padding: 40px 0px 80px 0px;
}

div.box div.button-container a.button {
	display: inline-block;
	padding: 10px 17px 6px 17px;
	background-color: var(--color-highlight);
	color: var(--color-background);
	text-decoration: none;
}

div.box div.button-container a.button.black {
	background-color: var(--color-default);
	color: var(--color-background);
}

div.box div.button-container a.button.disabled {
	background-color: var(--color-default);
	color: var(--color-background);
	opacity: 0.5;
}

div.box div.checkbox-container div.item {
	position: relative;
	min-height: 50px;
	padding-bottom: 18px;
}

div.box div.checkbox-container div.item div.checkbox,
div.box div.checkbox-container div.item div.textbox {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 70px;
	height: 50px;
	background-color: var(--color-white);
}

div.box div.checkbox-container div.item div.checkbox {
	cursor: pointer;
}

div.box div.checkbox-container div.item div.checkbox.checked {
	background-color: var(--color-highlight);
	background: var(--color-highlight) url(../img/checked.png) 17px 9px no-repeat;
}

div.box div.checkbox-container div.item div.checkbox.disabled {
	cursor: default;
	background-color: #d3d3d3;
}


div.box div.checkbox-container div.item div.textbox input {
	width: 70px;
	height: 50px;
	border: none;
	text-align: center;
	background: transparent url(../img/dots-input-blue.png) 20px 34px no-repeat;
}

div.box div.checkbox-container div.item label {
	display: inline-block;
	padding: 9px 0px 7px 81px;
}

div.box div.checkbox-container.horizontal:after {
	display: block;
	content: '.';
	visibility: hidden;
	height: 0;
	line-height: 0;
	clear: both;
	margin: 0;
}

div.box div.checkbox-container.horizontal div.item {
	width: 180px;
	float: left;
}

div.box div.sponsorship-count span {
	font-weight: bold;
}

div.box div.sponsorship-value span {
	font-weight: bold;
}

div.box div.sponsorship-tax {
	padding-top: 4px;
}

div.box div.sponsorship-tax span {
	font-weight: normal;
}


div.formular-container {
	width: 700px;
}

div.formular-container div {
	display: inline-block;
	padding: 10px 10px 6px 10px;
	background-color: var(--color-white);
}

div.formular-container input {
	border: none;
	height: 34px;
	display: block;
	width: 100%;
}

div.formular-container input.inactive {
	color: var(--color-input-placeholder);
}

div.formular-container .username-label {
	display: inline-block;
	padding: 9px 17px 7px 81px;
}

div.formular-container .password-label {
	display: inline-block;
	padding: 9px 17px 7px 81px;
}

div.formular-container div.vorname {
	width: 326px;
	margin-right: 8px;
}

div.formular-container div.nachname {
	width: 326px;
}

div.formular-container div.strasse {
	width: 533px;
	margin-right: 8px;
}

div.formular-container div.hausnummer {
	width: 119px;
}

div.formular-container div.plz {
	width: 119px;
	margin-right: 8px;
}

div.formular-container div.stadt {
	width: 533px;
}

div.formular-container div.land {
	width: 326px;
}

div.formular-container div.email {
	width: 680px;
}

div.formular-container div.username {
	width: 326px;
	margin-right: 8px;
}

div.formular-container div.password {
	width: 326px;
	margin-right: 8px;
}

div.formular-container div.searchtext {
	width: 326px;
	margin-right: 8px;
}

div.formular-container div.paymentTimestamp {
	width: 326px;
	margin-right: 8px;
}

.small-text {
	font-size: 22px;
	line-height: 26px;
}


div.link-impressum {
	position: relative;
	padding: 10px 100px 20px 100px;
	margin-bottom: 70px;
	text-align: center;
}

div.link-impressum a {
	padding: 0 10px;
}

div.box-impressum {
	display: none;
}

div.link-datenschutz {
	position: relative;
	padding: 10px 100px 20px 100px;
	margin-bottom: 70px;
	text-align: center;
}

div.box-datenschutz {
	display: none;
}

div.box-datenschutz a {
	text-decoration: underline;
}

div.box-datenschutz a:hover {
	text-decoration: none;
}

div.box-datenschutz div.toggle-content div.content {
	display: none;
	padding-bottom: 40px;
}

div.box-datenschutz ul {
	margin-left: 0;
}

div.box-datenschutz ul li {
	padding-bottom: 20px;
}

div.box-datenschutz ul li p {
	padding-top: 10px;
}



/*! website-link
----------------------------------------------- */
div.website-link {
	position: absolute;
	left: 30px;
	top: 17px;
}



/*! logo
----------------------------------------------- */
div.achse-logo {
	position: absolute;
	left: 55px;
	top: 104px;
	width: 63px;
	height: 69px;
	background: url(../img/logo.png) left top no-repeat;
	background-size: contain;
}



/*! social media
----------------------------------------------- */
div.social-media {
	position: absolute;
	right: 30px;
	top: 19px;
}

div.social-media span {
	float: left;
}

div.social-media span.empfehlen {
	position: relative;
	top: 4px;
}

/*
div.social-media a.facebook {
	display: block;
	width: 31px;
	height: 31px;
	background: transparent url(../img/icon-facebook.png) scroll 0px 0px no-repeat;
	margin-left: 10px;
}
*/

/*
div.social-media a.twitter {
	display: block;
	width: 31px;
	height: 31px;
	background: transparent url(../img/icon-twitter.png) scroll 0px 0px no-repeat;
	margin-left: 7px;
}
*/



/* scroll to content
----------------------------------------------- */
/*
div.scrollToContent {
	position: absolute;
	left: 50%;
	top: 40px;
	width: 200px;
	margin-left: -100px;
}

div.scrollToContent a {
	display: inline-block;
	background: transparent url(../img/scroll-to-content.png) scroll center 0px no-repeat;
	width: 200px;
	padding-top: 70px;
	text-align: center;
	text-decoration: underline;
	outline: none;
}

div.scrollToContent a:hover {
	text-decoration: none;
}
*/



/* Admin Bereich
----------------------------------------------- */

div.page-content div.box.login-box a {
	display: inline-block;
	padding: 10px 17px 6px 17px;
	background-color: var(--color-highlight);
	color: var(--color-background);
	text-decoration: none;
	margin-right: 8px;
}


div.page-content div.box.admin-box>* {
	max-width: none;
}

div.page-content.admin {
	padding: 50px;
}

div.page-content div.box.admin-box {
	padding: 20px;
	position: relative;
}

div.page-content div.box.admin-box div.admin-section div.section a {
	text-decoration: none;
}

div.page-content div.box.admin-box div.admin-section {
	margin-bottom: 100px;
}

div.page-content div.box.admin-box div.admin-section a {
	text-decoration: underline;
}

div.page-content div.box.admin-box div.admin-section p {
	font-size: 16px;
}

div.page-content div.box.admin-box div.admin-section .upload {
	font-size: 16px;
}

div.page-content div.box.admin-box div.admin-section .file-upload {
	font-size: 16px;
}

div.page-content div.box.admin-box div.admin-section .error-message {
	font-size: 16px;
	padding-bottom: 0;
}

div.page-content div.box.admin-box div.admin-section div.pate-search-marker {
	margin-top: 20px;
}

div.page-content div.box.admin-box a.admin-logout {
	font-size: 14px;
	position: absolute;
	top: 10px;
	right: 20px;
}

div.page-content div.admin-box h2 {
	padding-bottom: 0;
	margin-left: 0;
}

div.page-content div.admin-box h3 {
	font-size: 40px;
}

div.page-content div.admin-box div.formular-container {
	position: relative;
}

div.page-content div.admin-box div.formular-container a.button {
	background-color: var(--color-highlight);
	color: var(--color-background);
	display: inline-block;
	padding: 10px 17px 6px;
	text-decoration: none;
	position: absolute;
	bottom: 7px;
	left: 360px;
}

div.page-content div.box.admin-box div.section div.button-container {
	position: absolute;

}

/* Table Rückmeldungen
----------------------------------------------- */

div.page-content div.box.admin-box div.admin-section .feedback table {
	width: 100%;
}

div.page-content div.box.admin-box div.admin-section .feedback tr td {
	font-size: 16px;
}

div.page-content div.box.admin-box div.admin-section .feedback td a {
	font-size: 16px;
}

div.page-content div.box.admin-box div.admin-section .feedback td {
	text-align: left;
	border-style: none;
	font-weight: normal;
}

/* Table Paten Export
----------------------------------------------- */

div.page-content div.box.admin-box div.admin-section .export table {
	width: 100%;
}

div.page-content div.box.admin-box div.admin-section .export tr td {
	font-size: 16px;
}

div.page-content div.box.admin-box div.admin-section .export td a {
	font-size: 16px;
}

div.page-content div.box.admin-box div.admin-section .export td {
	text-align: left;
	border-style: none;
	font-weight: normal;
}

/* Table Pate
----------------------------------------------- */

div.page-content div.box.admin-box div.admin-section div.pate-search-marker h4 {
	font-size: 16px;
	margin-bottom: 10px;
}

div.page-content div.box.admin-box div.admin-section div.pate-search-marker .pate {
	width: 100%;
}

div.page-content div.box.admin-box div.admin-section div.pate-search-marker .pate table {
	width: 100%;
}

div.page-content div.box.admin-box div.admin-section .pate th {
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	border-style: none none solid solid;
	padding: 10px;
}

div.page-content div.box.admin-box div.admin-section .pate td {
	font-size: 13px;
	text-align: left;
	border-style: none none solid solid;
	font-weight: normal;
	padding: 10px;
}

div.page-content div.box.admin-box div.admin-section .pate th.first {
	border-style: none none solid none;
}

div.page-content div.box.admin-box div.admin-section .pate td.first {
	border-style: none none solid none;
	width: 200px;
}

div.page-content div.box.admin-box div.admin-section .pate tr.last td {
	border-style: none none none solid;
}

div.page-content div.box.admin-box div.admin-section .pate tr.last td.first {
	border-style: none none none none;
}

div.page-content div.box.admin-box div.admin-section .pate tr td .my-marker-class {
	font-size: 13px;
}

div.export>.form-item label,
input {
	font-size: 16px;
}

div.export>.form-item select,
option {
	line-height: 16px;
	font-size: 16px;
	height: 20px;
	width: 150px;
}

/* error message
----------------------------------------------- */
div.error-message,
div.error-message strong {
	max-width: 100%;
}



/* ie 7 clearing
----------------------------------------------- */
.clearForIE {
	display: none;
}

html.ie7 .clearForIE {
	display: block;
	visibility: hidden;
	height: 1px;
	line-height: 1px;
	font-size: 1px;
	clear: both;
	margin: 0;
	padding: 0;
}




/* responsive
----------------------------------------------- */
@media screen and (max-width: 900px) {

	div.formular-container {
		width: auto;
	}

	body,
	div,
	p,
	td,
	th,
	h1,
	h2,
	h3,
	h4,
	li,
	a,
	span,
	input,
	textarea,
	select,
	option,
	legend,
	label {
		font-size: 24px;
		line-height: 27px;
	}

	div.page-content div.box-container {
		margin-bottom: 56px;
	}

	div.page-content div.box {
		padding: 18px 80px 32px 80px;
	}

	div.page-content div.box-arrow {
		/*
		background-position: 0px -10px;
		height: 42px;
		bottom: -42px;
		left: 70px;
        */
		display: none;
	}

	div.link-impressum {
		padding: 8px 80px 12px 80px;
		margin-bottom: 32px;
	}

	div.link-datenschutz {
		padding: 8px 80px 12px 80px;
		margin-bottom: 32px;
	}

	div.box ul {
		margin-left: -62px;
		list-style-type: none;
	}

	div.box ul li {
		padding-left: 62px;
		background: transparent url(../img/dots-white.png) 7px 14px no-repeat;
	}

	div.box div.section {
		padding-bottom: 30px;
	}

	div.box div.button-container {
		padding: 30px 0px 40px 0px;
	}

	div.box h2 {
		font-size: 56px;
		line-height: 60px;
		font-weight: bold;
		padding-bottom: 80px;
		margin-left: -54px;
	}

	div.box div.checkbox-container div.item {
		padding-bottom: 15px;
		min-height: 40px;
	}

	div.box div.checkbox-container div.item div.checkbox,
	div.box div.checkbox-container div.item div.textbox {
		height: 40px;
		width: 56px;
	}

	div.box div.checkbox-container div.item div.checkbox.checked {
		background-position: 14px 7px;
		background-image: url(../img/checked-small.png);
	}

	div.box div.checkbox-container div.item div.textbox input {
		width: 56px;
		height: 40px;
		background-position: 14px 29px;
	}

	div.formular-container input {
		height: 27px;
	}

	div.formular-container div.vorname {
		width: 100%;
		margin-right: 0px;
	}

	div.formular-container div.nachname {
		width: 100%;
	}

	div.formular-container div.strasse {
		width: 100%;
		margin-right: 0px;
	}

	div.formular-container div.hausnummer {
		width: 100%;
	}

	div.formular-container div.plz {
		width: 100%;
		margin-right: 0px;
		;
	}

	div.formular-container div.stadt {
		width: 100%;
	}

	div.formular-container div.land {
		width: 100%;
	}

	div.formular-container div.email {
		width: 100%;
	}

	div.formular-container div.username {
		width: 100%;
	}

	div.formular-container div.password {
		width: 100%;
	}

	div.formular-container div.searchtext {
		width: 100%;
	}

	div.formular-container div.paymentTimestamp {
		width: 100%;
	}

	.small-text {
		font-size: 18px;
		line-height: 21px;
	}

	div.website-link {
		top: 18px;
	}

}



@media screen and (max-width: 600px) {

	div.formular-container {
		width: auto;
	}

	body,
	div,
	p,
	td,
	th,
	h1,
	h2,
	h3,
	h4,
	li,
	a,
	span,
	input,
	textarea,
	select,
	option,
	legend,
	label {
		font-size: 18px;
		line-height: 22px;
	}

	div.page-content div.box-container {
		margin-bottom: 35px;
	}

	div.page-content div.box {
		padding: 15px 50px 20px 50px;
	}


	div.page-content div.box-arrow {
		/*
		background-position: 0px -30px;
		height: 22px;
		bottom: -22px;
		left: 50px;
        */
		display: none;
	}

	div.link-impressum {
		padding: 8px 80px 12px 80px;
		margin-bottom: 20px;
	}


	div.box ul {
		margin-left: -46px;
		list-style-type: none;
	}

	div.box ul li {
		padding-left: 46px;
		background: transparent url(../img/dots-small-white.png) 15px 12px no-repeat;
	}

	div.box div.section {
		padding-bottom: 20px;
	}

	div.box div.button-container {
		padding: 15px 0px 20px 0px;
	}

	div.box h2 {
		font-size: 35px;
		line-height: 37px;
		font-weight: bold;
		padding-bottom: 50px;
		margin-left: -30px;
	}

	div.box div.checkbox-container div.item {
		padding-bottom: 10px;
		min-height: 37px;
	}

	div.box div.checkbox-container div.item div.checkbox,
	div.box div.checkbox-container div.item div.textbox {
		width: 40px;
		height: 37px;
	}

	div.box div.checkbox-container div.item div.checkbox.checked {
		background-position: 9px 9px;
		background-image: url(../img/checked-smaller.png);
	}

	div.box div.checkbox-container div.item div.textbox input {
		width: 40px;
		height: 37px;
		background-position: 5px 27px;
	}

	div.box div.checkbox-container div.item label {
		display: inline-block;
		padding: 9px 0 7px 55px;
	}

	div.formular-container input {
		height: 18px;
	}

	div.formular-container div.vorname {
		width: 100%;
		margin-right: 0px;
	}

	div.formular-container div.nachname {
		width: 100%;
	}

	div.formular-container div.strasse {
		width: 100%;
		margin-right: 0px;
	}

	div.formular-container div.hausnummer {
		width: 100%;
	}

	div.formular-container div.plz {
		width: 100%;
		margin-right: 0px;
		;
	}

	div.formular-container div.stadt {
		width: 100%;
	}

	div.formular-container div.land {
		width: 100%;
	}

	div.formular-container div.email {
		width: 100%;
	}

	div.formular-container div.username {
		width: 100%;
	}

	div.formular-container div.password {
		width: 100%;
	}

	div.formular-container div.searchtext {
		width: 100%;
	}

	div.formular-container div.paymentTimestamp {
		width: 100%;
	}

	.small-text {
		font-size: 16px;
		line-height: 20px;
	}

	div.website-link {
		top: 21px;
	}

	div.social-media span.empfehlen {
		display: none;
	}

	div.scrollToContent {
		top: 60px;
	}

	.smartphone-extrasmall {
		font-size: 13px;
		line-height: 17px;
	}

}






/* safari
----------------------------------------------- */
/* @media screen and (-webkit-min-device-pixel-ratio:0) {*/

div.formular-container div {
	padding-top: 6px;
	padding-top: 8px;
	margin-bottom: 12px;
}

/*}*/



/* print
----------------------------------------------- */
@media print {

	@page {}

	blockquote,
	pre {
		page-break-inside: avoid;
	}

}